Essencial
Scaled dot-product attention e a raiz de d_k
Dividir as pontuações de query e key pela raiz quadrada da dimensão mantém softmax utilizável quando a largura de attention cresce.
Atualizada em
1
Conceito
Self-attention começa com uma medida simples de compatibilidade: o produto escalar entre query e key. Quando dois vetores apontam em direções semelhantes, o produto tende a ser grande e positivo. Quando estão pouco alinhados, ele fica menor ou negativo. Para as matrizes e , todas as comparações aparecem em . A escala bruta, porém, muda quando a dimensão do vetor muda.
Escreva uma pontuação como
Para a intuição usada no artigo original, suponha componentes independentes, com média zero e variância um. Cada produto tem variância próxima de um. Somar termos dá , então o desvio-padrão cresce como . Uma head de 256 dimensões produz variação maior que uma de 16, mesmo que as estatísticas dos componentes sejam comparáveis.
Attention envia cada linha de pontuações para softmax. Como softmax aplica exponenciais, a escala importa muito. Pontuações [0,2, 0,1, 0] geram um resultado distribuído. Pontuações [20, 10, 0] produzem algo quase vencedor-leva-tudo. O ranking é o mesmo, mas a segunda distribuição se comporta como se o modelo tivesse certeza extrema. Quando probabilidades chegam perto de zero ou um, gradientes úteis podem ficar pequenos.
Scaled dot-product attention corrige o efeito da dimensão:
Dividir por normaliza aproximadamente o desvio-padrão sob as hipóteses anteriores. Não força variância exatamente um num modelo treinado nem normaliza individualmente queries ou keys. Projeções aprendidas, correlações e ativações reais violam a história limpa de independência. Mesmo assim, a escala remove o crescimento mais óbvio causado pela largura.
O divisor também funciona como uma temperature fixa. Softmax com temperature é ; aqui, . Temperature maior achata a distribuição; menor a torna mais aguda. Em attention, a escala acompanha a dimensão da head, em vez de ser um controle de decoding. O modelo ainda aprende padrões mais fortes ou suaves alterando as normas de queries e keys.
Estabilidade numérica acrescenta outro detalhe. Implementações práticas subtraem o máximo de cada linha antes da exponencial. Subtrair uma constante não muda as proporções, mas impede overflow de uma pontuação positiva grande. Isso resolve overflow numérico; não resolve saturação causada por diferenças entre pontuações. A divisão pela raiz ataca a segunda fonte.
Considere produtos brutos [8,4,0] com . A escala produz [1,0,5,0]. Softmax consegue atribuir massa útil aos três itens, permitindo que gradientes ajustem cada relação. Sem a escala, a primeira key dominaria cedo demais, antes de o treinamento ter evidência para tanta certeza.
A lição vai além do denominador. Quando uma soma reúne muitas contribuições aproximadamente independentes, sua magnitude típica cresce com o número de termos. Enviar essa soma a uma não linearidade sensível altera o comportamento apenas porque a largura mudou. O Transformer compensa com uma escala derivada da variância e conserva o roteamento numa região treinável.
2
Como explicar para uma criança de cinco anos
Imagine jurados somando notas de muitas categorias independentes. Um espetáculo avaliado em 64 categorias acumula totais positivos e negativos maiores que outro avaliado em quatro, ainda que a qualidade por categoria seja igual. Enviar os totais crus para uma regra de vencedor único faria a ficha maior parecer absurdamente confiante. Dividir pela raiz do número de categorias devolve uma escala comparável antes da votação.
3
Ensine de volta
Derive por que a variância do produto escalar cresce com a dimensão da key e explique o efeito da divisão por raiz de d_k sobre softmax.
Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.
Salvo somente neste dispositivo.
Ver uma resposta-modelo
Se componentes de query e key forem aproximadamente independentes, com média zero e variância um, cada produto contribui variância próxima de um. Somar d_k produtos gera variância próxima de d_k, então o desvio-padrão cresce como raiz de d_k. Dividir por esse desvio mantém a magnitude típica aproximadamente estável e evita que softmax sature apenas porque a dimensão da head aumentou.
4
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
Fontes
- Ashish Vaswani et al. (2017). Attention Is All You Need.