Neural Machine Translation By Jointly Learning To Align And Translate

Inc Lomin's avatar
Oct 10, 2019
Neural Machine Translation By Jointly Learning To Align And Translate

Paper Info

ICLR 2015 Oral Paper
notion image

Goal of This Paper

기계 번역 태스크에서 뉴럴넷 기반 Encoder-Decoder 접근 방식의 문제해결 및 성능 개선

Contribution

  1. 기존 뉴럴넷 기반의 기계번역에서 encoder-decoder 방식의 접근시, 입력 시퀀스의 길이에 상관없이 고정길이의 encoding vector를 사용하여 긴 길이의 문장 번역 성능 저하 문제를 해결함.
  1. 단어 단위로 디코딩을 할 때, 인코딩된 피쳐벡터에서 현재 디코딩되는 단어와 연관된 피쳐 부분(=입력 언어의 단어)에 더 많은 weight를 주는 attention mechanism을 제안.
  1. 기존의 SOTA(=뉴럴넷 기반이 아닌 2015년 당시의 SOTA)에 필적하는 성능을 달성함.

Backgrounds

RNN Encoder-Decoder

기존의 RNN기반 Encoder-Decoder 방식을 수식화 하면 다음과 같다.
인코더는 입력 문장인 시퀀스벡터 x를 피쳐 벡터 c (or context vector)로 변환한다.
notion image
이 때, 피처 벡터로의 변환은 RNN을 이용한다.
notion image
notion image
이 때, h_t는 시간 t에서의 hidden state이고, f와 q는 nonlinear function이다.
(Ex: f=LSTM, q({h_1, ..., h_T }) = h_T)
디코더는 일반적으로 다음 워드를 예측하기 위해 주어진 컨텍스트 벡터 c와 이전까지 예측된 워드 정보를 이용하도록 학습된다. 이는 디코더가 번역 결과 y의 확률을 정의하는데 있어, y_i의 joint probability를 ordered conditionals로 decompose 하여 표현하는 것으로 볼 수 있다.
notion image
notion image
각각의 conditional probability는 RNN으로 다음과 같이 모델링 될 수 있다.
notion image
위 수식에서 g 일반적으로 RNN이 사용되고, s_t는 hidden state를 의미한다.

Proposed Method: Learning to Align and Translate

Decoder

notion image
제안 방법에서 디코더의 수식은 다음과 같다.
notion image
notion image
기존의 수식과 다른 점은 매 출력 워드 y_i와 hidden state s_i 연산에 이전 출력과는 다른 컨텍스트 벡터 c_i 가 사용된다는 점이다.
컨텍스트 벡터 c_i는 인코딩된 벡터 시퀀스(논문에서는 annotations라고 지칭함.)에 대한 weighted sum으로 계산된다.
notion image
이 때의 weight는 alignment model a에 의해 예측된다. a는 뉴럴넷 모델이고, weight 알파는 a의 출력값들에 대한 softmax 값이다.
notion image
notion image
기존의 기계번역 모델들과 다른 점은 제안방법에서는 입력 혹은 인코딩 벡터와의 alignment가 더이상 latent variable이 아니고, weight 값에 의해 직접적으로 결정되는 soft alignment 하는 것이다. 즉, i번째 컨텍스트 벡터 c_i는 모든 annotions들의 weighted sum으로 계산된 expected annotation이라고 볼 수 있다. 그리고, 각 weight alpha_ij는 hidden state s_i 와 출력 y_i 를 결정하는데, 이전의 hidden state s_(i-1)와 j 번째 annotation h_j 의 중요한 정도를 반영한다고 볼 수 있다. 즉, 이것은 디코더가 현재 출력을 결정하는데 어떤 입력 값을 중요하게 여기는지를 반영하는 attention mechanism 이다.
 

Encoder: Bidirectional RNN For Annotating Sequences

제안 방법에서는 인코더를 위한 RNN 구조를 Bidirectional RNN을 사용하였다. 이 구조는 j번째 hidden state에 반영되는 입력 시퀀스의 정보가 한쪽 방향이 아닌 양쪽 방향 정보를 모두 반영 수 있는 장점을 가진다. 특히, RNN은 최근 입력에 대한 정보를 더 잘 반영하는 특성이 있으므로, j번째 hidden state는 j번째 주변의 워드에 대한 정보를 반영하게 된다.
각각의 워드 x_j에 대응되는 annotation h_j는 양방향의 hidden state를 concatenate하여 생성된다.
notion image

Experiments

실험은 영어-to-불어 번역 태스크에서 수행되었다. 자세한 실험 세팅 관련 정보는 생략한다.
 
notion image
제안 방법(RNNsearch)은 기존의 Encoder-decoder 방식에 비해 긴 문장에 대해서도 성능이 유지되었다. 이는 고정길이 피처벡터를 사용하는 기존의 방식에 비해 제안 방식이 가변 길이 벡터를 사용할 수 있게 됨으로 인한 효과로 보인다.
 
notion image
제안 방법은 기존 Encoder-Decoder 방식에 비해 향상된 성능을 보여주고, SOTA 기술에 대해 거의 근접한 결과를 보여주었다. 참고로 SOTA(=Moses)는 phase 기반의 번역 시스템으로 뉴럴넷 기반이 아니다.(아마도..)위 표에서 오른쪽 칼럼의 성능은 학습시에 사용된 word만을 이용하여 평가한 결과이다.
 
notion image
위 그림은 디코더의 attention weight를 시각화 한 것이다. 불어와 영문의 번역 순서가 다를 때, attention 되는 annotation 벡터가 달라지는 것을 보면, attention mechanism이 잘 동작하는 것을 알 수 있다.
 

My Opinion

Attention Mechanism이 처음으로 제안된 논문으로서, 이 논문 이후에 attention 개념을 이용한 후속 논문이 엄청나게 나왔다. attentaion mechanism은 비전에서 weakly-supervised learning에 쓰이는 Class Activation Map의 개념과도 매우 유사하다. 두 연관 관계를 고려하여, 발전된 최신 attentaion mechanism을 weakly-supervised 문제에 적용해보거나 혹은 그 반대의 적용도 가능할 것으로 보인다.

Reference

Share article