Essencial
Bahdanau attention: a ideia que mudou tudo
Additive attention permite que cada passo do decoder enderece todos os estados do encoder por um alinhamento aprendido.
Atualizada em
1
Conceito
Modelos encoder-decoder clássicos forçam um vetor fixo a carregar toda a fonte. Bahdanau attention troca essa interface por uma coleção de estados e uma operação aprendida de endereçamento. A cada passo do target, o decoder pergunta quais posições da fonte são úteis agora. A resposta é uma distribuição diferenciável, permitindo aprender alinhamento e tradução juntos pelo objetivo de tradução.
Se o encoder produz e o decoder tem estado anterior , additive attention calcula uma energy por posição:
O scorer aprendido compara necessidades do decoder e conteúdo da fonte depois de projetá-los num espaço comum de alinhamento.
Softmax nas posições da fonte transforma energies em pesos:
Para um passo fixo, os pesos não são negativos e somam um. Uma máscara dá peso efetivamente zero ao padding. Temperatura não costuma ser um parâmetro livre de decoding aqui; a escala é aprendida nos parâmetros do scorer.
O context vector é
O decoder usa com seu estado e input para atualizar-se e prever o próximo token. Na posição seguinte, calcula novas energies e contexto. Nome, verbo ou marca de concordância recuperam evidência diferente sem exigir que o último estado preserve todos os detalhes igualmente.
A matriz completa de forma um mapa de alinhamento suave: targets num eixo, fontes no outro. Traduções frequentemente mostram padrões aproximadamente diagonais, com saltos ou espalhamento por reordenação e expressões multiword. O alinhamento surge sem labels palavra a palavra. “Suave” significa misturar posições e permitir que gradientes atravessem todo peso não nulo.
O desenho encurta caminhos de informação e aprendizagem. Um estado-fonte influencia target tardio diretamente por uma aresta de attention, sem passar somente pelo último estado e muitas transições. O decoder recorrente continua sequencial, e calcular score para toda fonte em cada passo custa trabalho, mas o bottleneck fixo desaparece.
Pesos de attention não são explicação completa. Peso alto mostra contribuição forte numa operação normalizada de roteamento. Estados do encoder já misturam contexto; dinâmica posterior amplifica ou cancela; pesos alternativos às vezes produzem saídas parecidas. Mapas são diagnósticos úteis, mas alegações causais exigem intervenções, não apenas inspeção visual.
Bahdanau attention mudou a pergunta de “como o encoder comprime tudo?” para “como o decoder recupera o necessário?”. Dot-product attention alterou o scorer, e o Transformer removeu recorrência usando attention em toda a mistura. Queries, keys e values generalizam o padrão de endereçar e recuperar. A inovação durável não é o heatmap, mas uma interface de memória aprendida e diferenciável cujo endereço depende da computação atual.
Na implementação, verifique que toda linha não mascarada soma um e que padding recebe probabilidade zero dentro da tolerância numérica. Essas invariantes encontram softmax no eixo errado. Compare ainda a tradução com estados-fonte embaralhados ou removidos: uma mudança causal controlada informa mais sobre dependência da fonte do que apenas observar uma faixa colorida no mapa.
Faça o mesmo teste com batches de comprimentos diferentes para validar a máscara.
2
Como explicar para uma criança de cinco anos
Uma intérprete simultânea mantém uma fileira de cartões da fonte sobre a mesa. Antes de falar cada palavra no target, compara a frase incompleta com todos os cartões, põe um peso em cada um e lê uma mistura ponderada. Traduzir um nome concentra peso; produzir gramática pode espalhá-lo. Os pesos são suaves e recalculados a cada passo. Eles mostram alinhamento, mas não provam qual cartão causou a redação final.
3
Ensine de volta
Derive as etapas de Bahdanau additive attention dos estados do encoder e decoder até energies, softmax, context vector e próximo token.
Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.
Salvo somente neste dispositivo.
Ver uma resposta-modelo
No passo t, um scorer feed-forward calcula e_ti=vᵀtanh(W_s s_{t−1}+W_h h_i) para cada estado h_i. Softmax nas posições da fonte gera α_ti não negativos que somam um. O context c_t=Σ_i α_ti h_i combina-se com estado/input do decoder para prever o target e atualizar o decoder. Recalcular c_t remove a exigência de um único vetor final servir a toda posição de saída.
4
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
Fontes
- Dzmitry Bahdanau, Kyunghyun Cho e Yoshua Bengio (2015). Neural Machine Translation by Jointly Learning to Align and Translate.