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

[X:AI] Seq2Seq 논문 리뷰

by hyeon827 2024. 2. 2.

 

논문 원본 : https://arxiv.org/abs/1409.3215

 

Sequence to Sequence Learning with Neural Networks

Deep Neural Networks (DNNs) are powerful models that have achieved excellent performance on difficult learning tasks. Although DNNs work well whenever large labeled training sets are available, they cannot be used to map sequences to sequences. In this pap

arxiv.org

 

RNN, LSTM,Seq2Seq 자료 

2024_Deep_Session_8주차_이론.pdf
2.80MB

 

 

Abstract

  • DNN은 레이블이 지정된 대규모 훈련 집합을 사용할 때는 잘 작동
  • 하지만 sequence-to-sequence task에는 바로 적용하기 어려움
  • 본 논문에서는 순서 학습을 위한 일반적인 end-to-end 방법 제안

 

   * End-to-End Approach

  • 데이터를 입력해서 출력을 얻는 과정을 하나의 통합된 모델로 처리 (데이터를 통해 직접 학습하도록 설계)
  • 기존에는 각가의 단계마다 사람이 만든 규칙이나 별도의 알고리즘 사용해서 결과 도출

 

  • 본 논문은 다층 LSTM (Long Short-Term Memory) 네트워크를 사용하여 입력된 순서를 고정된 차원의 벡터로 변환
    • ex) 영어 문장을 고정된 크기의 벡터로 변환
  • 그리고 또 다른 심층 LSTM 네트워크를 사용해 이 벡터에서 목표 시퀀스를 디코딩
    • ex) 해당 벡터에서 프랑스어 문장을 출력

 

  • LSTM은 긴 문장에서도 어려움을 겪지 않았음
  • 일반적인 언어 쳬계에서 앞쪽에 위치한 단어끼리 연관성이 높음
  • 모든 source 문장에서 단어의 순서를 바꾸면 LSTM 성능이 현저히 향상
  • 이는 source 문장과 target 문장 간에 많은 단기 의존성을 도입하여 최적화 문제를 더 쉽게 만들어주었기 때문

 

 

 

1. Introduction

  • DNN은 고정된 크기의 벡터로 입력과 출력을 표현할 수 있는 문제에서만 잘 작동
  • 예를 들어, 음성 인식, 기계 번역, QA 같은 문제는 고정된 크기의 입력과 출력 벡터로 표현하기 어려움
  • 즉, 많은 주요 문제는 sequence 길이가 정해져 있지 않음
  • 본 논문에서는 LSTM을 사용해서 sequence를 입력에서 출력으로 매핑하는 방법 제안
  • 첫 번째 LSTM은 입력된 sequence를 읽어서 고정된 차원의 벡터로 변환
  • 두 번째 LSTM은 변환된 벡터에서 출력 sequence를 생성

 

  • 단어 순서 뒤집기
    • source 문장의 단어 순서를 뒤집으면, 학습 과정에서 단기 의존성을 높일 수 있어 LSTM의 성능이 크게 향상
  • 긴 문장 처리
    • LSTM은 긴 문장에서도 성능 저하가 없음

 

2. The model

 

  • RNN (Recurrent Neural Network) 구조
    • 입력 시퀀스와 출력 시퀀스의 길이가 다르거나 복잡한 관계가 있을 경우 이를 처리하는 것은 쉽지 않음

 

 

  • 이를 해결하기 위한 가장 단순한 전략은, 하나의 RNN으로 입력 시퀀스를 고정 크기 벡터로 변혼하고, 다른 RNN으로 이를 출력 시퀀스로 변환하는 것
  • 그러나 이 방법은 장기 의존성 문제가 발생할 수 있음
  • 따라서 입력 시퀀스와 출력 시퀀스에 각각 다른 두 개의 LSTM 사용

 

  • 입력 시퀀스: (x1,…,xT)
  • 출력 시퀀스: (y1,…,yT′)
  • v: 입력 시퀀스 를 LSTM이 고정된 크기의 벡터로 변환한 값
  • :
    • t번째 단어 가 이전 단어들 (y1,…,yt−1)와 입력 요약 정보 를 기반으로 생성될 확률
    • Softmax 함수로 계산

  • EOS 토큰 (End of Setence)
    • 시퀀스 각 문장이 <EOS> 토큰으로 끝나야 함
    • 가변적인 길이의 문장을 처리할 수 있게 함
  • 4개의 layer를 가진 LSTM 선택
    • Deep > Shallow
  • 입력 문장의 단어 순서를 뒤집는 것이 매우 유용하다는 것을 발견

 

 

