시퀀스-투-시퀀스 구조: 두 판 사이의 차이
IT 위키
(새 문서: 섬네일|인코더와 디코더를 사용한 구조 시퀀스-투-시퀀스 구조(Sequence-to-Sequence, Seq2Seq)는 입력 시퀀스(예: 문장)를 받아 출력 시퀀스(예: 번역된 문장)를 생성하는 신경망 아키텍처이다. 주로 인코더와 디코더 두 부분으로 구성되며, 기계 번역을 비롯한 다양한 자연어 처리 작업에서 활용된다. * 짧게 Seq2Seq이라고 쓰기도 한다. ==개...) |
(차이 없음)
|
2025년 9월 24일 (수) 12:00 기준 최신판
시퀀스-투-시퀀스 구조(Sequence-to-Sequence, Seq2Seq)는 입력 시퀀스(예: 문장)를 받아 출력 시퀀스(예: 번역된 문장)를 생성하는 신경망 아키텍처이다. 주로 인코더와 디코더 두 부분으로 구성되며, 기계 번역을 비롯한 다양한 자연어 처리 작업에서 활용된다.
- 짧게 Seq2Seq이라고 쓰기도 한다.
개요[편집 | 원본 편집]
시퀀스-투-시퀀스 구조는 2014년 구글 연구진이 기계 번역을 위해 처음 제안하였다. 기존의 통계적 번역 방식과 달리, 딥러닝 기반으로 입력과 출력의 변환을 학습할 수 있다는 점에서 주목을 받았다.[1] 이 구조는 입력 시퀀스를 고정된 차원의 벡터로 변환한 뒤, 그 벡터를 바탕으로 출력 시퀀스를 생성한다.
구조[편집 | 원본 편집]
- 인코더(Encoder)
- 입력 시퀀스를 받아 내부 표현(컨텍스트 벡터)으로 압축한다.
- 보통 RNN, LSTM, GRU와 같은 순환 신경망을 사용하였다.
- 디코더(Decoder)
- 인코더가 만든 컨텍스트 벡터를 입력받아 순차적으로 출력 시퀀스를 생성한다.
- 디코더 또한 RNN 계열 모델이 사용되었다.
- 컨텍스트 벡터(Context Vector)
- 인코더가 출력한 고정 길이 벡터로, 입력 시퀀스 전체의 정보를 담고 있다.
- 초기 구조에서는 이 벡터 하나만으로 모든 출력을 생성해야 했기 때문에 긴 시퀀스를 다루는 데 한계가 있었다.
한계와 발전[편집 | 원본 편집]
- 입력이 길어질수록 정보가 압축되는 과정에서 손실이 커져 번역 품질이 떨어졌다.
- 이를 해결하기 위해 2014년 말부터 어텐션 메커니즘이 도입되어, 디코더가 출력 단어를 생성할 때 입력 시퀀스 전체를 참조할 수 있게 되었다.
- 이후 트랜스포머 아키텍처가 등장하면서, RNN 기반 seq2seq 모델은 점차 대체되었다.
응용[편집 | 원본 편집]
- 기계 번역
- 음성 인식 및 음성 합성
- 텍스트 요약
- 대화형 인공지능
같이 보기[편집 | 원본 편집]
참고 문헌[편집 | 원본 편집]
- Sutskever, I., Vinyals, O., Le, Q. V. (2014). Sequence to Sequence Learning with Neural Networks. NIPS.
- Cho, K., van Merriënboer, B., Bahdanau, D., Bengio, Y. (2014). Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation. EMNLP.
각주[편집 | 원본 편집]
- ↑ Sutskever, I., Vinyals, O., Le, Q. V., "Sequence to Sequence Learning with Neural Networks", 2014