본문 바로가기
Paper Review/Deep Learning

[논문 리뷰] NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE (2015)

by je0nsye0n 2024. 8. 13.
논문명: Neural Machine Translation by Jointly Learning to Align and Translate
저자: Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio
출간지: ICLR 2015
발간일: 2016.05

 

I. Introduction

본 논문에서는 정렬과 번역을 공동 학습하는 encoder-decoder 구조를 통해 이전 접근법보다 번역 성능을 크게 향상시키는 것을 보여준다. 

 

  • Background

과거의 Machine Translation은 다양한 sub component로 구성되어 있었고 각 component는 각각 학습되고 구성되었다. 이후로는 하나의 큰 neural network를 이용한 translation이 제안되었다. Neural Machine Translation(NMT)의 경우, encoder-decoder 계열에 속한다. 이는 인코더 신경망이 소스 문장을 읽어 고정 길이 벡터로 인코딩을 하고, 디코더는 인코딩된 벡터로부터 번역을 출력하는 방식이다. 이때, 전체 인코더-디코더 시스템은 소스 문장을 주어졌을 때 올바른 번역일 확률을 최대화하도록 공동 훈련한다. 예시로, RNN 혹은 LSTM을 이용한 인코더-디코더 구조를 들 수 있다.

그러나, 위와 같은 구조에서는 잠재적 문제가 존재한다. 바로, 신경망이 소스 문장의 모든 필요한 정보를 fixed-length vector에 압축해야 한다는 점이다. 이 문제를 해결하기 위해 인코더-디코더 모델을 확장하여 정렬과 번역을 공동으로 학습하는 방법을 도입한다.

 

  • Task

기존 Encoder-Decoder의 한계 : fixed-length vector

고정된 크기의 벡터를 갖는 것은 Bottlenect을 일으킨다. 이는 source sentence를 고정된 크기의 벡터에 압축하기 때문에, 긴 문장에 대한 정보를 담기 어렵다. (= 성능 저하)

 

해결법 : align과 translate을 공동으로 학습하는 방법 제안

따라서, 본 논문의 저자는 위의 문제점을 해결하기 위하여 새로운 구조를 제안한다. 해당 모델이 번역에서 단어를 생성할 때마다, source sentence에서 가장 연관이 있는 부분들을 찾고나서 그 다음 모델이 이전에 생성된 모든 target word와 source position에 기반한 context vector를 이용하여 target word를 예측하는 것이다.

 

차별화 요소 : adaptively

기존에는 input sequence에 대하여 하나의 고정된 길이의 vector로 표현했지만, 

본 모델은 이를 vector sequence로 표현하고 Decoding하는 동안 이 벡터의 subset을 adaptively하게 선택한다.

*adaptivley : 각 단계에서 전체 입력 시퀀스와 가장 관련성이 높은 정보를 포함하는 벡터의 부분 집합을 결정하는 것. 이는 번역하는 단어 혹은 구에 따라 달라지기 때문에 'adaptively(=적응적)'이라고 부름.

 

II. Model

본 논문에서는 신경망 기계 번역을 위한 새로운 아키텍처를 제안한다. 아키텍처의 구성은 아래와 같다.

양방향 RNN을 갖는 Encoder + 번역을 디코딩하는 동안 입력 문장을 검색하는 흉내를 내는 Decoder

 

#1. Decoder : General description

- 해당 모델의 Decoder에서는 Attention 매커니즘을 사용한다.

 

Attention 매커니즘

  • new model architecture의 정의 : 현 시점(i)의 출력 y_i = 이전 출력값 y_(i-1), 현 시점 hidden state s_i, context vector c_i

 

  •  hidden state s_i 

  •  context vector c_i 

c_i는 Attention이 적용된 context vector로, 가중치 a_ij와 hidden state값 h_j의 가중합으로 만들어진다. c_i에는 입력 문장 중 집중해야 하는 부분에 집중하여 얻은 결과를 모두 더한 값이라고 볼 수 있다.

이때, 가중치 a_ij는 전체 입력 문장 중에서의 영향력을 나타내는 e_ij로 나타낼 수 있다. 해당 가중치는 현재 디코더 출력 시점(i)에 대하여 j번째 토큰의 영향력을 나타낸 것이다. 즉, 출력단어가 입력단어와 정렬되거나 이로부터 번역될 확률을 의미하는 것이다. e_ij는 input의 j번째와 output의 i번째가 얼마나 잘 매치되었는지에 대한 score를 의미한다.

