본문 바로가기
인공지능/기초

Sequence-to-sequence(seq2seq) & Teacher-forcing

by 태현IT 2024. 4. 27.

기본 개념

RNN(LSTM)으로 이루어진 인코더와 디코더를 가지는 구조. 논문 상에서는 번역을 위해 사용.

코드로 구현 시 인코더와 디코더는 같은 형태를 가짐(같은 계층 수와 해당 계층 내에 같은 크기의 hidden size)

 

모델 구조

주요 수식

$(x_1 , ..., x_{T})$ : Input sequence

$(y_1 , ..., y_{T'})$ : Input sequence에 해당하는 Output sequence(Input sequence와 같은 길이가 아닐 수 있음)

$v$ : input sequence의 마지막 input으로 부터 나온 마지막 hidden state 값

 

추가적으로 설명하면,

  1. input sequence를 인코딩해서 hidden state로 넘겨준다.
  2. 해당 hidden state의 값을 활용하여 decoding을 통해 결과 값을 만들어낸다.
  3. decoding 과정에서 output을 도출할 때, 실제로 존재하는 $y1, ..., y_{t-1}$ 값이 없기 때문에 output으로 나온 값을 다시 input 값으로 넣는 방식을 택한다.(decoder input에서 점선에 해당하는 부분)
  4. 학습하는 초반부에 output sequence에 오류가 클 수 있어 학습이 어려울 수 있다. 이를 방지하기 위해 실제 label값을 넣어 학습을 빠르게 진행한다. (Teacher Forcing : decoder input에서 실선 input에 해당하는 부분)

 

Reference

1. Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. "Sequence to sequence learning with neural networks." Advances in neural information processing systems 27 (2014).

반응형

'인공지능 > 기초' 카테고리의 다른 글

LSTM & GRU  (0) 2024.05.07
(Scaled) Dot-Product Attention  (0) 2024.04.28
Applications of RNNs  (0) 2024.03.23
Recurrent Neural Network  (2) 2024.03.23