본문 바로가기
논문 리뷰/NLP

[X:AI] Attention 논문 리뷰

by hyeon827 2024. 2. 4.

 

논문 원본 : 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

 

 

Abstract

  • 신경 기계 번역 (Neural Machine Translation, NMT) 모델들은 주로 Encoder-Decoder 구조의 계열에 속하며, 원문 문장을 고정 길이 벡터로 인코딩한 뒤, 이 벡터를 기반으로 디코더가 번역을 생성
  • 입력 문장을 고정 길이 벡터로 인코딩하는 것이 Encoder-Decoder 구조에서 성능 향상의 병목현상이 될 수 있음
  • 본 논문에서는 모델이 대상 단어 예측과 관련된 입력 문장의 부분을 자동으로 검색할 수 있도록 하는 방법 제안

 

1. Introduction

  • Encoder-Decoder 접근 방식의 잠재적인 문제는 입력 문장의 중요한 정보를 고정 길이 벡터로 압축해야되는 것
  • 이로 인해 입력 문장의 길이가 길어질수록 기본 Encoder-Decoder의 성능이 급격히 저하
  • 해당 문제를 해결하기 위해 정렬 및 번역을 같이 학습하는 Encoder-Decoder 모델의 확장 기능 도입
  • 제안된 모델은 번역에서 단어를 생성할 때마다 입력 문장에서 가장 관련된 정보가 집중된 위치를 검색 (soft 방식)
    • soft 방식 : 문장의 여러 위치를 동시에 고려하며, 각 위치의 가중치를 계산해 중요도를 반영 (더 유연한 번역)
    • hard 방식 : 문장에서 특정 위치만 선택하고, 나머지는 완전히 무시
  • 그런 다음 모델은 입력 위치와 관련된 문맥 벡터와 이전에 생성된 모든 타깃 단어 기반으로 타깃 단어 예측
  • 기본 Encoder-Decoder와 구별되는 가장 중요한 특징은 전체 입력 문장을 하나의 고정 길이 벡터로 인코딩하지 X
  • 대신 입력 문장을 일련의 벡터로 인코딩하고 번역을 디코딩하는 동안 이러한 벡터의 하위 집합을 적응적으로 선택
  • 이를 통해 모델이 긴 문장에 더 잘 대처할 수 있음

 

2. Background : Neural Machine Translation

  • 번역은 확률적 관점에서 원본 문장 x가 주어졌을 때 번역문 y의 조건부 확률 p(y | x)를 최대화하는  y를 찾는 문제
  • 조건부 분포를 학습하기 위해 Encoder-Decoder 구조의 신경망 제안
  • 두 개의 순환 신경망(RNN)을 사용하여 가변 길이의 원 문장을 고정 길이 벡터로 인코딩하고 고정 길이 벡터를 가변 길이의 목표 문장으로 디코딩
  • LSTM 유닛을 갖춘 RNN 기반의 신경망 기계 번역이 영어-프랑스어 번역 task에서 기존 최첨단 구문 기반 기계 번역 시스템의 성능에 근접하는 결과를 얻음

 

   RNN Encoder-Decoder

 

  • Encoder
    • ht : t시점의 hidden state
    • c : context vector
    •  Sutskever et al. (2014)는 f로 LSTM을 사용했으며, 로 설정 

 

  • Decoder
    • 타켓 값의 확률은 context vector c와 이전에 예측한 결과  {y1, · · · , yt−1} 이용하여 구함
    • RNN 디코더에서 각 조건부 확률은 RNN 디코더의 이전 출력, RNN의 hidden state 그리고 cotext vector에 비선형 함수(g)를 적용하여 구함

 

 

 

 

