기존 RNN의 한계를 극복하기 위해(배니싱 그라디언트, 익스플로딩 그라디언트) LSTM등장.
그라디언트 클리핑 방법을 이용하여 RNN을 계속 사용하는 방법도 있으나, 그라디언트를 잘라내는 것 자체가 좋은 선택은 아니라고 함
LSTM은 구하고자 하는 값이 있을 때 단 한번만 게이트를 거치면 됨(셀 스테이트를 타고 이동하기 때문에 해당 셀이 아닌 이상 굳이 게이트를 거칠 필요가 없음)
h,c 두 개의 hidden state가 있으며 셀스테이트의 경우 외부에 노출되지 않는다.
LSTM의 장점으로는 dot곱이 아닌 elementwise 곱을 하여 연산이 간편하고, forget gate가 step마다 변하기 때문에 그라디언트 소실, 그라디언트 폭발의 문제에 상대적으로 둔감함.
tanh를 사용하는 이유도 위의 문제와 관련되어있는데, 시그모이드에 비해 상대적으로 미분 최댓값이 크기때문에 사용함.(tanh가 아닌 다른 활성화함수를 사용했지만, 특정 분야에서만 조금 뛰어날 뿐 압도적으로 좋은 결과를 내지는 못했음. 더 나빠지는 결과도 존재)