Encoder-decoder architecture

Untitled

S2S with Attention mechanism

학습

  1. 인코더는 마지막 time stamp hidden state를 decoder의 입력($h_0$)로 입력

  2. 디코더는 $h_0$와 <start> token을 받아 $h{^{d}{_1}}$를 계산

    Untitled

    1. $h{^{d}{1}}$와 인코더의 hidden state vector $h{^{e}{{1, 2, 3 .. n}}}$을 각각 내적하여 유사도를 계산
    2. 이 유사도를 Attention Score로 정하고, 이를 softmax에 통과 시켜 Attention Distribution을 계산
    3. Attention Distribution을 $h{^{e}{_{1, 2, 3 .. n}}}$의 가중치로 사용하여 가중 평균을 구함 ⇒ Attention output
    4. 결론적으로 Attention Module의 입력은 인코더의 hidden state vector 전체 $h{^{e}{_{1, 2, 3 .. n}}}$ 와 특정 디코더 벡터 $h{^{d}{_m}}$이며, 출력으로는 Attetnion output이 나오게 됨
  3. Attention output과 디코더의 출력을 concat하여 output layer의 입력으로 들어가고, output layer의 출력으로 다음에 나올 단어를 예측하게 됨

    Untitled

역전파

Untitled

다양한 Attention Mechanism

Attention Score을 내적으로 구하는 것이 아니라, 다양한 방법으로 확장

Untitled