← Back to Blog

[Paper Review] Recurrent Neural Network Regularization

paper review > deep learning

2026-07-093 min read

#paper-review #deep-learning #natural-language-processing #rnn #regularization

논문 링크: Recurrent Neural Network Regularization

논문 정보

항목내용
출판 시점2014년
저자Wojciech Zaremba, Ilya Sutskever, Oriol Vinyals
주제RNN, LSTM, dropout, language modeling

핵심 아이디어

이 논문은 LSTM language model에서 dropout을 어떻게 적용해야 하는지 다룬다. 일반 feedforward network에서는 dropout이 널리 쓰였지만, recurrent connection에 무작정 적용하면 hidden state가 시간에 따라 정보를 유지하기 어려워진다.

논문의 핵심 선택은 recurrent connection에는 dropout을 적용하지 않고, non-recurrent connection에만 적용하는 것이다.

RNN에서 regularization은 hidden state의 장기 기억 경로를 망가뜨리지 않도록 적용 위치를 신중히 정해야 한다.

왜 중요한가

Transformer 이전에는 LSTM language model이 sequence modeling의 핵심이었다. 이 논문은 큰 RNN을 overfitting 없이 학습하는 실용적인 recipe를 제공했다.

수식으로 보는 핵심

LSTM update는 이전 hidden state ht1h_{t-1}와 현재 입력 xtx_t를 함께 사용한다.

it=σ(Wixt+Uiht1)ft=σ(Wfxt+Ufht1)ot=σ(Woxt+Uoht1)gt=tanh(Wgxt+Ught1)\begin{aligned} i_t &= \sigma(W_i x_t + U_i h_{t-1}) \\ f_t &= \sigma(W_f x_t + U_f h_{t-1}) \\ o_t &= \sigma(W_o x_t + U_o h_{t-1}) \\ g_t &= \tanh(W_g x_t + U_g h_{t-1}) \end{aligned}

Cell state와 hidden state는 다음과 같다.

ct=ftct1+itgtc_t = f_t \odot c_{t-1} + i_t \odot g_t ht=ottanh(ct)h_t = o_t \odot \tanh(c_t)

이 논문의 핵심은 dropout mask를 recurrent path ht1hth_{t-1}\rightarrow h_t에 직접 넣지 않는 것이다. 대신 layer 사이의 non-recurrent connection에 dropout을 적용한다.

h~tl1=mtlhtl1\tilde{h}^{l-1}_t = m^l_t \odot h^{l-1}_t htl=LSTM(h~tl1,ht1l,ct1l)h^l_t = \mathrm{LSTM}(\tilde{h}^{l-1}_t, h^l_{t-1}, c^l_{t-1})

RNN regularization의 핵심 수식은 시간 방향 memory update는 보존하고, layer 사이 입력에만 dropout noise를 넣는다는 점이다.

이렇게 해야 장기 기억을 망가뜨리지 않으면서 overfitting을 줄일 수 있다.

RNN에서 Dropout이 까다로운 이유

Dropout은 feedforward network에서 overfitting을 줄이는 표준 기법이다. 하지만 RNN에서는 같은 hidden state가 시간축을 따라 계속 전달된다. 이 recurrent path에 매 step 다른 dropout mask를 강하게 적용하면, 모델이 장기 정보를 안정적으로 저장하기 어렵다.

논문의 선택

Zaremba et al.은 LSTM의 recurrent connection에는 dropout을 적용하지 않고, layer 사이의 non-recurrent connection에만 dropout을 적용한다. 즉 시간 방향 memory 흐름은 보존하고, input-to-hidden 또는 hidden-to-output 같은 feedforward 성격의 연결을 regularize한다.

이 논문의 실용적 결론은 RNN regularization에서 기억 경로와 표현 경로를 구분해야 한다는 것이다.

Language Modeling에서의 의미

Language model은 다음 token을 예측하기 위해 이전 context를 기억해야 한다. Dropout이 memory를 계속 흔들면 perplexity가 나빠질 수 있다. 반대로 dropout이 전혀 없으면 큰 LSTM은 training corpus에 쉽게 overfit된다. 이 논문은 두 요구 사이의 균형점을 제시했다.

이후 연구와의 연결

이후 variational dropout, locked dropout, recurrent dropout without memory loss 같은 방법들이 제안되었다. 공통 관심사는 dropout mask를 시간축에서 어떻게 공유하거나 제한해야 memory를 덜 망가뜨리는가이다.

한계

논문의 recipe는 단순하고 효과적이지만, recurrent connection 자체를 regularize하지 못한다는 한계가 있다. 또 Transformer 기반 language model이 주류가 된 이후에는 적용 범위가 줄었다. 그래도 sequence model에서 regularization이 architecture의 정보 흐름과 충돌할 수 있다는 교훈은 여전히 유효하다.

읽을 포인트

정리

RNN regularization은 dropout을 어디에 넣느냐가 핵심이다. 이 논문은 hidden state의 장기 memory path를 보존하면서 layer 사이 표현을 regularize하는 실용적인 기준을 제공했다.