오늘의 TIL
LSTM 구조
학부 때 사용했던 LSTM의 구조에 대해 좀 더 자세하게 학습했습니다.
LSTM 핵심 요소
- 메모리 블록 (샐): 은닉상태 장기기억
- 망각(forget) 개폐구 (1:유지, 0:제거): 기억 유지 혹은 제거
- 입력(input) 개폐구: 입력연산
- 출력(output) 개폐구: 출력연산
일반적인 RNN과 다른 점은 LSTM 모듈의 경우 cell이라는 메모리 값을 전달하는 구조를 지니고 있습니다.
입력 값이 sigmoid 함수를 거치면서 입력 값들의 전달 정도가 1과 0사이의 값으로 결정되게 됩니다. 기억 상태를 결정하는 값은 학습을 통해 변경됩니다.
출력값 또한 현재의 입력에 의해 cell에 있는 정보를 선택적으로 전달하게 됩니다.
RNN의 경우 이전 층의 hidden layer만 사용하기 때문에 가까이 있는 정보들만 참조하게 되는 경향이 있습니다.
LSTM은 입력 개폐구의 값을 0으로 만들어 이전 정보를 그대로 전달 시킬 수 있습니다. 또한 forget gate와 output gate의 조합으로 전달된 입력을 선택적으로 받아들일 수 있습니다. 이는 RNN의 한계를 개선시킨 모델이라 볼 수 있습니다.
댓글남기기