"(from) sequence to sequence"를 의미한다. 즉 한 시계열 데이터를 다른 시계열 데이터로 변환하는 것을 말한다.
seq2seq는 크게 인코더, 디코더, 생성자로 구성된다.
인코더(Encoder)
주어진 문장인 여러 개의 벡터를 입력으로 받아 임베딩 벡터로 만든다.
디코더(Decoder)
인코더의 결과인 문장 임베딩 벡터와 이전 time-step까지 번역하여 생성한 단어들에 기반하여 현재 time-step의 단어를 생성한다.
생성자(Generator)
디코더에서 각 time-step별로 결과 벡터 h를 받아 softmax를 계산하여, 각 타깃 언어의 단어별 확률 값을 반환한다.
시퀀스 데이터를 입력으로 받아 다른 도메인의 시계열 데이터로 출력하는 능력이 뛰어나다.
압축할 수 있는 정보에 한계가 있어, 문장이 길어질수록 압축 성능이 떨어진다. 또한 챗봇의 경우처럼 대답에 있어 새로운 정보가 추가되는 경우는 좀 더 발전된 구조가 필요하다.