논문링크: https://arxiv.org/abs/1409.3215
Sequence to Sequence Learning with Neural Networks/ Ilya Sutskever, Oriol Vinyals, Quoc V. Le, 2014
[짧은요약]
딥 뉴럴 네트워크(DNN)는 이미지 분류나 음성 인식 등에서 엄청난 성과를 냈지만, 입력과 출력 모두가 시퀀스인 문제에는 적용이 어려웠다. 기존 네트워크는 고정된 입력과 고정된 출력을 전제로 하기 때문에, 시퀀스처럼 길이가 유동적인 입력/출력을 다루기엔 구조적인 제약이 있었기 때문이다.
이 논문에서는 LSTM(Long Short-Term Memory)을 두 개 연결해 이 문제를 해결한다. 인코더 LSTM: 입력 시퀀스를 읽고, 이를 하나의 고정된 벡터로 압축 / 디코더 LSTM: 이 벡터를 기반으로 출력 시퀀스를 한 단어씩 생성해 나감.
이렇게 입력 시퀀스를 고정된 벡터로 압축하고 이를 다시 출력 시퀀스로 복원하는 방식을 end-to-end 학습 방식이라고 하고, 이 모델이 바로 Seq2Seq 모델이다.
seq2seq모델은 기존 통계 기반 번역 시스템보다 높은 BLEU 점수(34.8)를 기록하며, 긴 문장에도 안정적으로 처리하는 성능을 보였다. 입력 문장의 단어 순서를 거꾸로 넣었을 때 성능이 향상되었고, 이러한 특징으로 인해 단어와 문장의 표현을 효과적으로 학습해 능동형과 수동형 표현 모두 유연하게 대응할 수 있게 되었다. 이러한 방식은 뉴럴 머신 번역(NMT)과 자연어 생성 기술이 발전하는 데 중요한 기반이 되었다.
The Model
Seq2Seq 모델은 기본적으로 하나의 RNN이 입력 시퀀스를 고정된 벡터로 인코딩하고, 또 다른 RNN이 이 벡터를 디코딩해 출력 시퀀스를 생성하는 구조를 따른다. 이때 RNN 대신 장기 의존성(long-term dependency)에 강한 LSTM(Long Short-Term Memory)을 사용해 학습 성능을 높인다.
*장기의존성 문제?
시퀀스 데이터를 처리할 때, 모델이 먼 과거의 정보를 현재까지 잘 기억하지 못하는 현상
일반적인 RNN은 시퀀스를 한 토큰씩 순서대로 처리하면서 상태(hidden state)를 다음으로 전달한다. 이때 정보는 계속해서 행렬곱과 비선형 함수를 거치게 되는데, 그 과정에서 오래된 정보는 점점 희미해지거나 사라지는 경향이 생긴다. 이러한 문제르 기울기 소실(vanishing gradient)이나 폭발(exploding gradient) 문제라고도 함.
LSTM(Long Short-Term Memory)은 이 장기 의존성 문제를 해결하기 위해 등장했다. LSTM은 정보를 셀 상태(cell state)에 따로 저장하고, 게이트(gate) 구조를 통해 중요한 정보는 오래 보존하고, 불필요한 정보는 제거할 수 있도록 설계되어 있다.
그래서 '오래 전 입력된 중요한 단어의 영향'을 오랜 시간 동안 유지할 수 있고, 결과적으로 문장 전체의 문맥을 더 잘 이해할 수 있게 된다.
seq2seq 모델의 목표는 입력 시퀀스가 주어졌을 때, 출력 시퀀스가 나올 확률을 조건부 확률로 추정하는 것이다. 인코더 LSTM은 입력 시퀀스를 순차적으로 처리해 하나의 고정 길이 벡터로 변환하고, 디코더 LSTM은 이 벡터와 이전에 생성된 출력들을 바탕으로 다음 단어를 예측해 나간다.

실제 구현에서의 몇가지 주요 전략
1. 인코더와 디코더를 각각 다른 LSTM으로 분리해 학습 안정성과 효율성을 높임
2. 딥 LSTM(4-layer) 구조를 채택해 얕은 구조보다 더 높은 성능을 얻음
3. 입력 시퀀스를 역순으로 정렬해 디코더가 보다 빠르게 핵심 정보를 접할 수 있도록 구성. 이 단순한 기법만으로도 단기 의존성이 강화되어 학습이 훨씬 쉬워졌고, LSTM의 번역 성능 향상에도 크게 기여했다.
이와 같은 구조를 통해 Seq2Seq 모델은 시퀀스를 효과적으로 인코딩하고 디코딩하는 학습이 가능해졌으며, 다양한 길이와 복잡한 종속성을 가진 시퀀스 간 매핑 문제에 유용하게 적용될 수 있게 되었다.
Experiments
Seq2Seq 모델은 WMT’14 영어-프랑스어 번역 실험을 통해 성능을 검증했다.
실험은 두 가지 방식으로 진행되었다.
1. 통계 기반 번역 시스템(SMT)을 전혀 사용하지 않고 입력 문장을 직접 번역하는 방식.
2. SMT 시스템이 생성한 후보 문장 리스트(n-best list)를 재정렬(rescore)하는 방식.
3.1 Dataset details
- 약 1200만 개의 문장 쌍으로 이루어진 WMT'14 데이터셋 사용 (3억개가 넘는 프랑스어 단어와 영어 단어로 구성)
- 단어 표현은 벡터로 처리
- 자주 등장하는 단어 160,000개(입력)와 80,000개(출력)를 고정된 어휘 집합으로 사용
- 이 외의 단어는 모두 <UNK> 토큰으로 대체
3.2 Decoding and Rescoring
모델 학습은 주어진 입력 문장 S에 대해 올바른 번역 T의 로그 확률을 최대화하는 방식으로 진행되었다.


