논문 정보
2_NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE.pdf
NLP에서 기존에 통계적 수준에서의 학습에 불과했던 Neural Machine Translation을 Attention 기법을 사용해 새로운 국면으로 끌고 간 중요한 논문이다. 최근 딥러닝의 전범위에 적용되고, Transformer 모델을 이해하기 위해 필수적으로 알아야 하는 개념이다.
논문 배경
Machine Translation(번역)의 궁극적 목표 : 어떤 언어의 문장이 주어졌을 때, 가능한 언어의 번역 중에서 최대 확률을 갖는 언어의 번역을 찾아내는 것
본 논문은 기계 번역 분야에 Neural Machine Translation 방법이 새롭게 제안된 시기에 쓰여졌다.
(2014 Sequence to Sequence Learning with Neural Networks 논문에서 첫번째 NMT 모델이 등장)
NMT 이전 분야에서는 statistical based SMT가 주로 쓰였다. 하지만 통계 기반의 SMT는 일반적이지 않은 단어들을 처리하는데 어려움이 있었고, 복잡하여 인간의 노력이 매우 많이 필요했다. → NMT는 이를 neural network를 이용하며 해결하였다.
Neural Machine Translation
초기 NMT 모델은 주로 RNN-based encoder-decoder models(Seq2Seq) 형태였다.

encoder는 입력 문장 x를 고정 크기의 벡터 c로 변환시킨다.


decoder는 encoder로부터 1) 주어진 context vector c와, 2) 이전의 예측 결과를 이용해 번역 결과를 생성한다.


train은 predicted output from each time steps과 target output(true)를 가지고 cross-entropy loss를 계산하여 학습한다.
논문 이전의 NMT model의 problem
이러한 encoder-decoder 구조에서 source 문장의 필요한 모든 정보를 하나의 고정 크기의 벡터(a fixed-length context vector c)에 넣음으로써 Bottleneck Problem이 발생한다.
쉽게 생각하면, 문장의 전체 정보를 하나의 고정 크기 벡터에 넣기 때문에(information compression) 문장이 길어질수록 성능이 저하되는 것이다.
→ NMT Model의 input sentence 길이에 대해 Robust한 결과를 낼 수 있는 모델이 필요하다.
본 논문의 Solution
본 논문에서는 “learns to align and translate jointly”학습하는 새로운 구조의 NMT 모델을 제안했다.
decoder에서 하나의 output을 만들어낼 때마다, input sentence을 탐색해서 현재 생성하려는 부분과 가장 관련있는 영역에 Attention한다. (encoder에 직접 연결함)
즉, 하나의 output을 만드는 시점마다 각각의 context vector c를 생성한다.
