LSTM 개념
- RNN의 **장기 의존성 문제를 해결하기 위해 만들어진 장단기 메모리(Long Short-Term Memory)**이다. 이 또한 RNN의 일종이다.
- LSTM은 hidden layer의 메모리 셀에 입력 게이트, 망각 게이트, 출력 게이트를 추가하여 불필요한 기억을 지우고, 기억해야할 것들을 정한다.
- 요약하면 LSTM은 은닉 상태(hidden state)를 계산하는 식이 기존의 RNN보다 조금 더 복잡해졌으며 셀 상태(cell state)라는 값이 추가되었다.
- LSTM은 RNN과 비교하여 long sequence의 입력을 처리하는데 탁월한 성능을 보인다.
LSTM 구조
- LSTM도 똑같이 체인 구조를 가지고 있지만, 반복 모듈은 다른 구조를 지닌다.
- 위에서 tanh layer 한층 사용 대신 4개의 layer가 특정 방식으로 서로 정보를 주고 받도록 설계되어있다.


- 분홍 동그라미: vector 합과 같은 pointwise opertaion
- 노란색 박스: 학습된 Neural Network layer
- 선: 한 node의 output을 다른 node의 input으로 vector 전체를 보내는 흐름
- 합쳐지는 선: Concatenatation; 결합
- 갈라지는 선: Fork; 복사해서 다른쪽으로 전송
Main Idea
Cell state: 모듈 그림에서 수평으로 그어진 윗 선에 해당, 컨베이어 밸트처럼 작은 linear interaction만을 적용시키면서 전체 체인을 계속 구동시킨다.