바닐라 RNN기법(기본 rnn기법)에는 입력 시퀸스가 길어지는 장기 학습 과정에서 학습 곡선의 기울기가 0이 되어버리는
Vanishing gradient problem이 발생한다. 이러한 문제로 인해 lstm(long short term memory)가 고안되었다.

lstm에는 vanishing gradient problem을 해결하기위해 셀이라는 구조를 고안하였다. 기본적으로는 RNN과 같은 체인 구조로 구성되어있다.

하지만 하나의 STATE에는 입력, 출력, 망각 게이트로 구성되어있다.

망각게이트는 이전의 어떤 정보를 버릴지 정한다.

입력 게이트는 새로 들어온 정보 중 어떤 정보를 STATE에 저장할지 정한다. 시그모이드를 취해서 어떤 정보를 저장할지 정하고 tanh를 취해서 새로운 vector를 만들어서 셀에 +한다.

state에 정보를 업데이트 하는 과정은, 앞의 두가지 gate를 활용하여 cell을 업데이트한다.

마지막 출력 게이트는 어떤 정보를 밖으로 출력할지 정한다. input gate의 정보에 sigmoid를 취하여 어떤 정보를 출력할지 정한 후 cell state에 tanh activate func을 취한 값과 input gate에서 들어온 정보를 곱하여 출력으로 내보낸다.
참조.