* annotation(=h_i) : 입력(x_i)에 대한 hidden state

 

  • 전체적인 구조

입력 토큰(hj)과 직전 출력 토큰(si-1)에 기반하여 출력 토큰(yi)에 대한 입력 토큰들의 영향력(aij)을 구하고, 그 영향력을 반영(ci)한 값으로, 출력 토큰(yi) 생성 시에 활용된다.

 

#2. Encoder : Bidirectional RNN for Annatating sequences

- 인코더는 bidirectional RNN(BiRNN)을 사용한다. biRNN은 forward RNN과 backward RNN, 2개의 RNN을 사용하는 것이다.

입력 문장 x가 들어간 이후, forward RNN은 처음부터 순차적으로 입력을 읽어서 hidden state를 생성한다. backward RNN은 입력의 제일 뒤에서부터 역방향으로 입력을 읽어서 hidden state를 생성한다. 이 둘을 concat하여 양방향으로서의 state 정보를 갖고 있는 hidden state h_j를 생성하는 것이다.

 

 

III. Experiment Detail

  • Dataset
- WMT'14 dataset 사용 : 이는 English-to-Franch corpus ( 850M개의 word 구성되어 있지만, 348M개의 word 추출하여 학습)
- 토큰화를 통해 가장 빈번하게 사용되는 30,000개의 단어를 선택하여 학습하였고, 포함되지 못한 단어는 [UNK] 변환하여 학습하였고, 전처리 or stemming, lowercasing 사용

( 학습에 포함되지 않은 단어들을 만났을 때는 그 단어를 [UNK] = Unknown) 대체하여 처리)

  • Baseline

- RNN Encoder-Decoder(RNNencdec, Cho et al. 2014a) 논문에서 제안한 모델인 RNNsearch, 2가지의 모델을 학습하여 비교함.

- 모델은 sentence 길이를 30, 50으로 제한하여 2가지로 학습함.

 

IV. Results

Result1. Quantitative results

 

- Table1은 BLEU socre를 나타내는 표이다. 이를 통해 RNNsearch 모델이 기존 모델보다 더 높은 성능을 보임을 알 수 있다.

- Figure2는 길이에 따른 BLEU score를 나타내는 그래프이다. 이를 통해 RNNsearch 모델이 기존 모델보다 더 높은 성능을 갖는다는 것을 알 수 있다. 나아가, 길이 30으로 훈련된 RNNsearch 모델이 50으로 훈련된 기존 RNN 모델보다 더 높은 성능을 갖는다는 것을 확인할 수 있는데 이는 어텐션 메커니즘이 성능 향상에 효과적이라는 것을 확인할 수 있는 바이다. 또한, RNNsearch 50의 경우 Sentence length가 길어짐에도 성능이 크게 떨어지지 않음을 확인할 수 있었다.

 

Result2. Qualitative results

- Figure3은 annatation weights를 시각화한 것이다. column의 입력데이터가 row의 예측 결과 값이랑 잘 매핑이 되는 것을 확인할 수 있다. 추가적으로 soft-alignment를 통해서 입력데이터와 출력데이터ㅢ 크기를 다르게 할 수 있다.

 

V. Conclusion

인코더-디코더 신경망 기계 번역의 고정 길이 벡터로의 인코딩 방식이 문장 번역에 장애를 줌을 지적하고 이를 해결하는 새로운 아키텍처 제시
모델이 목표 단어를 생성할 때에 입력 단어와 그들의 주석을 검색하도록 확장하여, 목표 단어 생성에 관련된 정보에만 집중할 있게
문장에서 좋은 성능을 냈으며, 정렬과 번역이 공동으로 학습되어 정확한 번역을 생성할 확률이 높아짐
영어프랑스 번역시 기존 컨벤션 모델 대비 크게 능가하며, 정성적 분석에서도 올바른 정렬이 수행됨을 확인함
 
 

https://arxiv.org/abs/1409.0473

 

Neural Machine Translation by Jointly Learning to Align and Translate

Neural machine translation is a recently proposed approach to machine translation. Unlike the traditional statistical machine translation, the neural machine translation aims at building a single neural network that can be jointly tuned to maximize the tra

arxiv.org