3. Learning To Align And Translate

 

    3.1 Decoder : General Description

  • 본 논문 모델에서는 다음과 같이 각 조건부 확률을 정의
    • : 번역 과정에서 시간 i에 해당하는 RNN의 hidden state
    • : 번역문 단어 에 대한 context vector

  • 는 아래와 같이 계산
    • 이 접근법은 기존 Encoder-Decoder 방식과 달리, 각 목표 단어 마다 고유한 context vecotr 를 사용한다는 점에서 차별화

 

  • context vector 
      • 원문 문장의 j번째 단어를 처리한 결과, 인코더가 생성한 annotation vector
      • 원문 단어 j에 대한 정보와 문맥을 담고 있음
      • i번째 번역 단어를 생성할 때, 원문 단어 j가 얼마나 중요한지 나타내는 가중치
      • 모든 가중치 의 합은 1이 되며, 특정 단어를 더 중요하게 강조함
    • 가중합(Weighted Sum)
      • 를 곱한 후 합산해 context vector 를 만듦
      • 즉, 원문 전체를 참고하되, 중요한 단어에 더 집중한 결과가

 

  • 가중치 계산
    • eij 
      • 정렬 점수(Alignment Score): 원문 단어 j와 현재 번역 상태가 얼마나 관련이 있는지 나타냄
      • 계산 방법: 이전 디코더 상태 와 원문 단어 j의 annotation 를 비교
      • 정렬 모델(Alignment Model)로, 주로 Feedforward Neural Network를 사용해 학습
    • Softmax
      • 를 소프트맥스 함수에 넣어 확률처럼 만듦
      • 결과적으로 모든 의 합은 1이 됨

 

  • Soft Alignment
    • '하나를 선택'하는 게 아니라, '모든 것을 선택'한다는 아이디어로 미분 문제 해결 (aij가 연속적인 값)
    • 하나만 선택하는 작업은 미분할 수 없다는 문제 발생 (Backpropagation 시 문제)

 

 

   3.2 Encoder : Bidrectional RNN For Annotating Sequences

  • 양방향 RNN 사용
    • 순방향 RNN
      • 입력 시퀀스를 처음부터 끝까지 읽고, 순방향 hidden state를 계산
    • 역방향 RNN 
      • 입력 시퀀스를 거꾸로 읽고, 역방향 은닉 상태를 계산
  • 각각의 단어 에 대한 ,를 concat
  • 균형 잡힌 정보가 인코딩

 

 

 

4. Experiment Settings

 

    4.1 Dataset & 4.2 Model

  • 데이터 : WMT' 14 데이터를 사용하여 English-to-French translation task로 평가
  • 모델: RNN Encoder-Decoder vs. 제안된 RNNsearch 비교

 

  • 최대 30 단어로 학습: RNNencdec-30, RNNsearch-30
  • 최대 50 단어로 학습: RNNencdec-50, RNNsearch-50

 

  • RNNencdec은 인코더와 디코더 각각 1000차원 hidden state
  • RNNsearch의 인코더는 순방향과 역방향 RNN 각각 1000차원 hidden state, 디코더도 1000차원의 hidden state
  • Beam Search을 사용하여 조건부 확률를 최대화하는 번역을 찾음

 

5. Results

 

   5.1 Quantitavtive Results

  • BLEU 점수로 번역 성능 확인
  • 모든 경우에서 RNNsearch가 기존의 RNNencdec보다 성능이 뛰어남
  • 더 중요한 것은 알려진 단어로 구성된 문장만 고려했을 때 RNNsearch의 성능이 Moses(Phrase-based)보다 뛰어남

  • 문장의 길이가 길어질수록 RNNencdec의 성능이 급격히 떨어지는 것을 알 수 있음
  • 반면, RNNsearch-30과 RNNsearch-50은 문장의 길이에 더 강함
  • 특히 RNNsearch-50은 50개 이상의 문장을 처리해도 성능 저하 X

 

 

   5.2 Qualitative Analysis

  • Alignment  
    • Soft Alignment의 시각화
      • Attention 가중치 를 시각화하여 번역 단어와 원문 단어의 정렬을 확인
      • 대부분의 경우, 번역과 원문의 정렬이 단조적(monotonic)이지만, 영어와 프랑스어 간 문법적 순서 차이로 인해 비단조적 정렬도 관찰
    • Soft Alignment의 강점
      • (a)에서 zone -> area, enconomique -> economic, europeenee -> European으로 의미에 맞게 번역
      • (d) the man -> l' homme으로 번역, 이것은 soft-alignment의 강점으로 the는 l' 외에 le, la, les로도 번역될 수 있으나 이후 단어인 man을 고려하여 l'으로 결정한 것

 

7. Conclusion

  • 문제점과 해결책
    • 기존 Encoder-Decoder 방식
    • 입력 문장을 하나의 고정 길이 context vecotr로 인코딩 후 번역 생성
    • 긴 문장에서 성능 저하 문제 발생
  • 제안된 RNNsearch 모델
    • Attention 메커니즘을 도입해, 번역할 단어에 필요한 입력 단어(또는 annotation)를 동적으로 선택
    • 전체 문장을 고정 길이 벡터로 압축하는 부담 해소
    • 필요한 정보에 집중하여 긴 문장에서도 우수한 번역 성능 달성

'논문 리뷰 > NLP' 카테고리의 다른 글

[X:AI] ELMo 논문 리뷰  (0) 2024.03.25
[X:AI] BERT 논문 리뷰  (0) 2024.02.15
[X:AI] GPT-1 논문 리뷰  (0) 2024.02.11
[X:AI] Transformer 논문 리뷰  (0) 2024.02.10
[X:AI] Seq2Seq 논문 리뷰  (0) 2024.02.02