토픽 31 / 172·딥러닝
활성화 함수 (Activation Function)
활성화 함수 (Activation Function)
신경망의 뉴런에서 입력 신호의 가중합을 비선형 출력으로 변환하는 함수로, 네트워크에 비선형성을 부여하여 복잡한 패턴 학습을 가능하게 함
목적: 비선형성 부여, 출력 범위 제한, 기울기 소실 방지
주요함수 상세
- •Sigmoid: f(x) = 1/(1+e^(-x)), 출력범위 0~1, 확률 해석 가능. 장점: 출력이 확률값으로 해석 용이, 부드러운 기울기. 단점: 기울기소실(심층 네트워크에서 기울기가 0에 수렴), 출력 중심이 0이 아님(학습 비효율), 지수 연산 비용. 용도: 이진분류 출력층, 게이트 메커니즘(LSTM/GRU)
- •Tanh: f(x) = (e^x - e^(-x))/(e^x + e^(-x)), 출력범위 -1~1, 출력 중심 0. 장점: 출력 중심이 0(Sigmoid보다 학습 효율적), 강한 기울기(Sigmoid의 2배). 단점: 여전히 기울기소실 문제 존재, 지수 연산 비용. 용도: RNN 은닉층, 데이터 정규화가 필요한 은닉층
- •ReLU (Rectified Linear Unit): f(x) = max(0, x), 출력범위 0~무한. 장점: 계산 매우 빠름(비교 연산만), 기울기소실 방지(양수 영역 기울기=1), 희소 활성화(Sparse Activation)로 효율적 표현. 단점: 죽은 ReLU(Dead ReLU, 음수 입력 시 기울기=0으로 뉴런 비활성화 영구화), 출력 중심 0 아님. 용도: CNN/MLP 은닉층 기본 표준
- •Leaky ReLU: f(x) = max(αx, x) (α=0.01), 음수 영역에 작은 기울기 부여하여 죽은 ReLU 해결. 변형: PReLU(α 학습 가능), ELU(음수 영역 지수 곡선)
- •Softmax: f(x_i) = e^(x_i) / Σe^(x_j), 출력 합=1 확률분포. 모든 클래스에 대한 확률을 출력, Cross-Entropy 손실함수와 함께 사용. 용도: 다중분류 출력층 전용. Temperature 파라미터로 분포 날카로움 조절 가능
- •Swish: f(x) = x·sigmoid(x), Google 제안, 부드러운 비단조 함수. ReLU 대비 깊은 네트워크에서 성능 향상. Mish: f(x) = x·tanh(softplus(x)), Swish와 유사, YOLO에서 성능 향상 확인
활성화 함수 비교표 (확장)
- •Vanishing Gradient 상세: Sigmoid/Tanh는 포화 영역(|x|가 큰 경우)에서 기울기→0, 역전파 시 기울기가 층마다 곱해져 깊은 층에서 기울기 소멸 → ReLU 계열이 해결
- •수렴 속도: ReLU 계열은 Sigmoid/Tanh 대비 약 6배 빠른 수렴(Krizhevsky, 2012), GELU/Swish는 ReLU보다 깊은 네트워크에서 추가 성능 향상
선택기준: 은닉층(ReLU·Leaky ReLU), 이진분류출력(Sigmoid), 다중분류출력(Softmax), RNN(Tanh), 최신 딥러닝(Swish/GELU)
적용사례: 이미지분류(ReLU+Softmax), 텍스트생성(Tanh), 이진분류(Sigmoid), GPT/BERT(GELU)
비교: ReLU(빠름·기울기소실방지·죽은뉴런) vs Sigmoid(확률해석·기울기소실) vs Softmax(확률분포·다중분류)
연관: 신경망, 역전파, 기울기소실, ReLU, Sigmoid, Softmax