이번 스터디에서는 인공신경망의 핵심 요소 중 하나인 활성화 함수(Activation Function) 와 최적화 함수 에 대해 다뤄보고자 한다. 두 개념 모두 딥러닝을 이해하기 위해 반드시 알아야 하는 내용이므로, 이번 포스트에서는 먼저 활성화 함수에 대해 깊이 있게 파헤쳐 보고, 이어지는 다음 포스트에서 최적화 함수를 다룰 예정이다.
활성화 함수가 무엇인지 이해하기 위해 먼저 '활성화(Activation)' 라는 단어의 의미를 생각해 볼 필요가 있다. 활성화란 입력에 대하여 출력을 내보낼 때, 어떠한 조건이나 기준에 따라 그 값을 결정하는 것을 의미한다.
즉, 활성화 함수는 입력층에서 들어온 가중치()와 편향()의 연산 결과에 적용되어, 출력값을 결정하는 함수이다.
활성화 함수의 정의를 알고 나면 이런 의문이 들 수 있다. "입력에 대한 출력값을 바꾸는 것이 뭐가 좋을까?"
가장 핵심적인 이유는 바로 모델의 표현력을 획기적으로 향상시켜 주기 때문이다.
이를 이해하기 위해 아래의 예시를 보자.
이 모델은 , 이라는 2개의 파라미터로 이루어진 형태인데, 이 모델로 , , 등으로 표현되는 복잡한 곡선 데이터를 학습할 수 있을까?
절대 불가능하다. , 값을 아무리 바꿔보아도, 결국은 직선형태인 로는 곡선(비선형) 형태를 표현할 수 없기 때문이다.
따라서 딥러닝 모델이 현실 세계의 복잡한 비선형 데이터를 이해하고 표현하려면, 모델 내부에 반드시 비선형성이 존재해야 하며, 층과 층 사이에 활성화 함수를 넣어줌으로써 모델이 복잡한 패턴도 학습할 수 있게 되는 것이다.
활성화 함수에는 그 표현 방식에 따라 크게 이진 계단 함수, 선형 활성화 함수, 그리고 현대 딥러닝의 핵심인 비선형 활성화 함수로 나눌 수 있다.
이진 계단 함수 (Binary Step Function)
들어온 입력이 특정 임계점을 넘으면 1을 출력하고, 그렇지 않으면 0을 출력한다. 구조가 직관적이어서 아주 간단한 이진 분류 문제에 유용하게 쓰였다.
선형 활성화 함수 (Linear Activation Function)
말 그대로 '선형' 형태의 함수이다. 이진 계단 함수와 달리 다중 출력이 가능하고 미분도 가능하여 역전파를 쓸 수 있습니다.
비선형 활성화 함수 (Non-linear Activation Function)
이전 함수들의 문제점을 모두 극복한 딥러닝의 꽃이다. 역전파 알고리즘을 원활하게 사용할 수 있고, 은닉층을 깊게 쌓을수록 비선형적이고 복잡한 패턴의 데이터를 아주 정교하게 예측할 수 있다.
출력값을 0과 1 사이로 변환하는 S자 형태의 함수이다. 결과를 확률로 해석하기 좋아서 이진 분류 문제의 출력층에서 주로 사용된다.
⚠️ 주의: 층이 깊어질수록 값이 0에 수렴하여 학습이 멈춰버리는 '기울기 소실(Vanishing Gradient)' 문제를 일으킬 수 있어 은닉층에서는 사용을 지양한다.
기울기 소실 : 역전파 과정에서 입력층으로 진행할수록 기울기가 0으로 수렴하는 현상
결국 초기 층은 거의 학습이 안 되며 학습이 매우 느려지고 성능이 안 좋아진다.

출력값을 -1과 1 사이로 변환하는 함수이다. 시그모이드 함수와 비슷하지만, 신호의 중심을 0으로 맞추기 때문에 시그모이드보다 학습의 수렴 속도가 훨씬 빠르다. 이 함수는 입력 신호의 양과 음을 모두 효과적으로 표현할 수 있어 주로 순환 신경망(RNN) 의 은닉층에서 사용된다.
📌 렐루 함수 (ReLU)
입력값이 0보다 작으면 0을 출력하고, 0보다 크면 입력값을 그대로 출력하는 함수이다. 신경망의 연산 속도를 획기적으로 향상시키고 시그모이드의 '기울기 소실' 문제를 해결하여 현재 대부분의 심층 신경망(DNN) 은닉층에서 표준으로 사용된다.

📌 소프트맥스 함수 (Softmax)
다중 클래스 분류 문제의 출력층에서 단골로 사용되는 활성화 함수이다. 입력값들의 지수 함수를 계산한 후, 각 출력값을 전체 출력값의 합으로 나누어 줍니다. 결과적으로 모든 출력값의 합이 1(100%)이 되는 확률 분포를 생성하여, 모델이 예측한 정답이 어떤 클래스에 속할 확률이 가장 높은지 명확하게 보여준다.

| 활성화 함수 | 사용 위치 | 용도 | 특징 |
|---|---|---|---|
| Sigmoid | 출력층 | 이진분류 | 값을 0~1 사이의 확률로 변환 |
| Tanh | 은닉층 | 자연어처리,RNN모델 등 | -1과 1 사이로 변환하며 Sigmoid보다 학습 수렴 속도 빠름 |
| ReLU | 은닉층 | 표준 활성화 함수 | 계산이 매우 빠르고 기울기 소실 문제를 해결 |
| Softmax | 출력층 | 다중 클래스 분류 | 여러 선택지에 대한 예측값을 총합이 1(100%)인 확률로 변환 |