1. 바닐라 RNN
바닐라 RNN : 가장 단순한 형태의 RNN
1-1 바닐라 RNN의 한계
- 이전 계산 결과에 의존
- 짧은 시퀀스에만 효과적
= 시점이 길어질수록 앞 정보가 뒤까지 전달되기 힘들다 
시점이 길어져 계산이 진행될수록 점점 정보가 손실되어감
= 시점이 길어졌을 때 x1의 영향력 미미
➡️기억력 小 ➡️ 장기 의존성 문제
2. LSTM(Long Shor Term Memory)
LSTM : 전통적인 RNN의 단점을 보완한 RNN의 일종
2-1 LSTM 내부

📌 바닐라 RNN과의 다른 점
- Ct 셀 상태값 (=장기 상태) 추가
- 은닉 상태 계산식 복잡해짐
➡️ RNN보다 긴 시퀀스 처리에 탁월한 성능을 보임!
2-2 은닉 상태 / 셀 상태 계산
2-2-1 입력 게이트

- 현재 정보 기억하기 위한 게이트
- 시그모이드 함수를 지나 과 1 사이의 값 it와 하이퍼볼릭탄젠트 함수를 지나 -1과 1사이의 값을 가지는gt를 이용해 기억할 정보의 양을 정함
2-2-2 삭제 게이트

- 기억을 삭제하기 위한 게이트
- 현재 시점 t의 값과 이전 시점 t-1의 은닉 상태가 시그모이드 함수를 지남
- 삭제 과정을 거친 정보의 양이
0에 가까울수록 정보가 많이 삭제
1에 가까울수록 정보를 온전히 기억
2-2-3 출력 게이트

- 현재 시점 t의 은닉 상태를 결정
- 셀 상태의 값이 하이퍼볼릭탄젠트 함수를 지나 -1과 1사이의 값
- 현재, 이점 시점의 은닉 상태가 시그모이드 함수를 지나 현재 시점의 은닉 상태를 결정
- 은닉 상태 값은 출력층으로 향함
2-2-4 셀 상태

📌입력 게이트에서 구한 두 값에 대해 원소별 곱 진행
Ct=(ft×Ct−1)+(it×gt)
(ft×Ct−1) : 삭제 게이트 결과값
(it×gt) : 기억할 값 = 같은 위치끼리 성분 곱
이 셀 상태 값은 t+1시점의 LSTM으로 넘겨짐
📌 삭제 게이트와 입력 게이트의 영향력
☑️ 삭제 게이트 출력값 ft=0 : 입력 게이트 연 상태
↕️
☑️ 입력 게이트 출력값 it=0 : 삭제 게이트 연 상태
따라서,
삭제 게이트는 이전 시점의 입력을 얼마나 반영하는가?
입력 게이트는 현재 시점의 입력을 얼마나 반영하는가?
를 의미한다.
위키독스 PyTorch로 시작하는 딥 러닝 입문를 기반으로 작성함.