기본 콘텐츠로 건너뛰기

[Deep Learning-딥러닝] LSTM(Long short term memory)


LSTM(Long short term memory)

LSTM은 RNN의 문제점 Gradient Vanishing 문제를 해결한 Model입니다. Vanishing 문제점을 해결하기 위해 Hidden state외에 Cell state를 추가로 사용합니다.

Forget Gate

Forget Gate는 시간 t에서의 정보의 중요도에 따라 기억을 "잊고자 하는 정도"를 나타냅니다. Wxf와 Whf 는ht-1xt 정보의 중요도를 조정하는 weight입니다. 활성함수로 sigmoid를 사용하므로 0~1 범위를 가집니다.
특징은 여러 차원으로 되어 있으므로, 특징별로 Ct-1에서 불필요한 기억을 지우고 필요한 정보는 유지하는 결정을 합니다.

Input Gate


Input Gate는 시간 t에서 새로운 입력 정보를 받고자 하는 정도를 나타냅니다. 활성함수로 sigmoid를 사용하므로 0~1 범위를 가집니다.
특징은 여러 차원으로 되어 있으므로, 특징별 받아들일지 말지를 결정할 수 있습니다.

Cell State


Cell state는 기억을 총괄하는 메모리로, gradient vanishing 문제를 해결하기 위해 사용되었습니다. Input 정보를 얼마나 받아들일지 이전 cell state를 얼마나 망각할지를 결정합니다.
여러 차원으로 되어 있어, 각 차원은 특정 정보를 기억합니다. Hadamard 연산자의 특성으로 인해, 특징 별로 기억하고, 잊고, 새로이 정보를 받을 수 있습니다.
Ct-1에 새로운 인풋 xt와 ht-1를 보고 중요한 정보를 넣는다.

Output Gate


Output Gate는 Cell State 중 어떤 특징을 출력할지 결정하는 역할을 합니다. 활성함수로 sigmoid를 사용하므로 0~1 범위를 가집니다.

Hidden state


Hidden State는 다음 연속된 모듈에 Hidden State결정하는 역할로, Cell State에 tanh activation을 적용한 후, Output gate로 선별하여 출력합니다. tanh을 사용하는 이유는 출력 값의 범위가 -1~1로 bound되게 하기 위합입니다(gradient explode 방지).

감사합니다.

Reference
  • Fast Campus

댓글