통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

Gradient 문제 실습실

Vanishing / Exploding — 깊이가 만드는 함정과 LSTM·ResNet의 해결책

원하는 개념·랩·가이드를 검색해보세요

Ctrl K
딥러닝 이론으로상세 이론 학습

층이 깊어질수록 신호가 사라지거나 폭발한다

신경망이 깊어지면 역전파되는 기울기가 층을 지날 때마다 점점 작아져 사라지거나(소실), 반대로 걷잡을 수 없이 커집니다(폭발). 이 문제가 바로 LSTM과 ResNet 같은 구조가 태어난 이유입니다. 어떤 조건에서 문제가 생기는지 직접 확인해 보세요.
이 페이지에서 배우고 나면
  • 기울기 소실·폭발이 왜 생기는지 층 깊이와 함께 관찰할 수 있습니다.
  • 활성화 함수와 가중치 초기화가 이 문제에 미치는 영향을 확인할 수 있습니다.
  • 이 문제를 완화하는 기법들이 어떻게 작동하는지 이해할 수 있습니다.
📉 깊이가 만드는 지수적 함정

Sigmoid 미분 최대값이 0.25라서, 10층만 쌓아도 gradient 곱이 0.25¹⁰ ≈ 1e-6로 거의 0이 됩니다. 반대로 가중치가 1.5인 경우 30층에서 1.5³⁰ ≈ 1.9e+5로 폭주. 깊이는 신경망의 힘이지만 동시에 함정입니다.

깊이에 따른 Gradient의 지수적 변화 (log scale)깊이에 따른 Gradient의 지수적 변화 (log scale)
📐 활성화 함수가 Gradient를 결정한다

Sigmoid 미분 최대 0.25 — 깊이가 누적되면 vanishing 보장. Tanh는 최대 1.0이지만 양 끝에서 포화. ReLU는 양수 영역에서 미분이 1이라 신호가 깊이를 거쳐도 보존됩니다 — 2010년대 ReLU 혁명의 핵심 이유.

활성화 함수와 그 미분 — 체인룰 누적 효과 비교활성화 함수와 그 미분 — 체인룰 누적 효과 비교
예측 먼저 — 실험 전에 답을 정해 보세요
예측 → 실험 → 확인

정답을 몰라도 괜찮습니다 — 먼저 예측을 정해야 시뮬레이션 결과가 기억에 남습니다. 예측을 고른 뒤 아래 시뮬레이션으로 직접 확인하고, 그다음 결과를 열어 보세요.

1. 시그모이드를 쓰는 깊은 신경망에서, 입력에 가까운 앞쪽 층의 기울기는 어떻게 될까요?
2. 기울기 소실의 대표적인 처방은 무엇일까요?
로그인하면 예측 기록이 계정에 저장됩니다

어느 기기에서든 이어서 학습하고, 오답 기반 복습 추천을 받을 수 있습니다.

카카오로 시작하기네이버로 시작하기구글로 시작하기
회원가입 절차 없음 — 닉네임만 저장하며, 이메일·연락처는 수집하지 않습니다.
Gradient 흐름 인터랙티브 — Vanishing/Exploding 시뮬레이터

활성화 함수·가중치 초기화·Skip Connection 조합에 따라 깊이별 gradient 크기가 어떻게 변하는지 직접 비교하세요.

활성화 함수
Sigmoid (max 0.25)
가중치 초기화
Naive (N(0,1))
Skip Connection
네트워크 깊이 = 30
30층에서 |g| = 2.059e+14
Exploding 발생
같은 원리의 실측 실험: Transformer 블록 해부실 →
실측 요약 — 이 실습이 보여주는 것

활성화(Sigmoid/Tanh/ReLU) × 초기화(Naive/Xavier/He) × Skip Connection × 깊이(5~50층) 조합에 따라 층별 gradient 크기가 어떻게 변하는지, 층당 곱셈 계수 모형으로 로그 스케일 그래프에 그려 vanishing/exploding 판정선(10⁻⁶/10⁶)과 비교하는 실험입니다.

  • 시그모이드 미분 상한 0.25만 곱해도 10층에 9.5×10⁻⁷, 30층에 8.7×10⁻¹⁹ — 그래프의 회색 상한선이 이 계산 그대로다
  • 랩의 층당 곱 모형 실계산: Sigmoid+Xavier는 층당 0.30이라 30층에 2.1×10⁻¹⁶으로 vanishing, Tanh+Naive는 층당 8.0으로 즉시 exploding(클램프 상한 10²⁰ 도달), ReLU+Xavier는 정확히 층당 1.00이라 30층에도 |g|=1로 안정
  • Skip Connection ON은 층당 곱을 0.95~1.05로 강제한다 — 30층 누적이 0.95³⁰=0.21에서 1.05³⁰=4.3 사이에 머물러 판정선을 절대 넘지 않는다. ResNet이 152층을 학습한 원리다

