IT용어위키


시퀀스-투-시퀀스 구조

인코더와 디코더를 사용한 구조

시퀀스-투-시퀀스 구조(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.

각주

  1. Sutskever, I., Vinyals, O., Le, Q. V., "Sequence to Sequence Learning with Neural Networks", 2014

  출처: IT위키 (IT위키에서 최신 문서 보기)

  * 본 페이지는 IT Wiki에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 IT Wiki에서 확인하세요!