IT Study/인공지능 관련

🤖 활성화 함수(Activation Function)

cs_bot 2025. 3. 28. 17:40

1. 개요

  • 인공신경망(Artificial Neural Network)에서 뉴런의 출력값을 결정하는 비선형 함수 의미
  • 입력 신호의 가중합을 받아, 출력값을 비선형적으로 변환함으로써 복잡한 문제 해결 가능하게 하는 핵심 구성요소
  • 선형 함수를 사용할 경우 신경망이 다층 구조를 갖더라도 단일층으로 환원될 수 있으므로, 모델 표현력 제한됨
  • 활성화 함수는 입력과 출력 사이의 비선형성 도입을 통해 고차원 표현 학습 가능하게 함
  • 일반적으로 각 뉴런에 독립적으로 적용되며, 주어진 입력값에 따라 출력값이 제한되거나 강조되는 효과 가짐

2. 활성화 함수의 필요성

  • 비선형성 도입: 선형 회귀처럼 단순한 모델로는 XOR 문제 등 비선형 패턴 학습 불가능함
  • 표현력 확장: 은닉층에서 다양한 특징 추출 가능, 모델의 학습 대상 범위 확장됨
  • 계층적 학습 가능: 다층 신경망 구조가 계층별 의미 있는 표현을 학습하도록 함
  • 경사하강법 기반 학습 가능: 미분 가능한 함수 사용 시 역전파(Backpropagation)를 통해 가중치 학습 가능

3. 주요 활성화 함수 종류 및 특징

3.1. Step Function (계단 함수)

  • 특정 임계값을 기준으로 0 또는 1 출력
  • 수학적으로 간단하지만, 비미분성 문제로 역전파 불가능
  • 고전적인 퍼셉트론 모델에서 사용

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

  • 수식: σ(x) = 1 / (1 + e^(-x))
  • 출력 범위 (0, 1), 확률 해석 가능
  • 기울기 소실(Vanishing Gradient) 문제 존재 → 큰 입력값에서 gradient가 0에 수렴
  • 출력이 중심에 치우치지 않아 학습 속도 저하 초래

3.3. Tanh Function (쌍곡 탄젠트 함수)

  • 수식: tanh(x) = (e^x - e^(-x)) / (e^x + e^(-x))
  • 출력 범위 (-1, 1), 중심성이 있음 → Sigmoid보다 학습 효율 높음
  • 그러나 여전히 기울기 소실 문제 존재

3.4. ReLU (Rectified Linear Unit)

  • 수식: f(x) = max(0, x)
  • 간단한 수식으로 계산량 적고, gradient 소실 문제 완화
  • 음수 입력에 대해 gradient가 0이 되어 뉴런이 죽는 현상(Dead Neuron) 발생 가능
  • 학습이 빠르고, 깊은 신경망에서 자주 사용됨

3.5. Leaky ReLU

  • ReLU의 변형 형태로 음수 입력에도 작은 기울기 존재
  • 수식: f(x) = x if x>0 else αx (0<α<<1)
  • Dead Neuron 문제 완화 가능

3.6. Parametric ReLU (PReLU)

  • Leaky ReLU의 α 값을 학습하도록 개선
  • 모델이 데이터 특성에 맞게 α 자동 조절 가능

3.7. ELU (Exponential Linear Unit)

  • 수식: x if x > 0, else α(exp(x) - 1)
  • 입력이 음수일 때도 출력이 존재하여 중심성이 존재
  • 출력 평균이 0에 가까워 학습 속도 향상 효과 있음

3.8. Swish

  • 수식: f(x) = x * sigmoid(x)
  • Google에서 제안한 활성화 함수로, ReLU보다 성능 우수함이 알려짐
  • Smooth하고 미분 가능, gradient 흐름에 긍정적 영향

3.9. GELU (Gaussian Error Linear Unit)

  • Transformer 계열 모델(BERT 등)에서 자주 사용됨
  • 수식적으로 복잡하나 자연스러운 비선형성 제공
  • 확률 기반 활성화 함수로 성능 면에서 우수하다는 연구 결과 존재

4. 선택 기준 및 비교

구분 출력 범위 비선형성 Gradient 문제 계산량 사용 예
Sigmoid (0, 1) 존재 Vanishing 낮음 이진 분류 출력층
Tanh (-1, 1) 존재 Vanishing 낮음 RNN 내부
ReLU [0, ∞) 존재 Dead Neuron 매우 낮음 CNN, DNN
Leaky ReLU (-∞, ∞) 존재 완화 낮음 일반 CNN
ELU (-α, ∞) 존재 완화 중간 깊은 네트워크
Swish (-∞, ∞) 존재 없음 중간 최근 DNN
GELU (-∞, ∞) 존재 없음 다소 높음 NLP (BERT 등)

5. 실제 적용 사례

  • CNN 기반 이미지 분류기: 대부분 ReLU 사용, 효율성과 학습 속도 때문
  • NLP 모델: Transformer 기반 모델(BERT, GPT 등)에서 GELU 사용
  • RNN 및 LSTM: Tanh와 Sigmoid 혼용하여 시계열 정보 유지
  • GAN: Generator에서 Leaky ReLU, Discriminator에서 Sigmoid 사용되는 경우 많음

6. 최근 동향 및 연구

  • Swish, Mish, GELU 등 학습 효율이 높은 새로운 활성화 함수 지속 제안 중
  • 모델 구조뿐 아니라 활성화 함수 선택이 전체 모델 성능에 큰 영향 미침
  • 자동 활성화 함수 선택(AutoML 관점), 함수 자체를 학습하는 Neural Architecture Search 등 연구 중
  • ReLU의 단순성과 계산 효율로 인해 여전히 가장 널리 사용되는 함수로 자리 잡고 있음

7. 결론

  • 활성화 함수는 신경망의 비선형성을 도입하여 복잡한 문제 해결을 가능하게 만드는 필수 구성요소
  • 다양한 함수들이 존재하며, 각 함수는 적용 환경과 문제에 따라 선택 필요
  • 모델 구조뿐만 아니라 활성화 함수의 선택 또한 전체 성능 최적화의 중요한 요소로 작용함