LSTM(long short term memory)
개폐구(gate)
- 개패구를 열면 신호가 흐르고, 닫으면 차단됨
- 위 사진을 보면 t=1에서 입력만 열렸고 t=32,33에서는 입력과 출력이 모두 열림
- 0,1 사이 실수 값으로 개폐정도를 조절 <- 이 값은 학습으로 알아냄
LSTM 핵심 요소
- 메모리 블록(셀): 은닉 상태(hidden state) 장기 기억
- 망각(forget) 개폐구 (1: 유지, 0: 제거): 기억 유지 혹은 제거
- 입력(input) 개폐구: 입력 연산
- 출력(output) 개폐구: 출력 연산
- c_t-1: 과거에서 넘어오는 메모리 셀
- c햇: h를 만들기 위한 단계 i가 개폐구라 이걸 보낼지 말지 비선형 함수로 결정, 시그모이드이기 때문에 보내는 양을 조절할 수 있음
RNN과 LSTM의 비교
- RNN은 입력->은닉, 은닉->은닉, 은닉->출력 으로 정보가 흐름
- LSTM은 입력->은닉, 은닉->은닉, 은닉->출력 으로 정보 흐름을 가지고 있고
- 추가로 메모리블록(혹은 셀)의 출력 -> 출력 개폐구, 입력 개폐구
- 입력 벡터 -> 출력 개폐구, 입력 개폐구 를 가지고 있음