Recurrent cell 가족
RNN은 sequence를 한 step씩 처리하면서 지금까지 본 걸 요약하는 hidden state 유지. 각 step은 현재 입력 + 이전 hidden state로 새 hidden state 만들고 (선택적으로) 출력.
SimpleRNN은 가장 기본 cell. 20–30 step 넘어가면 gradient가 vanish 또는 explode 해서 막혀.
LSTM (Long Short-Term Memory)은 vanishing gradient를 두 stream architecture로 해결: cell state (장기 기억)와 hidden state (작업 기억). 세 gate — forget, input, output — 가 정보 흐름 제어. LSTM은 수백 step 의존성을 안정적으로 모델링.
GRU (Gated Recurrent Unit)는 streamline된 LSTM, gate 둘 (셋 대신), cell과 hidden state 합침. 동등한 LSTM 대비 ~25% 적은 파라미터, 대부분 task에서 비슷한 정확도, 빠른 training. reset_after=True 설정해서 CuDNN 최적화 GPU 구현 사용 — default보다 최대 5배 빠름.