바로잡는 오개념: "기울기 소실은 학습률을 키우면 해결된다"는 생각 — 0으로 붕괴하는 곱셈 연쇄에 큰 수를 곱해도 여전히 0 근처라, ReLU 계열 활성화·좋은 초기화·잔차 연결 같은 구조적 처방이 필요하다.

AI 튜터에게 물어보기
베타

— 정답 대신 힌트로 유도합니다. 지금 화면의 실험 상태를 알고 답해요.

예: “방금 결과가 이론과 다른데 왜죠?”, “이 값을 올렸는데 왜 반대로 변하죠?”

AI 답변은 부정확할 수 있습니다. 핵심 개념은 반드시 시뮬레이션 실측으로 확인하세요. 질문 0/5 · 하루 질문 한도가 있습니다
Skip Connection: Gradient의 고속도로

잔차 블록 y = F(x) + x의 미분은 ∂y/∂x = ∂F/∂x + I항상 항등행렬 I가 더해집니다. F의 미분이 매우 작아져도 I가 1을 보존해 gradient가 깊은 층까지 흐릅니다. ResNet 152층이 학습 가능해진 이유입니다.

ResNet의 Skip Connection — Gradient가 직접 흐를 우회 경로ResNet의 Skip Connection — Gradient가 직접 흐를 우회 경로
Gradient Clipping: Exploding을 막는 가장 단순한 방법

Gradient 노름이 임계값을 넘으면 그 임계값으로 잘라냅니다. RNN과 LLM 학습의 사실상 필수 요소이며, 학습 중 손실이 갑자기 NaN으로 발산하면 가장 먼저 시도해야 할 해결책입니다.

Gradient Clipping: 폭주 step을 임계값으로 잘라 학습 안정화Gradient Clipping: 폭주 step을 임계값으로 잘라 학습 안정화
가중치 초기화: 분산을 fan_in으로 정규화

잘못된 초기화는 첫 forward pass부터 활성값을 폭주/소실시킵니다.Xavier(1/fan_in)는 Sigmoid/Tanh용, He(2/fan_in)는 ReLU용으로 ReLU가 음수 절반을 0으로 만든다는 사실을 보상합니다.

초기화 방법별 깊은 망의 활성값 분산 (10층 시뮬레이션)초기화 방법별 깊은 망의 활성값 분산 (10층 시뮬레이션)
Gradient 문제 해결책 가이드
1. ReLU 계열 활성화

양수 영역 미분 1.0 → vanishing 방지. ReLU, Leaky ReLU, GELU, Swish.

필수
2010년대~
2. He/Xavier 초기화

활성화에 맞는 분산으로 초기화. PyTorch/Keras 기본값 신뢰.

He: ReLU
Xavier: Sigmoid/Tanh
3. Skip Connection

잔차 연결로 gradient 고속도로 제공. ResNet, Transformer가 필수 사용.

ResNet
Transformer
4. Gradient Clipping

노름이 임계값 초과 시 잘라냄. RNN/LLM 필수, NaN 방지의 첫 번째 도구.

RNN
LLM 학습
직접 해보기 — 실습 과제
  1. 1990년대 한계 재현: Sigmoid + Xavier + Skip OFF + 30층. Gradient가 10⁻¹⁵~10⁻¹⁶ 수준으로 vanishing — 초기화를 잘 해도 sigmoid의 미분(최대 0.25)이 층마다 곱해져 소실됩니다.
  2. 한 가지씩 고쳐가기: Sigmoid → ReLU (Xavier 유지): 층당 곱셈 인자가 0.30 → 1.00으로 회복됩니다. 이어서 Skip OFF → ON까지 바꾸며 각 단계마다 gradient가 어떻게 살아나는지 관찰.
  3. Skip의 위력 체감: 어떤 활성화/초기화 조합이든 Skip ON으로 바꾸면 50층에서도 안정. 이것이 ResNet 152층이 학습 가능한 이유.
  4. Exploding 만들기: Tanh + Naive로 30층 → gradient가 1e+10 이상 발산. 실무에서는 Gradient Clipping으로 잡습니다.
📖 더 깊이 학습하기
  • He et al., Deep Residual Learning (CVPR 2016): ResNet 원논문
  • Glorot & Bengio, AISTATS 2010: Xavier 초기화
  • He et al., ICCV 2015: He 초기화
  • Hochreiter & Schmidhuber, LSTM (1997): RNN의 vanishing 해결
  • Goodfellow et al., Deep Learning — Ch.10.7, 8.4: 이론적 분석