Gating insight
Vanilla RNN 이 long sequence 에 gradient vanish — 같은 weight matrix 가 모든 timestep 통해 곱해져서. LSTM (1997) 이 별도 cell state c_t 추가, 시간 통해 거의 unchanged 흐르게 하고, learned gate 3 개 (forget, input, output) 가 뭐 잊고 뭐 더하고 뭐 read out 할지 결정.
Forget gate 가 key piece. Sigmoid-valued vector (0~1, dimension 당) 가 elementwise 로 이전 cell state 곱해. Dimension 의 forget gate 가 1 근처면, 그 memory piece 가 많은 step 살아남아. 0 근처면 즉시 wipe. 이 gate 통한 backprop 이 tanh layer 통한 backprop 보다 훨씬 친화적.
GRU — leaner cousin
GRU (Cho et al., 2014) 가 forget 과 input gate 를 하나의 update gate 로 merge, 별도 cell state drop. Parameter 적고, 일부 task 에 약간 덜 expressive, 실전에서 LSTM 에 훨씬 가까움. Recurrence 원하고 생각하기 싫으면 좋은 default.
PyTorch 에서 한 줄 — nn.LSTM 또는 nn.GRU — 로 쓰고 서로 drop-in replacement 로 다뤄. 선택이 거의 큰 차이 안 남, 본인 팀이 이미 편한 거 골라.
2026 년에 여전히 이기는 곳
Constant per-token cost 의 streaming inference (transformer attention 이 token 당 O(n), RNN 이 O(1)). Sequential observation 소비하는 RL policy. 일부 embedded ASR pipeline. 대부분 일반 sequence work 가 transformer 로 옮김.