1. Introduction


Nerual machine translation 은 기계 번역에 대한 새로운 접근 방식이다. 다양한 논문들이 있었으며, 이 방식은 기존의 phrase-based translation 시스템의 sub-components 를 만드는 방식과는 다르게, 하나의 NN 모델을 구성하여 번역하는 방식이다.

가장 많이 제안된 모델은 encoder-decoder (seq2seq) 방식이며, Input sentence 를 입력받아, 이를 Fixed-dimensional vector로 압축한 뒤에, 다시 이 벡터를 Output sentence 로 추출하는 방식이였다.

하지만 이런 방식은, 문장의 모든 정보를 fixed-dimensional 벡터에 압축해야 하는 한계가 있었고, 특히 문장의 길이가 긴 문장의 경우에는, 정보들의 손실이 불가피할 것이다. 실제로 Cho는 긴 문장에 대한 NN 번역 정확도가 현저히 떨어짐을 실험을 통해 확인했다.

따라서 이 문제를 해결하기 위해, encoder-decoder 방식을 확장하여, Align and translate Jointly 하는 방식을 제안한다. 기존의 모델들과 가장 구별되는 점은, Input sentence 를 하나의 fixed-dimensional 벡터로 압축하는 것이 아니라, Input sentence 를 sequence of vector 로 표현하는 것이다.

이로써 문장이 아무리 길더라도, 정보의 손실 없이 모두 Sequence of vector 로 표현할 수 있으며, 이들의 부분집합을 통해서 번역을 수행할 수 있다.

2. Background: Neural Machine Translation


이 부분은 지금까지 논문 리뷰를 하면서 많이 접해왔던 부분이기 때문에, 생략하도록 하겠다.. 혹시라도 보지 못했던 분들은 Sequence to Sequence Learning with Neural Networks 이 논문을 읽어보도록 하자.

3. Learning to Align and Translate


이 섹션에서는 본격적으로 모델을 제안하는데, 제안된 모델은 bidirectional RNN 을 encoder 로써 사용한다. 그리고 decoder은 번역을 진행할 때, 계속해서 source sentence 에서 필요한 부분을 검색하며 번역을 수행한다.