Non-Sequential vs Sequential(Time-series) Data
Non-Sequential
시간 정보를 포함하지 않고 생성되는 데이터(순서가 없음)
Sequential
시간 정보를 포함하여 순차적으로 생성되는 데이터(순서가 있음), 순환구조
기본 RNN(Vanilla RNN)
f()와 g()는 활성함수
역방향으로 어떻게 해야 가장 현재 입력과 출력 단의 쌍들을 잘 맞출 수 있는 가중치 행렬을 구하는 것
(backpropagation과정)
에서 문제 발생: 특정 값을 벗어나면 gradient가 0으로 수렴함 => 길이가 길어지면 0에 수렴할 가능성이 높다는 것
LSTM
: Long-Term MemoryCell state: LSTM의 핵심 구성요소, 다이어그램의 상부를 관통하는 선
- step_1(Forgat gate
): 지금까지 cell state저장된 정보에서 얼마만큼 망각(forget)
할 것인지 결정
-> sigmoid함수 사용(1: 모든정보 보존, 0: 모든 정보 무시)
- step_2(Input gate
): 새로운 정보를 얼마만큼 cell state에 저장
할 것인지(어떤 값을 업데이트할지)
-> tahh layer를 사용해 새로운 cell state의 후보 생성
- step_3: 예전 cell state를 새로운 cell state로 업데이트
-> 예전 cell을 얼마만큼 망각할지 계산한 forget gate결과값과 곱함
-> 새로운 cell 후보와 얼마만큼 보존할 것인가 계산한 input gate결과값을 곱함
-> 두 값을 더해 새로운 cell state값으로 결정
- step_4: 출력 값을 결정
-> 이전 hidden state값과 현재 입력값 이용해 output gete값을 산출
-> output gate값과 현재의 cell 값을 결합해 현재의 hidden값 계산
요약....
GRU
: Gated Recurrent UnitAttention
어느 시점의 정보가 RNN의 최종 출력값에 영향을 미치는지 알려주는 메커니즘
Score
: 어텐션 스코어는 디코더의 특징 예측 시점에서 디코더의 hidden state가 인코더의 각 모든 hidden state와 얼마나 유사한지를 나타낸 값