Sequence-to-Sequence (seq2seq)
seq2seq(Sequence-to-Sequence)는 가변 길이의 입력 시퀀스를 다른 도메인의 출력 시퀀스로 변환하도록 설계된 딥러닝 모델 아키텍처다. 2014년 구글(Google) 연구진(Sutskever et al.)과 조경현 등이 속한 글로벌 연구팀(Cho et al.)에 의해 제안되었다. 기계 번역(Machine Translation), 텍스트 요약, 질의응답 시스템 등 다양한 자연어 처리(NLP) 작업의 기반 기술로 사용된다.
핵심 구조 (Core Architecture)
초기 seq2seq 모델은 두 개의 독립적인 순환 신경망(RNN, 주로 LSTM 또는 GRU)으로 구성된다.
- 인코더 (Encoder): 입력 시퀀스(예: 원문 영어 문장)의 토큰을 순차적으로 읽어 들여 처리한다. 모든 입력의 처리가 끝나면, 전체 시퀀스의 의미 정보를 압축한 고정된 크기의 단일 벡터인 ‘컨텍스트 벡터(Context Vector)‘를 생성한다.
- 디코더 (Decoder): 인코더로부터 컨텍스트 벡터를 초기 상태로 전달받는다. 이를 바탕으로 출력 시퀀스(예: 번역된 프랑스어 문장)의 첫 단어를 예측하고, 이전 단계에서 출력된 단어를 다음 단계의 입력으로 사용하여 지정된 종료 토큰(End-Of-Sequence,
)이 나올 때까지 변환을 반복한다.
한계 및 어텐션 메커니즘 (Limitations and Attention Mechanism)
기본적인 seq2seq 구조는 문장의 길이가 길어질수록 모든 정보를 하나의 고정된 벡터에 압축하는 과정에서 정보의 손실(병목 현상)이 발생하는 치명적인 한계가 있다.
이를 해결하기 위해 어텐션 메커니즘(Attention Mechanism)이 도입되었다. 어텐션은 디코더가 매번 새로운 토큰을 생성할 때마다 인코더의 컨텍스트 벡터 하나에만 의존하지 않고, 인코더의 모든 출력 상태(Hidden states)를 다시 참조하여 현재 예측할 단어와 가장 연관성이 높은 입력 부분에 가중치를 두어 집중(Attention)하도록 만든다.
전통적 seq2seq와 Transformer 아키텍처 비교
seq2seq의 개념에 어텐션 메커니즘을 극대화하여 RNN 구조를 아예 제거하고 등장한 것이 트랜스포머(Transformer) 모델이다. 오늘날 대부분의 LLM(대형 언어 모델)은 순수 RNN 기반의 seq2seq를 대신하여 트랜스포머를 채택하고 있다.
| 비교 항목 | 전통적 seq2seq (RNN/LSTM 기반) | Transformer (Self-Attention 기반) |
|---|---|---|
| 데이터 처리 방식 (Processing) | 단어를 순차적으로(Sequential) 하나씩 입력받아 처리 | 위치 정보(Positional Encoding)를 부여한 뒤 한 번에 입력받아 처리 |
| 학습 병렬화 (Parallelization) | 이전 단계 연산이 끝나야 다음 연산이 가능하여 병렬 처리 불가 | 전체 시퀀스를 동시에 연산하므로 병렬 처리 가능 (학습 속도 대폭 개선) |
| 장기 의존성 (Long-term Dependency) | 시퀀스가 매우 길어질 경우 정보 소실 및 그래디언트 소실 발생 유력 | 셀프 어텐션을 통해 시퀀스 내 거리에 상관없이 단어 간 직접적 의존성 계산 |
| 기반 메커니즘 (Core Operation) | 은닉 상태(Hidden State)의 순차적 업데이트 | 멀티 헤드 어텐션 (Multi-head Attention) 연산 |
출처 (Sources):
- Sutskever, I., Vinyals, O., & Le, Q. V. (2014). “Sequence to Sequence Learning with Neural Networks.” Advances in Neural Information Processing Systems (NeurIPS). (https://arxiv.org/abs/1409.3215)
- Cho, K., van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). “Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation.” EMNLP. (https://arxiv.org/abs/1406.1078)
- Bahdanau, D., Cho, K., & Bengio, Y. (2015). “Neural Machine Translation by Jointly Learning to Align and Translate.” ICLR.
- Jay Alammar: “Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)” (http://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-[[attention]]/)