논문

NEURAL MACHINE TRANSLATIONBY JOINTLY LEARNING TO ALIGN AND TRANSLATE

Frog Photo Developer 2021. 5. 13. 14:38

기존 Encoder Decoder의 문제점

고정된 길이의 Sentence의 hidden state를 context-vector 사용함으로 인해 Sentence의 길이가 길어질수록 제대로 예측하지 못하는 문제 발생

 

논문에서 제안하는바 -> 고정된 길이의 state를 하나의 context-vector로 압축하여 사용

 

기존 Encoder Decoder 구조

Encoder
Decoder의 joint 확률
Decoder

 

Proposed Approach(Alignment)

 

(1) Proposed Approach의 간략도
(2) 새로운 모델의 조건부 확률
(3)

식(2)에서 si는 time i에서의 RNN hidden state이다.

Encoder-Decoder와의 차이는 context-vector가 중복되지 않는것이다.

 

(4)context-vector
(5)

context vector ci는 입력 문장과  매핑된 encoder의 annotation(hidden state)에 의존적이다.

각 annotation은 입력문장의 i번째 word에서  주변에서 강한단어에 focus를 맞춘 hi 정보들이 압축되어이다

context vector i는 annotation hi 에대한 weight들의 합이다.

score함수 eij는 input word의 j의 주변 위치에서의 ouput i의 위치를 잘맞추는 정렬모델 이다.

hj와 이전 time의 output의 hidden state(si-1)의 FFN 연산을함 // si-1은 decoder의 hidden state, hj는 encoder에대한 hidden state

 

αij은 입력 word xj가 주어졌을때 타겟 yi를 정렬할 확률이다. 그런다음 i번째 ci는 모든 αij 확률 annotaiton에 대한 expected annotation이다.

 

논문에서는 x1에서 xT까지의 annotationl뿐만 아니라 각단어를 요약하기를 원하므로 양방향 RNN을 사용한다.

 

Experimental Setup

DataSet

WMT ‘14 English-French를 사용하였으며 각 언어에서 빈번하게 사용되는 30,000개의 단어를 사용

포함되지 않은 단어들은 [UNK] Token

WMT ‘14 English-French를 사용하였으며 각 언어에서 빈번하게 사용되는 30,000개의 단어를 사용

포함되지 않은 단어들은 [UNK] Token으로 처리한다.

 

Model

모델 비교를 위해 같은 데이터를 사용하여 기존 모델인 RNN Encoder-Decoder와 새로운 모델인 RNNsearch학습

Sentence의 단어 갯수가 30개까지만을 학습 (RNNencdec-30, RNNsearch-30)

50개까지 학습 (RNNencdec-50, RNNsearch-50).

Training80문장씩으로 이루어진 mini batch SGD를 사용하였다. 학습이 된 후에 prediction에서는 beam search사용하였다.

 

Result

RNNsearch-50이 문장의 길이가 길어짐에도 정확도가 높은것을 볼수 있다.
translation BLEU 스코어
번역할때 어떤단어에 가중치를 더주었는지에 대한 Graph