Essencial
Bahdanau attention: a ideia que mudou tudo
Trocar um resumo fixo por uma busca aprendida e diferenciável sobre cada estado armazenado do encoder removeu o gargalo e o caminho longo de gradiente de uma só vez — e definiu o padrão de endereçar-e-recuperar que todo modelo deste curso ainda executa.
Atualizada em
01 · Conceito
Conceito
A lição 3.4 terminou com um diagnóstico em duas partes. Um vetor fixo não comporta tudo o que uma fonte longa contém e, mesmo que comportasse, ele é calculado antes de o decoder saber qual palavra está prestes a produzir. Alargá-lo não resolvia nenhuma das duas. A resposta de 2015 muda a interface em vez do tamanho dela, e a mudança é pequena o bastante para caber numa frase: pare de jogar fora os estados do encoder.
Deixe o encoder produzir estados , um por posição da fonte, e guarde todos. Antes do passo do alvo, com o decoder segurando o estado anterior , um scorer aprendido produz uma energia para cada posição da fonte:
Tanto a necessidade atual do decoder quanto o conteúdo da posição da fonte são projetados num espaço comum, somados, achatados e pontuados. Nada aqui é uma métrica de similaridade escolhida de antemão; a própria comparação é aprendida.
Uma softmax sobre as posições da fonte transforma essas energias em pesos:
Para um passo fixo do alvo os pesos são não negativos e somam um, e uma máscara leva as posições de padding da fonte efetivamente a zero. O vetor de contexto é então a mistura ponderada do que foi armazenado:
O decoder combina com o próprio estado para prever o token seguinte e se atualizar — e na posição seguinte ele calcula energias novas e um contexto novo.
Faça um exemplo à mão, porque a aritmética torna o comportamento óbvio. Tome uma fonte de três posições e suponha que o scorer produza energias em algum passo do decoder. Exponencie: , , , somando . Divida: os pesos ficam aproximadamente , e . Então — este passo está lendo majoritariamente da posição um da fonte, com uma espiada na posição dois. Agora mude uma energia: eleve a segunda de para e os pesos viram cerca de , , . Uma diferença de dois no expoente moveu a maior parte da leitura de uma posição para outra. A softmax é agudamente sensível a diferenças de energia, e é isso que deixa o mecanismo se comportar como uma busca enquanto permanece perfeitamente diferenciável.
Agora conte o que isso comprou. O problema de capacidade sumiu, porque nada precisa ser comprimido num único vetor fixo e o resumo é feito sob medida para o passo atual. E o problema de atribuição de crédito sumiu junto, que é a metade que as pessoas costumam esquecer: o estado da fonte agora influencia uma loss tardia do alvo por uma aresta ponderada. A lição 3.4 mediu esse caminho em cerca de oitenta e cinco transições recorrentes para um par de frases modesto, com um fator de retenção elevado à octogésima quinta potência. Attention troca o produto por uma única multiplicação por . Duas falhas distintas, um mecanismo.
Aqui vem o desvio clássico, e é o bug de attention mais comum já escrito. Você tem uma matriz de energias com passos do alvo num eixo e posições da fonte no outro, e aplica softmax nela. Sobre qual eixo? Normalize por engano sobre os passos do alvo e o código roda, os formatos são idênticos, a loss cai e o modelo produz saída fluente — porque a própria modelagem de linguagem do decoder consegue carregar bastante coisa sozinha. O que você construiu não é attention: cada posição da fonte agora distribui um orçamento fixo de um entre os passos do alvo, então uma palavra da fonte que importa para três palavras de saída tem sua influência diluída, e os pesos de um passo do alvo deixam de somar qualquer coisa significativa. A correção é uma asserção, não uma revisão de código: verifique que toda linha não mascarada sobre posições da fonte soma um dentro da tolerância numérica e que toda posição de padding recebe zero. Duas linhas, e elas pegam um erro que uma curva de loss decrescente vai esconder indefinidamente.
A matriz completa dos valores forma um mapa de alinhamento suave, e plotá-la foi um marco genuíno — tradução produz padrões aproximadamente diagonais com saltos e espalhamentos onde as frases se reordenam, aprendidos sem nenhuma supervisão de alinhamento no nível da palavra. “Suave” significa que o modelo pode misturar posições e que gradientes fluem por todo peso não nulo.
Uma nota prática antes disso. O projeto mantém o decoder recorrente, então a geração continua sequencial, e calcular energias para cada posição da fonte a cada passo do alvo acrescenta trabalho real que cresce com o produto dos dois comprimentos. Esse custo valeu a pena para remover o gargalo, e é o mesmo custo que reaparece, ampliado, quando attention é aplicada não entre duas sequências mas dentro de uma só — que é onde a trilha 4 começa.
02 · Analogia
Analogia
Uma intérprete simultânea mantém uma fileira de fichas na língua de origem sobre a mesa. Antes de falar cada palavra do alvo, ela compara a frase inacabada que tem em mãos com cada ficha, atribui um peso a cada uma e lê uma mistura ponderada. Traduzir um nome concentra peso na ficha dele; produzir gramática pode espalhar peso por várias. Os pesos são suaves e recalculados a cada passo. Eles expõem um alinhamento, mas não provam qual ficha determinou causalmente a redação final.
03 · Explique de volta
Explique de volta
Derive a Bahdanau attention a partir dos estados do encoder e do estado do decoder passando por energias, pesos e vetor de contexto, e explique quais duas falhas da lição 3.4 ela remove.
Comparar com uma resposta-modelo
O encoder guarda todos os seus estados em vez de apenas o último. Antes do passo t do alvo, um scorer aprendido produz uma energia por posição da fonte a partir do estado do decoder e do estado do encoder daquela posição; uma softmax sobre as posições da fonte transforma as energias em pesos não negativos que somam um; o vetor de contexto é a soma ponderada dos estados do encoder, recalculada a cada passo. Isso remove a falha de capacidade, já que nenhum vetor fixo único precisa comportar tudo e o resumo é feito sob medida para o passo atual, e remove a falha de atribuição de crédito, já que um estado da fonte agora alcança uma loss tardia do alvo por uma única aresta de attention em vez de dezenas de transições recorrentes.
04 · Teste seu entendimento
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
◎ · Marcador de evidência
Fontes
- Dzmitry Bahdanau, Kyunghyun Cho e Yoshua Bengio (2015). Neural Machine Translation by Jointly Learning to Align and Translate.
- Qwen Team (2026). Qwen3.8-27B Model Card.