Atenção é um mecanismo que permite que cada palavra em uma frase "pergunte" a todas as outras palavras: "Quanto devo prestar atenção em você para me entender?"
Sim, literalmente.
Cada palavra gera uma "Consulta" (Query).
Cada palavra também tem uma "Chave" (Key) e um "Valor" (Value).
A magia está em como elas se relacionam.
Imagine que você está em uma sala de aula, e o professor pede para você definir a palavra "banco".
Você (a palavra "banco") pode perguntar a todos os seus colegas:
Cada colega responde com uma pontuação de relevância (baseada em sua Chave).
Então, você leva respostas dos mais relevantes (seus Valores), combina-as e forma sua definição contextualizada.
Essa é, essencialmente, a mecanismo de atenção.
Cada palavra é convertida em três representações vetoriais:
🔹 Processo Simplificado:
Considere duas frases:
A) "Fui ao banco depositar meu salário."
B) "Sentei-me no banco do parque para ler."
Quando o modelo processa "banco" na frase A:
Na frase B:
Sem regras, sem dicionários! Apenas atenção contextual.
Este é o nome técnico do mecanismo que acabamos de descrever.
Fórmula (apenas para referência, não é necessário memorizar):
Attention(Q, K, V) = softmax( (Q · K^T) / √d_k ) · V
Onde:
Q · K^T = produto escalar entre consultas e chaves → pontuações de similaridade.√d_k = fator de escala (para estabilidade numérica).softmax = converte pontuações em pesos (somam 1).· V = pondera os valores por esses pesos.🔹 Importante: Você não precisa entender a fórmula para usar Transformers. Mas precisa compreender o conceito: cada palavra se redefine com base em sua relação com todas as outras.
Escolha uma palavra ambígua (como "corte", "planta", "chama"). Escreva duas frases onde ela tenha significados diferentes. Depois, descreva quais outras palavras em cada frase "deveriam" ter alta atenção com ela e por quê.
Palavra: "banco"
Query: [0.8, -0.2, 0.5] → "Buscando contexto financeiro ou geográfico"
Palavras vizinhas:
- "depositar" → Key: [0.9, 0.1, -0.3] → ALTA compatibilidade → Valor: [1.0, 0.8, ...]
- "parque" → Key: [-0.7, 0.6, 0.4] → BAIXA compatibilidade → Valor: [0.2, 0.1, ...]
- "salário" → Key: [0.85, -0.1, 0.2] → ALTA compatibilidade → Valor: [0.9, 0.7, ...]
Pesos de atenção (pós-softmax):
depositar: 0.7
parque: 0.1
salário: 0.2
Novo vetor de "banco" = 0.7 * Valor_depositar + 0.1 * Valor_parque + 0.2 * Valor_salário
→ Resultado: vetor tendencioso para "instituição financeira"
Atenção não é mágica — é um mecanismo matemático elegante que permite às máquinas entender linguagem de forma contextual, dinâmica e relacional. É o coração do Transformer. E o melhor: é totalmente paralelizável!
Agora que entendemos a atenção, vamos ver como um Transformer completo é construído a partir de seus componentes: embeddings, posição e atenção multi-cabeça.
✅ Até aqui, cobrimos aproximadamente 2 horas de conteúdo.
Gostaria de continuar com Módulo 3: Peças do Quebra-Cabeça — Embeddings, Posição e Atenção Multi-Cabeça?
Lá, mergulharemos mais fundo em como as palavras são codificadas, por que precisamos saber sua posição e como a "atenção multi-cabeça" permite entender múltiplos tipos de relações simultaneamente.
Me diga se deseja que eu continue — prosseguirei com o mesmo nível de detalhe, exemplos, analogias e código.
Perfeito! Continuamos com o mesmo nível de detalhe, profundidade pedagógica, analogias do cotidiano e preparação para a prática. Vamos ao: