본문 바로가기
AI

딥러닝 활성화 함수 (Activation Functions) 완벽 가이드

by markbyun 2025. 4. 21.

딥러닝 모델, 특히 신경망(Neural Network)에서 활성화 함수(Activation Function) 는 핵심적인 역할을 합니다. 활성화 함수는 각 뉴런이 활성화될지 여부를 결정하며, 모델에 비선형성(Non-linearity) 을 도입해줍니다. 만약 활성화 함수가 없다면, 아무리 많은 층을 쌓아도 신경망은 단순한 선형 회귀(Linear Regression) 모델처럼 작동하게 됩니다.

이 글에서는 활성화 함수의 필요성과 발전 과정을 자세히 설명하고, 대표적인 활성화 함수들을 비교합니다.


활성화 함수의 역할

  1. 비 선형성: 현실 세계의 데이터는 대부분 비선형적입니다. 활성화 함수는 신경망이 이러한 복잡한 패턴을 학습할 수 있도록 비선형성을 추가해줍니다.
  2. 심층 신경망(Deep Learning) 가능: 딥러닝 모델은 여러 층을 쌓아 복잡한 문제를 해결합니다. 하지만 층마다 활성화 함수가 없다면, 아무리 층을 많이 쌓아도 하나의 선형 변환으로 축약될 수밖에 없습니다. 활성화 함수 덕분에 층을 쌓는 것이 의미를 가지게 됩니다.
  3. 그래디언트 흐름(Gradient Flow) 제어: 활성화 함수는 역전파(Backpropagation) 과정에서 그래디언트가 어떻게 전달되는지를 결정합니다. 활성화 함수의 선택은 훈련 속도와 모델 성능에 큰 영향을 미칩니다.

활성화 함수의 발전 과정

활성화 함수들은 시대에 따라 발전해왔습니다. 새로운 함수들은 이전 함수들의 문제점을 해결하고, 더 나은 성능을 제공하기 위해 개발되었습니다.

1. 시그모이드 함수 (Sigmoid Function)

  • 공식: $\sigma(x) = \frac{1}{1 + e^{-x}}$
  • 출력 범위: (0, 1)
  • 문제점:
    • 입력이 크거나 작을 때 그래디언트가 거의 0에 가까워져 기울기 소실(Vanishing Gradient) 문제가 발생
    • 출력이 0을 중심으로 하지 않아 학습이 느려질 수 있음
  • 장점: 이진 분류(Binary Classification)에 적합

2. Tanh (Hyperbolic Tangent) 함수

  • 공식: $\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}$
  • 출력 범위: (-1, 1)
  • 출력이 0을 중심으로 하지 않아 학습이 느려질 수 있음
  • 기울기 소실(Vanishing Gradient) 문제가 있음

3. ReLU (Rectified Linear Unit) 함수

  • 공식: $\text{ReLU}(x) = \max(0, x)$
  • 단순하고 효과적임
  • 일부 뉴런이 비활성화되는 희소 활성화(Sparse Activation) 를 유도해 효율적인 학습 가능
  • 입력이 음수일 경우 뉴런이 죽어버리는 Dying ReLU 문제

4. Leaky ReLU 함수

  • 공식: $\text{LeakyReLU}(x) = \max(\alpha x, x)\text{, where alpha is small (e.g., 0.01)}$
  • Dying ReLU 문제를 완화
  • $\alpha$ 값을 조정해야 하며, 항상 최적의 결과를 보장하지는 않음

5. ELU (Exponential Linear Unit) 함수

  • 공식:$\text{ELU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha (e^x - 1) & \text{if } x \leq 0 \end{cases}$
  • 0 근처에서 부드러운 곡선(Smooth at 0)
  • 음수 출력을 허용해 평균 활성화를 0에 가깝게 유지
  • 계산량이 ReLU보다 약간 더 많음

6. Swish (by Google) 함수

  • 공식: $\text{Swish}(x) = x \cdot \sigma(x)$
  • 부드럽고 비단조적(Non-monotonic) 형태
  • 깊은 네트워크에서 ReLU보다 성능이 더 좋은 경우가 많음
  • 계산 비용이 다소 증가

7. Mish (Swish와 유사) 함수

  • 공식: $\text{Mish}(x) = x \cdot \tanh(\ln(1 + e^x))$
  • 더 부드러운 그래디언트를 제공하여 학습 안정성 향상
  • 일부 작업에서 Swish보다 더 뛰어난 일반화 성능을 보여줌
  • 계산량이 많은 편

활성화 함수 요약 비교


참고문헌

  • Sheng Shen, Zhewei Yao, Amir Gholami, Michael W. Mahoney, Kurt Keutzer. (2020). PowerNorm: Rethinking Batch Normalization in Transformers. arXiv:2003.07845 [cs].
  • Prajit Ramachandran, Barret Zoph, Quoc V. Le. (2017). Swish: A Self-Gated Activation Function. arXiv:1710.05941 [cs.NE].
  • Diganta Misra. (2019). Mish: A Self Regularized Non-Monotonic Neural Activation Function. arXiv:1908.08681 [cs.LG].