Decoder
O decoder consiste nos mesmos componentes do encoder com exceção de dois. Como visto anteriormente:
-
A sequência de saída é computada da mesma forma através de embedding e positional encoding
-
Esses vetores são passados para o primeiro bloco de decoder
Cada bloco de decoder contém as seguintes estruturas:
-
Uma camada de Mask Multi-head Attention
-
Uma camada de normalização juntamente com uma conexão residual
-
Uma nova camada de multi-head attention conhecida como Encoder-Decoder attention
-
Uma nova camada de normalização seguida por conexões residuais
-
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.