← 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의 곱이다.

hthk=j=k+1tWhhdiag(σ(zj))\frac{\partial h_t}{\partial h_k} = \prod_{j=k+1}^{t} W_{hh}^\top \, \mathrm{diag}(\sigma'(z_j))

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

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

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

ρ(Whh)maxzσ(z)<1    j=k+1tJj0\rho(W_{hh}) \cdot \max_z \sigma'(z) < 1 \implies \left\|\prod_{j=k+1}^{t} J_j\right\| \to 0ρ(Whh)maxzσ(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로 JjJj\|\prod J_j\| \le \prod \|J_j\|. 각 JjWhhσmax\|J_j\| \le \|W_{hh}\| \cdot \sigma'_{\max}이고, tkt - k 번 곱하면 (Whhσmax)tk(\|W_{hh}\| \cdot \sigma'_{\max})^{t-k}. Gelfand의 spectral radius formula ρ=limkWk1/k\rho = \lim_k \|W^k\|^{1/k}에 의해, 충분히 큰 tkt - 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.91002.7×1050.9^{100} \approx 2.7 \times 10^{-5}. 100 step 전 신호는 사실상 소멸한다.

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

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

첫째, saturation. tanh(z)=1tanh2(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)1001033(0.475)^{100} \approx 10^{-33}. ρ\rho를 아무리 잘 맞춰도 saturation 하나가 학습을 파괴할 수 있다.

세 가지 대응과 그 한계

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

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

ggmin(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만 치료한다. g0\|g\| \to 0인 vanishing에는 개입할 수 없다.

Orthogonal Initialization (Saxe 2014). WhhWhh=IW_{hh}^\top W_{hh} = I이면 모든 singular value가 정확히 1이 되어 ρ=1\rho = 1이 보장된다. Linear RNN에서 orthogonal WWht=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=ht1+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

ctct1=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