LSTM(Long Short-Term Memory)은 1997년 셉 호크라이터(Sepp Hochreiter)와 위르겐 슈미트후버(Jürgen Schmidhuber)가 제안한 RNN의 변형으로, 「긴 시퀀스에서도 중요한 정보를 잊지 않도록」 설계된 구조입니다.
일반 RNN의 그래디언트 소실 문제를 효과적으로 해결했습니다.
LSTM의 핵심은 「게이트(gate)」라는 작은 필터들입니다.
입력 게이트는 새 정보를 얼마나 받아들일지, 망각 게이트는 기존 기억의 어느 부분을 지울지, 출력 게이트는 기억의 어느 부분을 다음 층으로 내보낼지를 자동으로 결정합니다.
비유하자면 LSTM은 「자기 머릿속에 노트북을 들고 다니면서 매 순간 무엇을 적고, 무엇을 지우고, 무엇을 다음 사람에게 보여 줄지를 영리하게 고르는 독자」와 같습니다.
일반 RNN이 「휘발성 메모리」였다면 LSTM은 「선택적 장기 기억」을 가집니다.
이 단순한 아이디어 덕분에 LSTM은 100~1000 단계의 시퀀스에서도 학습이 가능해졌고, 2010년대 초반의 음성 인식·기계 번역·텍스트 생성에서 표준이 됐습니다.
구글의 첫 신경망 번역기(GNMT, 2016)도 LSTM 기반이었습니다.
GRU(Gated Recurrent Unit)는 LSTM의 단순화 변종으로, 게이트를 3개에서 2개로 줄여 학습이 약간 빠릅니다.
성능은 LSTM과 거의 비슷해 둘은 자주 비교되지만, 결국 2017년 Transformer의 등장으로 두 모델 모두 자연어 분야의 주류 자리는 내주게 됐습니다.
한 줄 요약
LSTM은 입력·망각·출력의 세 게이트로 「선택적 장기 기억」을 구현한 RNN 변형으로, 1997년 등장 이후 음성 인식·기계 번역의 표준이 되었으나 2017년 Transformer에 자리를 내줬습니다.
더 알아볼 것
- LSTM의 셀 상태(cell state)
- GRU와 LSTM의 차이점
- Bidirectional LSTM과 ELMo