RNN Attention Multi-head Self Attention
Encoder Decoder Positional Encoding
Seq2seq BERT

Background


Transformer 구조

Encoder-Decoder

중요 Point

  1. 어떻게 N개의 단어가 인코더에서 한 번에 처리되나?
  2. 인코더와 디코더 사이에 어떤 정보를 주고받을까?
  3. 디코더가 출력 시퀸스를 어떻게 생성할까?

Encoder

Transformer은 앞에서 설명했듯, 입력을 동시에 받는다.

따라서, 입력되는 임베딩 벡터의 순서를 지정해줄 방법이 필요하다.

이를 위해 Positional Encoding으로 임베딩 벡터를 조절한다.


추가로 사용된 기술


Decoder

Untitled

Encoder에서 Decoder로 어떤 값이 전달될까?

출력하고자 하는 단어가 활용할 Attention map을 만들기 위해 Input 단어들의 $K,V$가 필요하다.

이후, Decoder에 들어가는 단어들로 만들어지는 Query 벡터와 Encoder에 입력으로 주어지는 단어들로 얻어지는 두 개의 벡터들($K,V$)로 최종 값이 나오게 된다.