3. Experiments

 

   3.1 Dataset details

  • WMT’14 English to French dataset
  • 3억 4800만 개의 프랑스어 단어와 3억 400만 개의 영어 단어로 구성된 1,200만 개의 sentence 하위 집합

   3.2 Decoding and Rescoring

  • source 문장 S(훈련 세트)가 주어졌을 때 올바은 번역 T의 로그 확률을 최대화하는 방식으로 훈련

 

 

  • 학습이 끝난 후, 모델은 source 문장 에 대해 여러 가능한 번역 를 평가
  • 중에서 확률이 가장 높은 번역 를 최종 결과로 선택

 

 

  • beam search decoder를 사용하여 가장 가능성이 높은 번역을 찾음

 

   Greedy Decoding

  • 단순히 해당 시점에서 가장 확률이 높은 후보 선택
  • 이러한 예측에서 한 번이라도 틀린 예측이 나오면 이전 예측이 중요한 디코딩 방식에 치명적인 문제

 

   Beam search (ex. K=3)

  • <start> 입력을 바탕으로 나온 예측값의 확률분포 중 가장 높은 확률 K개 고름
  • 이 K개의 갈래는 각각 하나의 빔이 됨
  • K개의 빔에서 다음 예측값의 확률 분포 중 가장 높은 K개를 고르는 것을 반복
  • 총 K2개의 자식 노드 중 누적 확률 순으로 상위 K개를 뽑음
  • 뽑힌 상위 K개의 자식노드를 새로운 빔으로, 다시 상위 K개의 자식 노드를 만듦
  • <eos>를 만날 때까지 반복
  • 총 K개의 후보 중에서 가장 높은 누적 확률을 가진 빔을 최종적으로 선택

     

https://blog.naver.com/PostView.nhn?blogId=sooftware&logNo=221809101199&from=search&redirect=Log&widgetTypeCall=true&directAccess=false

 

  • Greedy Decoding은 K=1인 Beam Search

 

   3.3 Reversing the Source Sentences

  • source 문장을 뒤집음으로 test perplexity(혼란도)는 5.8에서 4.7로 떨어짐
  • BLEU 점수(번역 품질)는 25.9에서 30.6으로 상승
  • source 언어와 target 언어의 해당 단어 사이의 평균 거리는 변하지 않음

 

   3.4 Training details

  • 미니배치에 포함된 모든 문장의 길이가 거의 같도록 하여 속도를 2배로 향상

 

   3.5 Parallelization

  • 단일 GPU는 너무 느리기 때문에 8-GPU을 사용하여 모델을 병렬화
    • LSTM 4개, Softmax 계산에 4개
  • 초당 6,300개의 단어를 처리하였고 학습 완료까지 약 10일 소요

 

   3.6 Experimental Results

  • LSTM의 단일 모델(single forward/reversed)은 성능이 낮았지만, reversed가 더 높은 BLEU 점수를 기록
  • LSTM ensemble을 사용했을 때 성능이 크게 향상
    • ensemble 5개 + beam size 2: 34.50
    • ensemble 5개 + beam size 12: 34.81 (최고 성능)

 

 

 

 

  • 단독으로는 기존 WMT’14 최고 시스템 성능(37.0)을 넘지 못함
  • 그러나 reversed LSTM과 앙상블을 통해 기존 SMT 시스템(Baseline System)보다 우수한 성능을 보임
  •  
  • SMT 시스템의 1000-best 리스트를 LSTM으로 재평가했을 때 최고 BLEU 점수인 36.5를 기록
  • 이는 WMT’14 최고 점수(37.0)에 매우 근접함

 

 

 

   3.7 Performance on long sentences

  • LSTM은 짧은 문장보다는 중간 길이 및 긴 문장에서 더 강점을 보임.
  • LSTM은 희귀 단어 처리에서도 Baseline보다 더 나은 성능을 보임
  • 이는 LSTM이 단어의 context을 더 잘 학습했기 때문

 

 

   3.8  Model Analysis

  • LSTM이 문장을 처리한 후, hidden state를 2차원 PCA로 투영하여 시각화한 결과
  • 비슷한 의미의 문장이 군집클러스터으로 모이는 모습을 보여줌
  • LSTM은 능동태와 수동태처럼 구조적 차이에는 영향을 받지 않으며, 문장의 의미적 유사성을 잘 학습

 

 

5. Conclusion

  • 단순한 LSTM 모델은 SMT 시스템보다 더 나은 번역 성능을 보임
  • source 문장 뒤집기는 번역 품질을 크게 향상시켰으며 긴 문장도 효과적으로 처리

'논문 리뷰 > 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] Attention 논문 리뷰  (0) 2024.02.04