기울기 폭주

IT 위키

기울기 폭주(영어: Exploding gradient)는 인공 신경망 학습 과정에서 역전파(backpropagation)를 통해 전달되는 기울기(gradient)가 지수적으로 커지면서 학습이 불안정해지는 현상이다. 이 문제는 특히 순환 신경망(RNN)이나 깊은 신경망에서 흔히 발생한다.

개요[편집 | 원본 편집]

신경망은 손실 함수(loss function)를 최소화하기 위해 경사하강법(gradient descent)을 사용한다. 이 과정에서 기울기가 매우 큰 값으로 증폭되면, 가중치가 과도하게 갱신되어 학습이 발산하거나 수치적 불안정성이 나타날 수 있다.

원인[편집 | 원본 편집]

  • 순환 구조 : RNN에서 시간 단계가 길어질수록 동일한 가중치 행렬이 반복적으로 곱해지며, 고유값이 1보다 큰 경우 기울기가 기하급수적으로 커진다.
  • 깊은 네트워크 : 층이 깊을수록 연속된 곱셈 연산으로 인해 기울기의 크기가 폭증할 수 있다.
  • 부적절한 초기화 : 가중치 초기값이 지나치게 크거나 학습률이 너무 큰 경우 발생 확률이 높아진다.

영향[편집 | 원본 편집]

  • 파라미터가 매우 큰 값으로 갱신되어 발산하거나 NaN(Not a Number) 값이 발생
  • 학습이 수렴하지 않고 손실 함수 값이 불안정하게 변동
  • 모델의 일반화 성능 저하

해결 방법[편집 | 원본 편집]

  • 기울기 클리핑(Gradient Clipping)
    • 기울기의 크기가 임계값을 넘을 경우, 임계값으로 정규화하여 폭주를 방지
  • 가중치 초기화 기법 개선
    • Xavier 초기화, He 초기화 등 적절한 방법을 사용해 기울기의 안정적 분포 보장
  • 적응적 학습률(Adaptive learning rate)
    • Adam, RMSProp 등 최적화 기법 사용으로 학습률 자동 조절
  • 네트워크 구조 개선
    • LSTM, GRU 같은 구조는 장기 의존성 문제를 완화하고 기울기 소실/폭주를 줄이는 데 도움을 줌

관련 개념[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]

  • Sepp Hochreiter, Jürgen Schmidhuber. Long Short-Term Memory. Neural Computation, 1997.
  • Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning. MIT Press, 2016.

각주[편집 | 원본 편집]