활성화 함수에 대한 비교 (Comparison of Activation Functions)
시그모이드 (Sigmoid)
$ \sigma(x) = \frac{1}{1 + e^{-x}} $
$ \sigma'(x) = \sigma(x)(1 - \sigma(x)) $
(0, 1)
출력이 확률 값으로 해석될 수 있어 이진 분류 문제에 유용함.
큰 양수나 음수 입력에 대해 기울기 소실 문제가 발생함.
하이퍼볼릭 탄젠트 (Tanh)
$ \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} $
$ \tanh'(x) = 1 - \tanh(x)^2 $
(-1, 1)
출력이 -1과 1 사이로, 시그모이드보다 중심에 가까운 값을 제공하여 학습 속도가 빠름.
극단적인 값에서 기울기 소실 문제가 발생할 수 있음.
렐루 (ReLU)
$ f(x) = \max(0, x) $
$ f'(x) = \begin{cases} 1 & \text{if } x > 0 \ 0 & \text{if } x \leq 0 \end{cases} $
[0, ∞)
계산이 간단하고, 큰 양수 입력에 대해 기울기 소실 문제가 발생하지 않음.
음수 입력에 대해 기울기가 0이 되어 뉴런이 비활성화될 수 있음.
리키 렐루 (Leaky ReLU)
$ f(x) = \begin{cases} x & \text{if } x > 0 \ \alpha x & \text{if } x \leq 0 \end{cases} $
$ f'(x) = \begin{cases} 1 & \text{if } x > 0 \ \alpha & \text{if } x \leq 0 \end{cases} $
(-∞, ∞)
ReLU의 장점을 유지하면서 음수 입력에 대한 기울기 문제를 완화함.
음수 기울기 값인 $ \alpha $에 따라 학습이 불안정해질 수 있음.
소프트맥스 (Softmax)
$ \sigma(x)j = \frac{e^{x_j}}{\sum{k=1}^K e^{x_k}} $
$ \frac{\partial \sigma(x)_j}{\partial x_i} = \sigma(x)j ( \delta{ij} - \sigma(x)_i ) $
(0, 1)
출력 값이 전체 합이 1이 되는 확률 분포를 제공하므로 다중 클래스 분류 문제에 적합함.
다른 함수에 비해 계산 비용이 높음.
관련 자료:
Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
Nwankpa, C., Ijomah, W., Gachagan, A., & Marshall, S. (2018). Activation Functions: Comparison of trends in Practice and Research for Deep Learning.
Last updated