베이즈 정리 사용
시퀀스 데이터를 분석할 때 모든 과거 정보들이 필요한 것은 아님
방법 1
방법 2
방법 3
바로 이전 정보를 제외한 나머지 정보들을 라는 잠재변수로 인코딩해서 활용하는 잠재 AR 모델 사용
예시
10 번째 단어를 예측할 때, 는 8~1 단어가 되고 이를 이용해 예측
11 번째 단어는 는 9~1 단어가 되고 이를 이용해 예측
Q. 바로 하나 전 정보 빼는거랑 안빼는거랑, 방법 1 이랑 방법 3이랑 무슨 차이?
⇒ 그게 아니라 t-1 번째 단어와, 잠재변수 두 개를 이용해서 t 번째 단어를 예측하는 것!
⇒ RNN
더불어 활성함수까지 합쳐지면 더 예전 정보는 영향력이 없어짐, 시그모이드면 Vanishing Gradient, 렐루면 너무 커져서 exponential (폭발적이게) 됨
⇒ Long short-term dependencies (LSTM) 로 단점을 극복
지금까지 말한 기본 RNN = Vanilla RNN
Forget gate (버릴거 정하기)
Decide which information to throw away
: 이전 셀스테이트에서 넘어온 정보 중 버릴 것을 정함
→ 이전 히든 정보와 현재 입력을 통해 지울거 정함
Input gate (남길거 정하기)
Decide which information to store in the cell state
: 이전 히든과 현재 정보를 통해 어떤 정보를 올릴지에 대한 정보
(cell state candidate) : 이전 히든과 현재 정보로 tanh 통과해서 모든 값이 정규화된 C 틸다, 셀 스테이트의 예비군
이 두개를 잘 섞으면 새로운 셀 스테이트로 업데이트됨
→ 이전 요약 정보와 현재 입력을 통해 남길거 정함
Update cell (작업 실시)
Update the cell state
f 를 통해 버릴거 버리고, C틸다를 통해 어느 값을 올릴지 정함
→ 버릴 것과 남길 것을 토대로 셀 스테이트를 업데이트
Output gate
Make output using the updated cell state
업데이트된 값을 얼만큼 밖으로 내보낼지 정함
→ 업데이트 된 값을 한 번 더 조작해서 밖으로 빼냄
BoostCamp AI Tech