Activation Functions (활성화 함수)
1. 개요
신경망의 뉴런이 입력값을 받아 계산한 뒤, 다음 뉴런으로 보낼 값을 결정하는 함수다.
핵심 역할: 비선형성(Non-linearity)
활성화 함수가 없다면 아무리 깊은 신경망(Deep Network)을 쌓아도 결국 **하나의 거대한 선형 함수(Linear Transformation)**와 같아진다. 복잡한 문제를 풀기 위해선 비선형 함수인
가 필수적이다.
2. 발전 흐름
초기에는 인간의 뉴런을 모방한 Sigmoid가 쓰였으나, 학습 문제(Vanishing Gradient)로 인해 ReLU가 표준이 되었고, 최근 LLM에서는 더 부드러운 GELU/Swish가 대세다.
graph LR Gen1["1세대: Sigmoid / Tanh<br/>(확률/대칭)"] --> Problem["문제: Vanishing Gradient<br/>학습이 멈춤"] Problem --> Gen2["2세대: ReLU<br/>(단순함/효율성)"] Gen2 --> Problem2["문제: Dying ReLU<br/>일부 뉴런 사망"] Problem2 --> Gen3["3세대: Leaky ReLU / GELU / Swish<br/>(스무딩/음수 허용)"] style Gen1 fill:#E0E0E0,stroke:#757575 style Gen2 fill:#FFF176,stroke:#FBC02D style Gen3 fill:#81C784,stroke:#2E7D32
3. 고전적 활성화 함수 (S-Curve)
3.1. Sigmoid Function 입력을 0과 1 사이로 압축한다.
- 장점: 출력이 확률(
)로 해석될 수 있다. - 단점 (치명적):
- Vanishing Gradient: 입력이 아주 크거나 작으면 기울기(미분값)가 거의 0이 되어, 역전파 시 학습이 소멸된다.
- Not Zero-centered: 출력이 항상 양수라 학습 경로가 지그재그로 불안정해질 수 있다.
3.2. Hyperbolic Tangent (Tanh)
Sigmoid를 중심점 0으로 이동시킨 형태다.
- 장점: 중심이 0이므로 Sigmoid보다 편향(Bias) 문제가 적다.
- 단점: 여전히 양 끝단에서 기울기가 소실되는 문제는 남는다.
4. 현대적 활성화 함수 (Rectifiers)
4.1. ReLU (Rectified Linear Unit)
딥러닝 혁명을 이끈 가장 대중적인 함수다.
- 장점:
- 계산 효율: 지수 연산(
)이 없어 매우 빠르다. - Gradient 보존: 양수 구간에서 미분값이 1이므로 깊은 망에서도 학습이 잘 된다.
- 계산 효율: 지수 연산(
- 단점 (Dying ReLU): 음수 입력이 계속 들어오면 기울기가 0이 되어 해당 뉴런이 영구적으로 죽어버릴 수 있다.
4.2. Leaky ReLU
ReLU의 “죽은 뉴런” 문제를 해결하기 위해 음수 구간에 약간의 기울기를 줬다.
- 특징: 음수일 때도 학습이 아주 조금씩 일어난다.
4.3. Swish (Self-Gated Activation)
Google Brain(2017)이 자동 탐색(NAS)을 통해 찾아낸 함수다. “ReLU보다 깊은 층에서 더 잘 작동함” 이 입증되었다.
(보통
- 핵심 특징:
- 비단조성 (Non-monotonicity):
구간에서 잠시 음수로 내려갔다가 0으로 수렴한다. 이 “살짝 휜” 음수 구간이 모델의 표현력을 높여준다. - 매끄러움 (Smoothness): ReLU와 달리 모든 구간에서 미분 가능하다. 최적화 시 Loss 지형(Landscape)을 부드럽게 만들어 수렴을 돕는다.
- Self-Gating: 입력값
자체가 자신의 게이트( ) 역할을 하여 정보를 얼마나 통과시킬지 결정한다. (LSTM의 게이팅 메커니즘을 단순화한 형태)
- 비단조성 (Non-monotonicity):
4.4 GELU(Gaussian Error Linear Unit)
BERT, GPT, Llama 등 현재 사실상 모든 LLM의 표준 활성화 함수다. Dropout과 ReLU의 개념을 확률적으로 결합했다.
이론적 배경 (Probabilistic Intuition)
ReLU가 입력 부호에 따라 0 또는
(입력
근사 수식 (Implementation)
실제 구현 시
- 특징: Swish와 비슷하게
부근에서 부드러운 곡선을 그리며, 음수 영역에서 약간의 값을 허용한다.
5. 출력층 전용 함수 (Output Layer)
5.1. Softmax
다중 클래스 분류(Multi-class Classification)의 최종 출력으로 쓰인다. 입력받은 점수(Logits)들을 총합이 1인 확률로 변환한다.
- 특징: 가장 큰 값의 확률을 부각(Highlight)시킨다.
6. 요약 비교표
| 함수 | 수식 특징 | 장점 | 단점 | 주요 사용처 |
|---|---|---|---|---|
| Sigmoid | 확률 해석 가능 | 기울기 소실 | 이진 분류 출력층 | |
| Tanh | 0 중심 (Zero-centered) | 기울기 소실 | RNN, LSTM | |
| ReLU | 빠름, 연산 효율적 | Dying ReLU, 0에서 미분 불가 | CNN, 일반 은닉층 | |
| Leaky ReLU | Dying ReLU 방지 | GAN 판별자 | ||
| Swish (SiLU) | 매끄러운 미분, 비단조성 | 지수 연산 비용 ( | EfficientNet, YOLO | |
| GELU | 확률적 게이팅, 최적화 안정성 | 연산 비용 가장 높음 | BERT, GPT, Llama |