ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AI 모델 개발 – Vanishing Gradient 완전 정리
    카테고리 없음 2025. 8. 31. 13:40

    목적: Vanishing Gradient(기울기 소실) 문제를 처음 접하는 사람도 직관적으로 이해할 수 있도록, 원인→영향→해결책→시험 포인트까지 쉽게 정리.


    0) 핵심 한눈에 보기

    • 정의: 신경망을 역전파 학습할 때 기울기(gradient)가 점점 0에 가까워져 초깊은 층의 가중치가 학습되지 않는 문제.
    • 비유: 긴 전달게임에서 말이 계속 희미해져 맨 끝 친구는 아무것도 못 듣는 상황.

    1) 왜 발생할까?

    • 역전파는 체인룰: $∂L/∂W = ∂L/∂h_n · ∂h_n/∂h_{n-1} · ... · ∂h_1/∂W$.

    • 각 항이 0~1 사이 작은 값이면 곱할수록 더 작아짐.

    • 대표 원인:

      1. 활성함수: Sigmoid/tanh → 입력이 크면 기울기 거의 0.
      2. 깊은 네트워크: 곱 연산 누적으로 지수적으로 작아짐.
      3. 잘못된 초기화: 가중치가 너무 작거나 커서 분산 불안정.

    2) 어떤 문제가 생기나?

    • 학습 정체: 앞단(초깊은 층) 가중치 업데이트 거의 X.
    • 특징 학습 부족: 깊은 층이 의미 있는 표현을 못 배움.
    • RNN: 장기 의존 학습 어려움(초기 RNN 학습이 힘들었던 이유).

    3) 해결 방법

    (1) 활성 함수 변경

    • Sigmoid/tanh → ReLU 계열 (ReLU, Leaky ReLU, GELU). → 기울기 소실 완화.

    (2) 가중치 초기화

    • Xavier/He 초기화: 분산을 층 깊이에 맞게 조절.

    (3) 정규화 기법

    • Batch Normalization, LayerNorm: 분포를 안정화해 기울기 전파 유지.

    (4) 잔차 연결(Residual Connection)

    • ResNet 아이디어: 입력을 출력에 더해 전달 → 기울기 직접 전달 경로 확보.

    (5) RNN 특화

    • LSTM/GRU: 게이트 구조로 장기 의존 기울기 보존.

    4) 직관적 예시

    • Sigmoid: 입력 -10 → 출력 ≈0, 기울기 ≈0.
    • 층이 10개만 되어도 0.1^10 ≈ 1e-10 수준으로 축소.

    5) 시험장 포인트

    • 원인: Sigmoid/tanh, 깊은 층, 잘못된 초기화.
    • 영향: 앞단 학습X, RNN 장기 의존 학습 어려움.
    • 해결: ReLU, He 초기화, BatchNorm, Residual, LSTM/GRU.

    6) 실전 체크리스트

    • 활성 함수로 ReLU 계열을 쓰는가?
    • 가중치 초기화 전략을 적용했는가?
    • 정규화(BN/LN) 넣었는가?
    • 깊은 네트워크엔 Residual 구조가 있는가?
    • 순환망은 LSTM/GRU를 쓰는가?

    7) 미니 연습(정답은 접어서)

    1. Vanishing Gradient의 주 원인 2가지는?
    2. Residual Connection이 왜 도움이 되나?
    3. RNN에서 Vanishing Gradient를 완화하는 구조는?
    정답 보기 1) Sigmoid/tanh 같은 활성함수, 깊은 네트워크에서의 체인룰 곱 연산. 2) 기울기가 입력 경로를 통해 직접 전달되어 소실을 막음. 3) **LSTM/GRU**.
Designed by Tistory.