학습이 완료된 후에는 left-to-right beam search 방식을 사용해 가장 가능성 높은 번역을 생성한다. Beam search는 일정 개수(B)의 번역 후보만 유지하며, 각 시점마다 가능한 모든 단어를 확장한 뒤 가장 높은 확률을 가진 후보만 남기는 방식이다.
ex. 번역 도중 "I like"까지만 생성된 상태가 하나의 후보가 되며, 이렇게 생성된 상태 중 가장 높은 확률을 가진 후보만 남겨 가면서 가장 자연스러운 문장을 찾는다.
Beam Search는 간단하지만 효과적인 방식으로, Beam Size가 2만 되어도 대부분의 성능을 확보할 수 있었다. 또한 이 모델은 SMT 시스템의 후보 리스트를 재정렬하는 데도 사용되었으며, LSTM이 부여한 확률 점수를 기준으로 더 나은 번역 순서를 만들어낼 수 있었다.
3.3 Reversing the Source Sentences
입력 문장의 단어 순서를 거꾸로 정렬하는 단순한 조작만으로도 모델 성능이 크게 개선되었다. 테스트 perplexity는 5.8에서 4.7로 낮아졌고, BLEU 점수는 25.9에서 30.6으로 상승했다. 이는 입력과 출력 사이의 단어가 시간적으로 더 가까워지면서 모델이 정보를 더 효과적으로 학습할 수 있었기 때문이다.
원래 문장 순서대로 입력하면 번역 초반에 필요한 정보가 입력 시퀀스의 끝부분에 있어 학습이 어렵지만, 순서를 뒤집으면 중요한 단어들이 디코더 초반에 바로 도달하게 되어 학습과 역전파가 훨씬 수월해진다. 이 방식은 특히 긴 문장에서 효과가 컸으며, 메모리 사용 효율도 함께 개선되어 전반적인 번역 성능 향상에 중요한 역할을 했다.
3.4 Training details
Seq2Seq 모델의 training details를 알아보자.
- 4층 구조의 딥 LSTM으로 학습, 각 층마다 1000개의 셀과 1000차원의 단어 임베딩을 사용
- 입력 어휘 16만 개, 출력 어휘 8만 개로 고정
- 전체 모델 파라미터 약 3억 8400만 개
- 학습은 SGD로 진행
- 초기 학습률은 0.7로 설정한 뒤 5 에폭 이후부터 반 에폭마다 절반으로 줄임
- 미니배치 크기 = 128
- 문장 길이 편차로 인한 계산 낭비를 줄이기 위해 비슷한 길이의 문장들만 묶어서 학습
- L2 노름이 5를 넘을 경우 클리핑을 적용 ( 그래디언트 발산을 막기 위해 )
이런 학습 설정 덕분에 모델은 안정적으로 수렴했고, 얕은 LSTM보다 더 나은 성능을 일관되게 보여주었다.
3.5 병렬 처리 (Parallelization)
기존 C++ 기반 LSTM 모델은 단일 GPU에서 초당 약 1,700단어를 처리할 수 있었지만, 이는 학습 속도로는 너무 느렸다. 이를 개선하기 위해 총 8개의 GPU를 활용한 병렬 처리를 적용했다. LSTM의 각 층을 별도의 GPU에서 실행하고, 계산된 결과를 다음 층으로 실시간 전달하는 방식으로 구성했다. 나머지 4개의 GPU는 softmax 연산을 병렬화하는 데 사용되었고, 각 GPU는 1000×20,000 행렬 곱셈을 분담했다.
이 최적화 덕분에 초당 6,300단어(영어+프랑스어 기준)를 처리할 수 있었고, 전체 학습에는 약 10일이 소요되었다.
3.6 Experimental Results
모델의 번역 성능은 BLEU 점수를 기준으로 평가하였다.
LSTM 5개를 조합한 모델(앙상블)에 beam size를 2로 설정한 경우 BLEU 점수는 34.81로, 기존 통계 기반 번역 시스템(SMT)의 점수인 33.30보다 높았다. 특히 입력 문장의 단어 순서를 거꾸로 넣었을 때 성능이 더 향상되었고, 작은 beam size만으로도 큰 beam size에 가까운 성능을 낼 수 있어 효율적인 구조로 나타났다.
또한 이 LSTM 모델을 기존 번역 시스템이 만들어낸 여러 후보 문장 중 가장 자연스러운 번역을 고르는 데 활용했을 때, BLEU 점수가 최대 36.5까지 올랐다. 이는 당시 최고 성능 모델(WMT'14 기준)의 37.0에 근접하는 수준으로, 신경망 기반 번역 모델이 기존 방식보다 더 나은 결과를 낼 수 있음을 보여주는 중요한 실험 결과다.

3.8 Model Analysis
1) 구조파악 능력

