LSTM (Long Short Term Memory)
기존의 RNN에서 출력과 멀리 있는 정보를 기억할 수 없다는 단점을 보완
따라서 직전 데이터 뿐만 아니라, 좀 더 거시적으로 과거 데이터를 고려하여 미래 데이터를 예측하기 위해 나온 모델이다.
장/단기 기억을 가능하게 설계한 신경망의 구조 (주로 시계열 처리나 자연어 처리에 사용)
LSTM 구조
(cell) state 값 = lstm 담당 파트
lstm 은 이 cell state 를 보호하고 컨트롤 하기 위해 input/forget/output gate 를 통해 값이 효과적으로 흐를 수 있게 함
단계별 과정
- forget gate
말 그대로 과거 정보를 잊기 위한 게이트 이다.
이전 output 과 현재 input을 입력받아 시그모이드를 취한 후 그 값을 과거 정보에 곱해준다.
활성화 함수로 시그모이드 함수를 사용( 시그모이드 함수의 출력 범위는 0부터 1이기 때문에 값이 0이면 이전상태의 정보는 잊고 값이 1이면 이전상태의 정보를 온전하게 기억함 )
- input gate
cell state 에 새로운 값을 얼마나 저장할지를 결정.
'입력 게이트 레이어' 라고 하는 시그모이드 레이어가 업데이트 할 값을 결정
다음으로 tanh 레이어는 상태에 추가할 새로운 후보값의 벡터를 생성
이 두 가지를 결합하여 현재 정보에 대한 보존량을 결정함
- update gate
과거 cell state 를 새로운 state로 업데이트 하는 과정
이전 상태에 곱해서 이전에 잊기로 결정한 것을 잊은 다음 현재 입력값을 업데이트 하기로 결정한 정도에 따라 조정된 새로운 후보값을 더해 새로운 cell state 만듦
- output gate
최종 결과를 위한 게이트
과거 정보와 현재 데이터를 사용하여 뉴런의 출력을 결정
시그모이드 레이어를 통해 cell state의 값에 대해 출력값으로 사용할 비율을 정하고 tanh 를 통해 나온 cell state 값과 곱해서 최종적인 출력값을 만듦
해당 영상을 통해 lstm 모델의 구조가 어떻게 되는지 조금이나마 이해하며 사용해 볼 수 있었다.
https://youtu.be/rbk9XFaoCEE?si=Wn_LRivGs3g72hWm
'국비 교육 > 머신러닝, 딥러닝' 카테고리의 다른 글
[딥러닝 - 교육 외] Keras (0) | 2024.08.01 |
---|---|
[딥러닝- 교육 외] 이론, 알고리즘 종류 (0) | 2024.08.01 |
[딥러닝 - 교육 외] RNN 이란 (0) | 2024.08.01 |
[텍스트 마이닝] 한글 텍스트 분석 - 한글 영화 감성분석 (0) | 2024.08.01 |