Você está na página 1de 23

Parte 2: Arquitetura

Transformer
Transformer - Intuição

RNNs clássicas para


NLP
RNNs clássicas para NLP

Sequência para sequência:


- As palavras são codificadas em vetores
- Cada novo estado é baseado no estado
anterior
- A decodificação começa no estado final do
codificador
Mecanismo de atenção

- A última camada do codificador é


sobrecarregada com todos os textos
(tradução entre idiomas)
- Atenção maior para as camadas
- G2 possui acesso “VIP” ao vetor de contexto
- Maiores pesos para o context do estado
anterior
Mecanismo de atenção
Transformer – Intuição
Arquitetura
Exemplo de self-attention
Scaled-dot product

Ideia principal:
- 2 sequências (iguais no caso de self attention – auto atenção), A e B
- Calcular como cada elemento de A está relacionado a cada elemento de B
- Depois recombinamos A de acordo com essa relação

Antes: uma sequência A (e um contexto B)


Depois: uma nova sequência na qual o elemento i é uma mistura dos elementos de A que estão relacionados com
B
Scaled-dot product

Dot product: matematicamente, indica a similaridade entre dois vetores

joy

tree

despair
Scaled-dot product

Multiplicação de matrizes (dot product)


para cada par de palavras
Scaled-dot product

Q, K e V são matrizes que representam


sentenças depois do embedding
Scaled-dot product

example:
Scaled-dot product

indica como Q está relacionado com K, palavra por


palavra

V_len

possui o mesmo formato que Q, mas é construído com


elementos de V com respeito as correlações com Q K_len d_model

Q_len
Attention layer

Self-attention: início do codificador e decodificador.


Recomposição de uma sequência para saber como cada
elemento está relacionado com os outros (informação global)

Encoder-decoder attention: temos uma sequência interna no


codificador (Q) e um contexto do codificador (K = V). As novas
sequências são combinações de informações baseado no
contexto
Look-ahead mask

Look-ahead mask: durante o treinamento uma setença inteira é


enviada para o decodificador, porém, para prever a palavra N ele
precisa olhar para a palavra N + 1

1 0 0 0 0

1 1 0 0 0

1 1 1 0 0
*
1 1 1 1 0

1 1 1 1 1 I am happy

<SOS> am happy

Para prever “I am happy” o decodificador tem acesso somente ao “am happy”


Multi-head attention layer

Linear projections: aplicação do mecanismo de atenção em subespaços

Processamento de informações de diferentes subespaços em diferentes


posições
Transformer - Intuição
Positional encoding

Sem convoluções
Sem recorrência

O modelo não tem dicas sobre a ordem das


sequências

Positional encoding adiciona números depois da


camada de embedding para dar importância para a
ordem das palavras
Positional encoding

pos: índice de uma palavra


em uma sentença (entre 0 e
seq_len - 1)

i: uma das dimensões da


matriz de (entre 0 e
d_model - 1)
Feed forward layers (camadas densas)

- Compostas por 2 transformações lineares


Residual connections

Add & norm: não esquecer a informação da etapa anterior,


ajudando a aprendizagem durante o backpropagation
Residual connections

Last linear: a saída do decodificador passa por uma camada


densa de acordo com o tamanho do vocabulário e com
aplicação da função softmax, gerando probabilidades para
cada palavra

Você também pode gostar