LSTM이 학습한 문장 표현을 2차원으로 시각화한 결과, 유사한 의미를 가진 문장들이 자연스럽게 묶여 나타났다.
“Mary admires John”과 “Mary respects John”처럼 단어 순서가 다르거나 어휘가 일부 바뀐 문장도 비슷한 위치에 나타났으며, 이는 모델이 의미 구조를 효과적으로 파악하고 있다는 것을 보여준다.
또한 단어 순서에는 민감하지만, 능동/수동 표현의 차이에는 비교적 강건한 특성을 보였다.
2) 긴 문장 번역 능력

긴 문장 번역에서도 모델의 성능은 안정적이다. 실제 긴 문장의 번역문과 정답 문장을 비교해보면, LSTM이 생성한 번역이 전반적으로 자연스럽고 일관된 표현을 유지하고 있음을 확인할 수 있다.
3) 문장의 길이나 단어의 희귀도에 따른 성능변화

문장의 길이나 단어의 희귀도에 따른 성능 변화를 살펴본 결과, 35단어 미만의 문장에서는 성능 저하가 거의 없었고, 긴 문장이나 희귀 단어가 많은 문장에서도 기존 시스템보다 꾸준히 높은 BLEU 점수를 유지했다.
이는 Seq2Seq LSTM 모델이 문맥을 잘 유지하면서도 다양한 문장 구조에 유연하게 대응할 수 있음을 보여준다.
Related work
이전 연구들에서는 주로 RNN이나 피드포워드 신경망 기반 언어 모델(NNLM)을 활용해 통계 기반 번역 시스템(SMT)이 생성한 후보 문장 목록의 점수를 다시 계산함으로써 번역 품질을 높이고자 했다. 이후에는 입력 문장의 정보를 NNLM에 직접 반영하려는 시도가 이어졌고, Auli et al.과 Devlin et al.은 문장의 주제나 정렬 정보를 활용해 성능을 개선한 바 있다.
이 논문은 Kalchbrenner & Blunsom처럼 문장을 벡터로 인코딩한 뒤 다시 문장으로 디코딩하는 구조를 따르지만, 단순한 CNN 대신 LSTM을 사용해 긴 문장에서도 안정적인 성능을 유지했다는 점에서 차별점을 가진다. 또한 Bahdanau et al.은 어텐션 기법을 통해 장문 번역의 문제를 해결하려 했고, Pouget-Abadie et al.은 보다 자연스러운 번역을 위해 입력 문장의 단어 순서를 조정하는 방식을 도입했다.
이런 흐름 속에서 본 논문은 입력 시퀀스를 역순으로 처리하고, end-to-end 방식으로 학습함으로써 간단하면서도 강력한 성능을 보여주었다.
Conclusion
이번 연구에서는 복잡한 설계 없이도, 단순한 LSTM 모델이 기존 통계 기반 번역 시스템(SMT)을 능가할 수 있음을 보여주었다. 특히 단어 순서를 역으로 입력하는 방식은 학습을 훨씬 쉽게 만들었고, 긴 문장에서도 안정적인 성능을 보였다. 실제로 기존에는 LSTM이 메모리 한계로 인해 긴 문장 번역에 취약할 것이라 예상되었지만, 역순 데이터를 활용한 학습은 이러한 약점을 극복하는 데 효과적이었다.
이처럼 간단한 접근만으로도 기존 SMT 시스템을 넘어서는 결과를 얻을 수 있었다는 점은, 향후 다양한 시퀀스 처리 문제에 있어서도 본 모델이 충분한 가능성을 지닌다는 것을 시사한다.
'딥러닝' 카테고리의 다른 글
| [딥러닝] Transformer 논문 읽기 (1) | 2025.05.12 |
|---|---|
| [딥러닝] LSTM의 gate (초간단 정리) (0) | 2025.05.05 |
| [딥러닝] GRU 논문읽기 (0) | 2025.03.30 |
| [딥러닝]LSTM 논문읽기 (2) | 2025.03.28 |
| [딥러닝] RNN(Recurrent Neural Network) 순환신경망 정리 (0) | 2025.03.24 |