← all posts
AI 2026.05.03 · 9 min read Advanced

RNN Gradient 소멸은 왜 피할 수 없었나

Pascanu 2013의 spectral radius 조건부터 saturation 문제, gradient clipping, orthogonal/identity 초기화까지 — RNN 학습 불안정성의 근본 원인과 그 대응의 계보를 추적한다.


RNN이 100 step 이전의 정보를 학습하지 못하는 이유는 무엇인가? 단순히 “gradient가 작아진다”는 설명으로는 부족하다. Pascanu 2013은 이 현상을 spectral radius라는 단 하나의 수치로 정량화했고, 그 분석 위에서 orthogonal 초기화, gradient clipping, IRNN, LSTM이 각각 다른 방식으로 같은 문제를 공략했다. 이 챕터들이 공유하는 질문은 하나다 — `ρ(Whh)⋅max⁡σ′\rho(W_{hh}) \cdot \max \sigma'를 1 근처에 유지하는 것이 왜 이렇게 어려운가?

문제의 수학적 정체

BPTT에서 시간 tt에서 kk로 흐르는 gradient는 Jacobian의 곱이다.

∂ht∂hk=∏j=k+1tWhh⊤ diag(σ′(zj))\frac{\partial h_t}{\partial h_k} = \prod_{j=k+1}^{t} W_{hh}^\top \, \mathrm{diag}(\sigma'(z_j))

이 곱의 장기적 행동을 결정하는 것이 spectral radius ρ(Whh)=max⁡i∣λi(Whh)∣\rho(W_{hh}) = \max_i |\lambda_i(W_{hh})|다.

정리 1 · Pascanu 2013 — Vanishing/Exploding 충분조건

RNN의 hidden Jacobian Jj=Whh⊤diag(σ′(zj))J_j = W_{hh}^\top \mathrm{diag}(\sigma'(z_j))에 대해,

ρ(Whh)⋅max⁡zσ′(z)<1  ⟹  ∥∏j=k+1tJj∥→0\rho(W_{hh}) \cdot \max_z \sigma'(z) < 1 \implies \left\|\prod_{j=k+1}^{t} J_j\right\| \to 0ρ(Whh)⋅max⁡zσ′(z)>1  ⟹  ∥∏j=k+1tJj∥→∞\rho(W_{hh}) \cdot \max_z \sigma'(z) > 1 \implies \left\|\prod_{j=k+1}^{t} J_j\right\| \to \infty

(saturation이 없는 영역에서)

▷ 증명

submultiplicative property로 ∥∏Jj∥≤∏∥Jj∥\|\prod J_j\| \le \prod \|J_j\|. 각 ∥Jj∥≤∥Whh∥⋅σmax⁡′\|J_j\| \le \|W_{hh}\| \cdot \sigma'_{\max}이고, t−kt - k 번 곱하면 (∥Whh∥⋅σmax⁡′)t−k(\|W_{hh}\| \cdot \sigma'_{\max})^{t-k}. Gelfand의 spectral radius formula ρ=lim⁡k∥Wk∥1/k\rho = \lim_k \|W^k\|^{1/k}에 의해, 충분히 큰 t−kt - k에서 effective rate가 ρ(Whh)⋅σmax⁡′\rho(W_{hh}) \cdot \sigma'_{\max}로 수렴한다. □\square

∎

Tanh의 경우 σmax⁡′=1\sigma'_{\max} = 1이므로 기준은 ρ(Whh)=1\rho(W_{hh}) = 1이 된다. T=100T = 100, ρ=0.9\rho = 0.9이면 0.9100≈2.7×10−50.9^{100} \approx 2.7 \times 10^{-5}. 100 step 전 신호는 사실상 소멸한다.

ρ=1\rho = 1 유지가 불가능한 이유

이론적 해법은 명확하다 — ρ(Whh)\rho(W_{hh})를 정확히 1로 유지하면 된다. 그러나 두 가지 힘이 이를 방해한다.

첫째, saturation. tanh⁡′(z)=1−tanh⁡2(z)\tanh'(z) = 1 - \tanh^2(z)는 ∣z∣>2|z| > 2 영역에서 0에 가까워진다. 학습이 진행될수록 weight magnitude가 커지고 pre-activation zz가 saturation 영역에 진입한다. WhhW_{hh}의 ρ\rho가 1이더라도 effective rate는 ρ⋅E[σ′(zt)]≪1\rho \cdot \mathbb{E}[\sigma'(z_t)] \ll 1로 추락한다. Lyapunov exponent로 표현하면:

Λ=log⁡ρ(Whh)+E[log⁡σ′(z)]≤0\Lambda = \log \rho(W_{hh}) + \mathbb{E}[\log \sigma'(z)] \le 0

ρ=1\rho = 1이어도 E[log⁡σ′]<0\mathbb{E}[\log \sigma'] < 0이면 vanishing이다.

둘째, weight drift. Gradient update ΔWhh=−η∂L/∂Whh\Delta W_{hh} = -\eta \partial L / \partial W_{hh}는 ρ\rho를 perturbation한다. Random init의 ρ\rho가 asymptotically 1에 가까운 것(circular law)은 사실이나, 학습이 길어질수록 ρ\rho가 1에서 멀어지는 random walk를 보인다.

⚠ Saturation의 지배력

ρ(Whh)=0.95\rho(W_{hh}) = 0.95, 평균 σ′(z)≈0.5\sigma'(z) \approx 0.5 (moderate saturation)이면 effective rate는 0.4750.475. 100 step 후 gradient는 (0.475)100≈10−33(0.475)^{100} \approx 10^{-33}. ρ\rho를 아무리 잘 맞춰도 saturation 하나가 학습을 파괴할 수 있다.

세 가지 대응과 그 한계

이 문제에 대한 대응은 크게 세 방향으로 나뉜다.

Gradient Clipping (Pascanu 2013). Exploding을 막는 가장 단순한 도구다.

g←g⋅min⁡(1,θ/∥g∥)g \leftarrow g \cdot \min(1, \theta / \|g\|)

방향은 보존하고 magnitude만 θ\theta 이하로 cap한다. PyTorch의 clip_grad_norm_이 이를 구현하며, 현대 LLM 학습에서도 θ=1.0\theta = 1.0이 표준이다. 그러나 clipping은 exploding만 치료한다. ∥g∥→0\|g\| \to 0인 vanishing에는 개입할 수 없다.

Orthogonal Initialization (Saxe 2014). Whh⊤Whh=IW_{hh}^\top W_{hh} = I이면 모든 singular value가 정확히 1이 되어 ρ=1\rho = 1이 보장된다. Linear RNN에서 orthogonal WW는 ∥ht∥=∥h0∥\|h_t\| = \|h_0\|을 모든 tt에서 정확히 유지한다. Saturation이 없는 linear regime에서는 완벽한 해법이다. 그러나 tanh의 saturation은 여전히 ρeff<1\rho_{\text{eff}} < 1을 만들고, weight drift로 orthogonality도 학습 중 무너진다.

IRNN — Identity Init + ReLU (Le 2015). Whh=IW_{hh} = I, activation은 ReLU. Positive region에서 Jacobian은 diag(1[z>0])⋅I\mathrm{diag}(\mathbb{1}[z > 0]) \cdot I로, active neuron에서 gradient가 정확히 보존된다.

ht=ht−1+Wxhxt(positive region)h_t = h_{t-1} + W_{xh} x_t \quad (\text{positive region})

이는 ResNet의 residual connection을 RNN에 적용한 것이다. Adding Problem T=300T = 300에서 LSTM과 거의 동등한 성능을 파라미터 1/4로 달성했다. 대신 ReLU의 unbounded 출력이 exploding 위험을 높여 gradient clipping이 필수다.

트레이드오프

✎ 기법별 트레이드오프
기법Vanishing 대응Exploding 대응한계
Gradient Clipping없음강력vanishing 무력
Orthogonal Init중간 (linear만)중간saturation, drift
IRNN강함 (active region)취약 (clipping 필요)dead unit, positional 손실
LSTM가장 강함 (CEC)중간파라미터 4배, 복잡도

세 기법을 합산해도 vanishing의 근본 원인인 matrix product의 곱셈적 누적은 남는다. LSTM이 진정한 돌파구인 이유는 cell state의 additive update

∂ct∂ct−1=ft(element-wise scalar, not matrix)\frac{\partial c_t}{\partial c_{t-1}} = f_t \quad (\text{element-wise scalar, not matrix})

로 이 곱셈을 우회하기 때문이다. Transformer는 한 걸음 더 나아가 product 자체를 attention으로 대체한다.

정리

  • ρ(Whh)⋅max⁡σ′<1\rho(W_{hh}) \cdot \max \sigma' < 1이면 gradient는 지수적으로 소멸한다. 이는 “어려움”이 아니라 선형대수의 필연이다.
  • ρ=1\rho = 1 유지는 saturation과 weight drift 두 힘에 의해 실전에서 거의 불가능하다.
  • Gradient clipping, orthogonal init, IRNN은 각각 증상·초기조건·Jacobian 구조를 공략하는 보완적 도구다.
  • 세 기법의 공통 한계가 LSTM과 Transformer의 architectural 혁신을 필연으로 만들었다.
REF
Pascanu, Mikolov, Bengio · 2013 · On the Difficulty of Training Recurrent Neural Networks · ICML