
기울기 폭발 문제(Exploding Gradient Problem) 설명
요약
기울기 폭발(Exploding Gradient) 문제의 원인과 학습 불안정성을 설명합니다. 연쇄 법칙에 의해 기울기가 지수적으로 성장하여 가중치가 발산하는 현상을 다루며, 이를 해결하기 위한 주요 기법들을 소개합니다.
핵심 포인트
- 기울기 폭발은 레이어별 항이 1보다 클 때 발생함
- 가중치 업데이트가 과도해져 손실 함수가 요동치거나 NaN 발생
- 해결책으로 Gradient Clipping, 가중치 초기화, Batch Normalization 활용
저의 'AI/ML 노트 복습' 시리즈 중 9번째, 그리고 역전파(backpropagation) 아크의 마지막 글입니다. 이전 게시물에서는 여러 레이어에 걸쳐 기울기가 0으로 수축하는 경우를 다루었습니다. 이번 글은 그 정반대의 문제, 즉 기울기가 성장하여 학습이 불안정해지는 상황을 다룹니다.
같은 연쇄 법칙(chain rule), 반대 방향의 현상
기울기 소실(Vanishing gradients)은 연쇄 법칙 곱셈에서 레이어별 항들이 일관되게 1보다 작을 때 발생합니다. 기울기 폭발(Exploding gradients)은 정확히 정반대의 이유로 발생합니다. 즉, 이 레이어별 항들—보통 가중치 값에 의해 결정됨—이 일관되게 1보다 클 때입니다.
gradient_at_early_layer ~= 2.5 x 2.5 x 2.5 x ... (레이어당 한 번)
이 곱은 0으로 수축하는 대신 깊이에 따라 지수적으로 성장합니다. 본래 작고 잘 제어되는 보정값이 되어야 할 기울기가 초기 레이어에 도달할 무렵에는 엄청나게 커지게 됩니다.
이것이 학습을 불안정하게 만드는 이유
업데이트 규칙(w_new = w_old - lr * gradient)을 다시 상기해 봅시다. 만약 기울기가 거대하다면, 가중치 업데이트 역시 거대합니다. 적당한 학습률(learning rate)조차도 몇 개의 크기 차이(orders of magnitude)로 커진 기울기를 완전히 보상할 수 없습니다. 실제로는 다음과 같은 현상으로 나타납니다:
- 손실(Loss)이 반복마다 부드럽게 감소하는 대신 심하게 요동침
- 가중치(Weights)가 극도로 큰 값으로 성장하여 때때로
NaN으로 오버플로우됨 - 정상적으로 진행되던 학습이 갑자기 명확한 경고 없이 발산함
일반적인 해결책
이를 제어하기 위해 특별히 존재하는 몇 가지 표준 기법들이 있습니다:
- Gradient clipping (경사도 클리핑) — 계산된 원시 값이 아무리 크더라도, 업데이트를 적용하기 전에 경사도(gradient)의 크기를 고정된 임계값(threshold)으로 제한합니다.
- Careful weight initialization (신중한 가중치 초기화) — Xavier/Glorot 또는 He 초기화와 같은 기법들은 층(layer)을 거치며 폭발(또는 소실)로 이어지는 값들을 피하기 위해 시작 가중치 스케일을 특별히 선택합니다.
- Batch normalization (배치 정규화) — 층 사이의 활성화 값(activations)을 정규화하여 값들을 일관되고 안정적인 범위 내로 유지하며, 이는 간접적으로 경사도가 어느 방향으로든 급격히 치솟는 것을 방지합니다.
역전파(Backpropagation) 과정의 마무리
지난 몇 개의 포스트를 통해 살펴본 내용입니다: 순전파(forward propagation)는 예측값을 생성하고, 손실(loss)은 그 예측이 얼마나 틀렸는지를 측정하며, 연쇄 법칙(chain rule)은 그 오차를 모든 층을 통해 역방향으로 전파하고, 경사 하강법(gradient descent)은 이를 사용하여 모든 가중치를 업데이트합니다. 기울기 소실(Vanishing gradients)과 기울기 폭발(Exploding gradients)은 이러한 역방향 곱셈 연쇄가 건강한 범위를 유지하지 못할 때 발생하는 현상입니다. 값이 너무 작으면 초기 층들이 학습을 멈추고, 너무 크면 전체 네트워크가 불안정해집니다. 딥러닝 커리큘럼에서 이후에 등장하는 모든 아키텍처 — CNN, RNN, Transformer — 는 여전히 그 밑바탕에 바로 이 동일한 핵심 루프를 기반으로 구축되어 있습니다.
Original Notes:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기