attention module의 input은 encoder에서의 각 hidden state vector
decoder의 input은 해당 time step에서의 word embedding vector
encoder 거친 input은 decoder 거친 hidden state vector와 내적 수행
attention scores는 계산된 내적값에 기반한 유사도 나타냄
attention distribution은 softmax 거친 확률값
가중평균 이용하여 하나의 encoding vector, Attention Output 나옴
attention output 값과 decoder hidden state을 concatenate하여 output layer의 input으로 넣음으로써 다음에 나올 단어 예측
최종 output : 특정 time step에서의 예측값
위의 과정 반복함으로써 계속해서 다음 단어 예측
Backpropagation 수행
그림이 좀 더럽네
teacher forcing을 이용함으로써 매 time step마다 올바른 input만 넣어줌
- 예측이 잘못되더라도 ground truth에서의 단어를 입력으로 주어줌
어느정도 시간이 지난 뒤 예측이 충분히 정확해졌을 경우 teacher forcing 거친 값이 아닌, output 값 사용