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 h1,,hSh_1,\ldots,h_S e o decoder tem estado anterior st1s_{t-1}, additive attention calcula uma energy por posição:

eti=vtanh(Wsst1+Whhi+b).e_{ti}=v^\top\tanh(W_s s_{t-1}+W_h h_i+b).

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:

αti=exp(eti)j=1Sexp(etj).\alpha_{ti}=\frac{\exp(e_{ti})}{\sum_{j=1}^{S}\exp(e_{tj})}.

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 é

ct=i=1Sαtihi.c_t=\sum_{i=1}^{S}\alpha_{ti}h_i.

O decoder usa ctc_t 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 αti\alpha_{ti} 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

1. Em qual dimensão softmax atua no alinhamento de um passo?
Resposta e explicação

Nas posições da fonte — O decoder distribui massa de attention pelos estados armazenados do encoder.

2. O que é o context vector?
Resposta e explicação

Uma soma ponderada dos estados do encoder — Pesos suaves criam um resumo diferenciável adaptado ao passo atual.

Conclua o teach-back e acerte o quiz para finalizar a aula.

Fontes

  1. Dzmitry Bahdanau, Kyunghyun Cho e Yoshua Bengio (2015). Neural Machine Translation by Jointly Learning to Align and Translate.