Transformers Prof. Anderson Rocha Tavares Bloco 15 · Slide 17 / 19

Cross-Attention

O decoder pergunta; o encoder responde

Pipeline do Decoder:
🟠 Masked Self-Attn
→
⚖️ Add&Norm
→
🟣 Cross-Attn
→
⚖️ Add&Norm
→
🟩 FFN
→
⚖️ Add&Norm
→
📊 Linear+Softmax
Fluxo de Q, K, V entre Encoder e Decoder
Q = Z_dec · Wq ← decoder (após masked attn + add&norm)
K = Z_enc · Wk ← encoder output Aenc
V = Z_enc · Wv ← encoder output Aenc

Cross-Attn = softmax(QKᵀ / √dₖ) · V
Fluxo completo:
🔵 Encoder: sequência de entrada → N camadas → Aenc ∈ ℝn_src × d
  → Aenc é projetado em K e V (fixos para todas as posições do decoder)
🟣 Decoder: Zdec (após Masked Self-Att) é projetado em Q
  → Q "consulta" K para obter pesos, depois pondera V
Heatmap de Cross-Attention (decoder × encoder)
Linhas = tokens do decoder  |  Colunas = tokens do encoder
← encoder (chave) →
← decoder (query) →
Pesos de atenção
Clique em um token do decoder (esquerda) para ver seus pesos.
🔗
Cross-Attention é a "ponte" entre encoder e decoder. Cada token sendo gerado pode atender seletivamente a qualquer parte da sequência de entrada — sem restrição de máscara causal.