🧩 MÓDULO 3: Peças do Quebra-Cabeça — Embeddings, Posição e Atenção Multi-Cabeça

Duração estimada deste módulo: 1.5–2 horas
Objetivo: Entender como a representação inicial das palavras é construída, por que é crucial saber sua posição na frase e como o Transformer "enxerga" o texto de múltiplas perspectivas simultaneamente.


Lição 3.1 — O Que É um "Embedding"? Traduzindo Palavras em Números Inteligentes

Antes que o Transformer possa aplicar o mecanismo de atenção, ele precisa converter palavras em algo que os computadores entendam: números.

Mas não quaisquer números. Não se trata de atribuir IDs arbitrários (como "gato = 1", "cachorro = 2"). Isso não captura significado.

É aí que entram os embeddings.

🔹 Definição simples:
Um embedding é uma representação vetorial densa de uma palavra (ou token), onde palavras com significados ou usos similares têm vetores similares.

Exemplo:

  • "rei" → [0.85, -0.2, 0.67, ...]
  • "rainha" → [0.82, -0.18, 0.65, ...]
  • "mesa" → [-0.3, 0.9, 0.1, ...]

"rei" e "rainha" estão próximos no espaço vetorial. "mesa" está distante.


Lição 3.2 — Analogia do "Mapa Semântico"

Imagine que todas as palavras do idioma estejam localizadas em um gigantesco mapa de significados.

  • No "bairro dos animais" estão: cachorro, gato, elefante, girafa.
  • No "bairro das emoções": feliz, triste, animado, entediado.
  • No "bairro dos objetos": cadeira, mesa, lâmpada, janela.

Um embedding é como as coordenadas GPS de uma palavra nesse mapa.

Quando o modelo vê a palavra "gato", não vê a letra 'g' ou 'a'. Vê seu vetor: um ponto nesse mapa semântico. E graças a isso, pode raciocinar:

"Se 'gato' está próximo de 'cachorro', e 'cachorro' geralmente vai com 'coleira', talvez 'gato' também tenha algo a ver com 'coleira'... embora não exatamente igual."

Esse mapa não é programado manualmente. É aprendido automaticamente durante o treinamento!


Lição 3.3 — Como São Gerados os Embeddings?

Existem duas formas principais:

1. Embeddings estáticos (pré-treinados)

Como Word2Vec ou GloVe. Treinados uma vez em grandes corpora textuais e depois usados como camada fixa. Limitação: cada palavra tem apenas um vetor, independentemente do contexto.

"banco" sempre tem o mesmo vetor, quer signifique "financeiro" ou "de praça".

2. Embeddings contextuais (dinâmicos)

Aqui é onde o Transformer brilha! Em vez de atribuir um vetor fixo, o modelo gera um embedding específico para cada contexto.

Em "fui ao banco depositar", "banco" terá um vetor próximo de "dinheiro".
Em "sentei-me no banco do parque", terá um vetor próximo de "madeira" ou "descanso".

Isso é conseguido combinando:

  • O embedding inicial (busca em uma tabela de embeddings).
  • A codificação posicional (ver próxima lição).
  • E depois, camadas de atenção que refinam o vetor com base no contexto.

Lição 3.4 — O Problema da Posição: E Se Todas as Palavras São Processadas ao Mesmo Tempo?

Aqui vem um desafio chave:

Se o Transformer processa todas as palavras simultaneamente... como ele sabe qual vem primeiro, qual está no meio e qual é a última?

Posições importam!

"O cachorro mordeu o homem" ≠ "O homem mordeu o cachorro"

Nas RNNs, a ordem estava implícita na sequência de processamento. No Transformer, não está.

Solução: Codificação Posicional (Positional Encoding)


Lição 3.5 — Codificação Posicional: Dando "GPS Temporal" a Cada Palavra

A ideia é simples: adicionar ao embedding de cada palavra um sinal numérico indicando sua posição na sequência.

Mas não qualquer sinal. Um contador simples (posição 1, 2, 3...) não escala bem e não captura relações relativas ("a palavra 5 está próxima da 6").

A solução do Transformer original: funções senoidais.

🔹 Fórmula (apenas para referência):

Para uma posição pos e uma dimensão i do vetor:

