Encoder의 마지막 단에 연결된 벡터는 decoder에 h_0형식의 input으로 들어간다.
Decoder의 첫 부분엔 , 마지막 부분에는 가 붙는다
RNN 방식의 encoder-decoder 구조는 hidden state vector의 dimension이 고정되어 있다는 단점이 있다.
Input 앞 쪽 부분의 단어를 잘 기억하지 못한다는 단점이 있다.
→ 입력 문장의 순서를 뒤집어서 성능을 개선하기도 했음
Encoder hidden state vector를 사용해서 모든 단어를 사용해 예측에 도움을 준다.
Bottle neck 문제를 해결
decoder hidden state vector와 encoder hidden state vector들의 내적에 softmax를 취해서 attention vector를 만든다.
Attention vector와 decoder hidden state vector를 concat하여서 output으로 입력한다.
학습 초반, ground truth를 입력해줘서 잘못 예측한 단어를 teacher forcing 한다.
Teacher forcing을 사용하지 않는 것이 실제 상황과 비슷하다.
유사도를 구하는 방식에 따라 나뉜다.
Luong
두 벡터 사이에 학습 가능한 weight matrix를 넣어서 구하는 방법
Badanau
encoder 마지막 단의 bottleneck problem을 해결