NLP - Day 3 9/9, Wed

hylee5642·2021년 9월 11일
0

Boostcamp AI Tech 2기

목록 보기
20/32

Sequence to sequence with Attention

Seq2seq Model

  • Encoder, Decoder

Encoder의 마지막 단에 연결된 벡터는 decoder에 h_0형식의 input으로 들어간다.

Decoder의 첫 부분엔 , 마지막 부분에는 가 붙는다

Attention

RNN 방식의 encoder-decoder 구조는 hidden state vector의 dimension이 고정되어 있다는 단점이 있다.

Input 앞 쪽 부분의 단어를 잘 기억하지 못한다는 단점이 있다.

→ 입력 문장의 순서를 뒤집어서 성능을 개선하기도 했음

  • Main Idea

Encoder hidden state vector를 사용해서 모든 단어를 사용해 예측에 도움을 준다.

Seq2seq model with Attention

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을 사용하지 않는 것이 실제 상황과 비슷하다.

Different Attention Mechanisms

유사도를 구하는 방식에 따라 나뉜다.

Luong

  • Dot
  • General

두 벡터 사이에 학습 가능한 weight matrix를 넣어서 구하는 방법

  • Concat

Badanau

Summary

  • Significantly improves NMT performance
  • Solve the bottleneck problem

encoder 마지막 단의 bottleneck problem을 해결

  • Vanishing gradient 문제 해결에 도움이 됨
  • Provide some interpretability
profile
AI Engineer

0개의 댓글