NLP/1주차

3. Seq2Seq & Beam search

jnnwnn 2021. 9. 8. 15:15
  • sequence of word를 input으로 받아서 sequence of words를 출력한다.
  • 인코더 디코더로 구성
  • 고정된 길이로 인코딩해서 정보의 유실이 일어나는 문제가 존재 
  • attention으로 해결 (최종 hidden state만 쓰는 것이 아닌, 중간의 hidden state를 모두 사용)

  • Teacher Forcing 방식: 올바른 정보를 매 time step마다 넣어준다. 학습이 조금 더 빠르다
  • attention solves bottleneck problem, vanishing gradient problem, and provides interpretability

Greedy Decoding: 현재 timestep에서 가장 좋아보이는 단어 선택 -> 중간에 잘못된 단어가 생성되면 되돌릴 수 없다

아래 공식을 maximize 하는 방향으로 해결 -> 모든 경우 탐색이 불가능하다는 문제점이 존재

Beam Search: k개의 가능한 후보 중 가장 확률이 높은 경우를 선택 

BLEU Score

  • precision: = #(correct words) / length of prediction 
  • recall = #(correct words) / length of reference 

  • 순서를 고려하지 않는다는 문제가 있음 -> BLEU score

- n-gram overlap

- precision 만 고려 (n-gram of size one to four)

- precision의 기하평균

- brevity penalty (짧은 번역에 페널티)