# 활성화 함수에 대한 비교 (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.
