[2024-2] 차승우 - Seq2Seq(Sequence to Sequence Learning with Neural Networks)
https://arxiv.org/abs/1409.3215
0. Abstact
0.1. Seq2Seq 발생 배경
- DNNs(Deep Nerual Networks)는 시퀀스를 시퀀스로 매핑하는 작업에는 사용할 수 없다.
0.2. Seq2Seq
- 이 논문에서는 시퀀스 구조에 대한 가정을 최소화하는 일반적인 end-to-end 시퀀스 학습 접근법을 제안한다. 이 방법은 다층 Long Short-Term Memory(LSTM)를 사용해 입력 시퀀스를 고정 차원의 벡터로 매핑하고, 또 다른 깊은 LSTM을 사용해 해당 벡터에서 타겟 시퀀스를 디코딩한다.
- 주요 결과로, WMT-14 데이터셋의 영어-프랑스어 번역 작업에서 LSTM이 전체 테스트 세트에서 BLEU 점수 34.8을 기록
1. Introduction
1.1. DNN의 한계
- 위에서 언급한 바와 같이 고정된 차원의 형식을 가진 입력, 출력의 경우만 처리가 가능하다.
(그러나 현실에서는 입력의 크기가 제한되어 있지 않는 경우가 다수 존재한다.)
1.2. LSTM
1. 입력 LSTM(Encorder)
- LSTM은 입력 시퀀스를 고정된 차원의 벡터로 변환.
2. 출력 LSTM(Decorder)
- LSTM은 해당 벡터에서 출력 시퀀스를 생성.
1.3. LSTM 기능
1. 가변적인 문장을 입력으로 받을 수 있다.
2. 유사한 문장 간의 의미를 반영
1.4. 이외 사용 기법
1. 문장 역순 배치
- 문장의 단어 순서를 반대로 뒤집는 방식(단기 의존성 문제가 존재)
1.5. 결과
- WMT'14 영어-프랑스어 번역 작업에서, 5개의 딥 LSTM 앙상블(각각 3억 8천만 개의 매개변수)을 사용하여 간단한 좌에서 우로 진행하는 빔 서치 디코더로 번역을 직접 생성해 BLEU 점수 34.81을 얻었다.(재채점시 36.5)
2. Model
2.1. RNN(Recurrent Neural Network)
1. RNN
- 입력과 출력간의 매핑이 명시적이지 않으면 효과적으로 학습하지 못한다.
3. 순차적인 처리
- RNN의 경우 정의에 나온 것처럼 순차적으로 데이터를 처리하기 때문에 입력과 출력의 순서가 일치하지 않은 경우 학습하기 어렵다.
- U : 입력 x와 은닉 상태를 연결하는 가중치 행렬
- V : 은닉 상태 간 순환 연결하는 가중치 행렬
- W : 은닉 상태에서 출력으로의 연결하는 가중치 행렬
2.2. LSTM
- 장기의존성 문제의 경우 LSTM에 존재하는 cell을 통해 정보를 선택적으로 처리하여 장기 의존성 문제를 해결한다.
1. LSTM(Encorder)
- 입력 시퀀스를 LSTM의 마지막 은닉 상태를 통해 고정 크기 표현 v로 변환.
2. LSTM(Decorder)
- Encorder에서 반환한 고정크기 벡터 v와 이전에 생성됐던 출력(y, ... , y(t-1))를 통한 y(t) 생성
- 위를 반복하여 전체 출력 생성
3. Experiment
3.1. Dataset Details
- WMT’14 영어-프랑스어 데이터셋을 사용
- 12M 문장, 348M 프랑스어 단어, 304M 영어 단어로 구성
- 160,000개의 소스 언어와 80,000의 타켓 언어
- 어휘에 포함되지 않는 단어는 "UNK"라는 토큰으로 대체.
3.2. Decoding and Rescoring
1. 조건부 확률 p(T ∣ S)의 최대화
- T : 번역문, S : 원문
- 이 확률의 최대화를 통해 번역이 원문과 얼마나 잘 일치하는 지를 판다.
2. 번역 선택(& 빔 서치)
- 주어진 원문에 대해 가장 일치율이 높은 번역을 탐색
3. 빔 유지
- N개의 일치율이 높은 번역을 유지, 나머지 제거
4. 종료과정까지 반복
ps. 빔 서치
- 가능한 모든 번역을 탐색하는 대신, N개의 가장 가능성 높은 후보를 유지하면서 점진적으로 확장
3.3. Reversing the Source Sentences
- 소스 문장의 반전을 통해 장기의존성 문제 해결
- 위에서 언급했듯이 단기 의존성 문제의 존재
3.4. Training details
1. 구조 및 구성
- 160,000개의 소스 언어와 80,000의 타켓 언어
- 1000차원 워드 임베딩
- 4개의 심층 LSTM 레이어
- 1000개의 셀
2. 학습 세부 사항
1. 초기화
- 0.08 ~ 0.08 사이의 균등 분포로 매개변수 초기화
2. 학습율
- 초기치 0.7, 5 epoch 마다 절반으로 감
3. 미니배치
- 128개로 구성
3.5. Parallelization(병렬화)
- 8-GPU 시스템
- 10일의 학습 시간 소비
3.6. Experimental Results
- 단일 LSTM : BLEU 26.17~30.59.
- 5개의 LSTM : BLEU 34.81.
3.7. Performance on long sentences
- long sentences에도 BELU가 낮게 감소
3.8. Model Analysis
- 위의 그림은 문장을 고정된 차원의 벡터로 변환 후 2차원으로 PCA를 통해 축소하여 시각화했습니다. PCA를 통해 의미가 유사한 문장의 경우 모여있는 것을 볼 수 있습니다.
1. 문장 길이에 따른 성능
- 장기의존성 문제에 강한 성능을 보여준다.
2. 희귀 단어에 대한 처리 능력
- 생소한 단어가 포함된 문장에서도 비교적 강한 성능을 보여준다.
4. Related work
5. Conclusion
1. MT 작업에서의 적합성
- 이 연구는 제한된 어휘를 가진 LSTM 모델이, 무제한 어휘를 사용하는 SMT 시스템을 대규모 기계 번역 작업에서 더 잘 수행할 수 있다는 사실을 발견
2. 단어 역순 배치의 의미성
- 소스 문장의 단어 순서를 반대로 뒤집었을 때 성능이 크게 향상(단기 의존성을 최대화하는 인코딩 방식)
3. 추가 연구의 가능성
- LSTM이 매우 긴 문장을 올바르게 번역하는 것에도 안정적인 성능을 보여주기 때문에 4의 해당하는 연구가 추가적으로 가능할 것이라는 점을 보여준다.