Decoder

O decoder consiste nos mesmos componentes do encoder com exceção de dois. Como visto anteriormente:

  1. A sequência de saída é computada da mesma forma através de embedding e positional encoding

  2. Esses vetores são passados para o primeiro bloco de decoder

Cada bloco de decoder contém as seguintes estruturas:

  1. Uma camada de Mask Multi-head Attention

  2. Uma camada de normalização juntamente com uma conexão residual

  3. Uma nova camada de multi-head attention conhecida como Encoder-Decoder attention

  4. Uma nova camada de normalização seguida por conexões residuais

  5. Uma linear layer com uma terceira conexão residual

Assim, a estrutura do decoder está representada a seguir.

Figura 87: Representação da estrutura de um decoder de um transformer.

Na saída, "Output Probabilities" representa a probabilidade do próximo token da sequência.

Nas seções seguintes, serão detalhadas as subestruturas do decoder.