언어 전공자의 NLP 로그
Neural Machine Translation by Jointly Learning to Align and Translate 본문
논문 읽기
Neural Machine Translation by Jointly Learning to Align and Translate
JohnnyNLP 2024. 2. 23. 14:25논문 출처 : 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
0. 짧은 요약
- 2016년 발표된 논문으로, 출발어와 도착어의 정렬을 기존 RNN encoder-decoder 구조에 attention 메커니즘을 결합시켜 soft-search 기능을 접목한 RNNSearch 모델로 소개한다.
- 기존의 encoder-decoder 모델과의 가장 큰 차이는, encoder 모델에서 생성된 컨텍스트 벡터는 인코더의 마지막 출력에서 생성되어 문장 전체 정보를 담고 있는데, 1) 이는 디코더 문장 생성 시 원문의 어떤 단어가 번역문에 반영되는지 알 수 없고, 2) 문장 길이가 길어질수록 그 효과가 떨어진다. NMT 모델의 기본 기조가 조건부 확률임을 감안한다면, 당연히 입력 단어를 많이 참고할수록 그 확률값을 최적화시키기가 어려울 것이다. 따라서 원문의 j번째 단어가 번역문의 단어 i번째 단어에 정렬될 수 있도록 FFNN를 하나 추가해주는 것. 읽다보니 어텐션 같았는데, 저자도 명확하게 'this implements a mechanism of attention'이라고 언급한다.
1. Introduction
- 전통적인 구 기반 번역 시스템 : 각각의 하위 컴포넌트를 따로따로 조정해주는 방식. (rule-based를 언급한 듯?)
- 신경망 번역 시스템 : 단일의 대규모 신경망으로 문장을 읽고 옳은 번역문을 출력하는 확률 기반 생성 모델.
- 2014년 Sutskever et al., Cho et al. 에서 제안한 RNN 기반 인코더-디코더 모델은 입력 문장의 모든 정보를 고정된 길이의 벡터에 담는데, 이는 문장이 길어질수록 성능이 급감하는 한계점을 보인다.
- 따라서 학습하면서 동시에 단어들의 위치 정보를 기반으로 입력 단어에서 가장 연관성이 높은 정보를 찾고 (search) 이를 바탕으로 정렬 (align)하는 모델을 제안한다.
- 이에 따라 인코더는 문장을 각 스텝마다 일련의 벡터 시퀀스로 인코딩하고, 디코딩 단계에서 이 정보를 활용할 수 있도록 넘겨준다.
- 이러한 기법을 계속해서 (soft-)alignment라고 하는데, 어떤 의미인지는 잘 모르겠다.
2. Background : Neural Machine Translation
- 인코더-디코더 모델은 원문 문장 x를 인코딩하여 디코더가 이를 번역 문장 y로 출력하는 구조이다.
- RNN 구조를 차용하며, 따라서 타임 스텝 t마다 은닉 상태를 생성하고, 이를 고정된 길이의 벡터 c로 반환한다.
- 디코더에서는 조건부 확률을 기반으로, 앞서 나온 단어들과 맥락 벡터를 기반으로 확률이 가장 높은 토큰을 반환한다.
3. Learning to Align and Translate
- 이 논문의 핵심은 ''정렬과 번역을 동시에 학습한다', 이고 위 제목이 이를 가장 잘 나타내주고 있다.
- 저자들은 양방향 RNN 인코더-디코더 모델을 기준으로 설명한다.
- 디코더
- 먼저 디코더의 경우, 맥락 벡터 c는 이제 각 도착 단어 $yi$에 대해서 생성된다. 이때 은닉층 $hi$에는 입력문장에 어텐션을 적용한 정보가 함께 들어가 디코더가 어떤 단어에 집중해야 하는지를 알려준다.
- $ci=∑j=1Txaijhj$, $aij=exp(eij∑k=1Txexp(eik)$
- 여기서 등장하는 본 논문의 차별점이 바로 정렬 모델인 a이다. a는 k개의 입력 단어 중에서 j번째 단어의 맥락 정보를 학습하고 이를 디코더의 출력 단어 선정 시 가중치 형태로 넘겨준다. 이 가중치는 역전파를 통해서 학습이 가능하다.
- 정리햐면 $aij$는 번역어 $yi$가 원문 단어 $xj$에 정렬될, 혹은 번역될 확률이다.
- 이 FFNN 덕분에 인코더가 문장 전체의 정보를 고정 길이 벡터에 우겨넣어 제공해야 했던 기존의 부담이 해소된다.
- 인코더
- 인코더에서는 앞단어와 뒷단어를 동시에 살펴보기 위해 양방향 RNN 구조를 사용한다.
- 은닉층 정보를 담은 순방향, 역방향 h벡터를 병합하여 $hj$를 생성한다.
[중간 생략]
5-2. Qualitative Analysis
- 본 방식의 장점은 어텐션 메커니즘을 차용함으로써 단어의 순방향 관계뿐 아니라, 복잡한 형태의 정렬을 가능하게 한다는 점이다.
- 즉, 불어에서 형용사가 명사를 후치 수식하는 것도 손쉽게 잡아낸다.
- 나아가 긴 문장에서도 강세를 보이는데, 이는 문장 전체 정보를 한번에 판단하는 것이 아닌, 각 단어마다의 부분적인 정보들을, 특히 앞뒤로 근접한 단어들을 집중적으로 보기 때문이다.
'논문 읽기' 카테고리의 다른 글
| Enriching word vectors with subword information (1) | 2024.02.23 |
|---|---|
| Scaling Laws for Neural Language Models (0) | 2024.02.23 |
| Cross-lingual Language Model Pretraining (0) | 2024.02.23 |
| Efficient Estimation of Word Representations in Vector Space (0) | 2024.02.23 |
| Convolutional 2D Knowledge Graph Embeddings (0) | 2024.02.23 |