PE(pos, 2i)   = sin(pos / 10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

Onde d_model é a dimensão do embedding (por exemplo, 512 ou 768).


Lição 3.6 — Analogia das "Ondas de Rádio"

Imagine que cada posição na frase emita uma "frequência única", como uma estação de rádio.

  • Posição 1: emite na frequência A
  • Posição 2: emite na frequência B
  • ...
  • Posição 100: emite na frequência Z

Cada palavra recebe seu embedding semântico + sua "onda de posição".

Quando o modelo soma ambos, obtém um vetor que diz:

"Sou a palavra 'banco', e estou na posição 5 da frase."

E a parte mais inteligente: essas funções senoidais permitem que o modelo aprenda relações relativas.

"A palavra na posição 5 pode aprender que a palavra na posição 6 está 'próxima', mesmo nunca tendo visto uma frase de 100 palavras durante o treinamento."


Lição 3.7 — Atenção Multi-Cabeça: Por Que Uma "Olhada" Não Basta?

Imagine que você esteja analisando uma peça teatral.

  • Um crítico literário olha temas, metáforas e simbolismo.
  • Um diretor olha emoções, pausas e entonações.
  • Um designer de figurino olha roupas, cores e texturas.

Todos estão vendo a mesma peça... mas de perspectivas diferentes. E todas são válidas.

É isso que faz o mecanismo de atenção multi-cabeça (Multi-Head Attention).

Em vez de calcular uma única matriz de atenção, o Transformer calcula várias "cabeças" de atenção em paralelo, cada uma com suas próprias matrizes de Query, Key e Value aprendidas.


Lição 3.8 — Como Funciona a Atenção Multi-Cabeça?

  1. O vetor de cada palavra é projetado em h espaços diferentes (por exemplo, 8 cabeças).
  2. Em cada espaço, a atenção independente é calculada (com suas próprias Q, K, V).
  3. Cada cabeça "aprende" a focar em um tipo diferente de relação:
    • Uma cabeça pode focar em relações sintáticas (sujeito-verbo).
    • Outra em relações semânticas (sinônimos, antônimos).
    • Outra em referências (pronomes → substantivos).
  4. As saídas de todas as cabeças são concatenadas e projetadas de volta em um único vetor.

🔹 Resultado: O modelo não tem apenas uma forma de "olhar" a frase. Tem múltiplas lentes, cada uma especializada.


Lição 3.9 — Exemplo Visual (descrito) de Atenção Multi-Cabeça

Imagine a frase:

"A cientista que descobriu a vacina recebeu um prêmio."

  • Cabeça 1 (sintática): Conecta "cientista" com "descobriu" e "recebeu" → relações de ação.
  • Cabeça 2 (semântica): Conecta "cientista" com "vacina" e "prêmio" → relações de conquista/campo.
  • Cabeça 3 (referencial): Conecta "que" com "cientista" → resolução de pronomes relativos.

Cada cabeça contribui com uma peça do quebra-cabeça. Juntas, dão uma compreensão completa.


✍️ Exercício de Reflexão 3.1

Pegue a frase: "O músico que tocou o violino emocionou o público."
Imagine três "cabeças de atenção" distintas. Descreva quais palavras cada uma conectaria e por quê. Use categorias como: sintaxe, semântica, emoção, instrumento, etc.


📊 Diagrama Conceitual 3.1 — Embedding + Posição + Atenção Multi-Cabeça

Palavra: "cientista"
Embedding: [0.7, -0.3, 0.5, ...] → "significado base"
Posição 3: [0.1, 0.05, -0.2, ...] → "onda senoidal para pos=3"
Vetor inicial = Embedding + Posição → [0.8, -0.25, 0.3, ...]

Projetado em 3 cabeças:
Cabeça 1: Q1, K1, V1 → atenção a verbos
Cabeça 2: Q2, K2, V2 → atenção a objetos
Cabeça 3: Q3, K3, V3 → atenção a prêmios/conquistas

Saídas das cabeças:
Cabeça 1: [0.6, 0.1, ...]
Cabeça 2: [-0.2, 0.8, ...]
Cabeça 3: [0.4, 0.5, ...]

Concatenado: [0.6, 0.1, -0.2, 0.8, 0.4, 0.5, ...]
Projeção final: [0.55, 0.3, 0.45, ...] → representação final enriquecida

🧠 Conclusão do Módulo 3

O Transformer não começa do zero. Constrói compreensão em camadas:

  1. Embeddings dão significado semântico inicial.
  2. Codificação posicional dá consciência da ordem.
  3. Atenção multi-cabeça permite enxergar o texto de múltiplos ângulos simultaneamente.

É como uma equipe de especialistas analisando um texto: cada um contribui sua perspectiva, resultando em uma compreensão muito mais rica e matizada do que qualquer analista sozinho poderia alcançar.

Agora que entendemos as peças fundamentais, é hora de montá-las: Como essas peças são organizadas para formar um Transformer completo? Qual a diferença entre um codificador e um decodificador? Por que BERT e GPT, embora ambos usem Transformers, funcionam de formas tão diferentes?

Veremos isso no próximo módulo.


Course Info

Course: AI-course2

Language: PT

Lesson: Module3