Atención y transformers

Tema 23 · Fase 5, Lenguaje y atención · Toda la ruta

Lo esencial

  1. 1La atención es una búsqueda suave: cada palabra compara su consulta (Q) con las claves (K) de todas, convierte los parecidos en pesos que suman 1 con un softmax y se lleva el promedio ponderado de los valores (V): softmax(QKᵀ/√d)·V.
  2. 2Dividir por √d evita que el softmax se sature con vectores largos; la temperatura decide si la atención se concentra en una palabra o se reparte entre todas.
  3. 3En la autoatención, Q, K y V salen de la misma frase con capas lineales aprendidas, y varias cabezas miran con criterios distintos. Programada desde cero en PyTorch, da lo mismo que nn.MultiheadAttention.
  4. 4La atención no conoce el orden: hace falta sumar una codificación posicional. La máscara causal tapa el futuro con −∞ antes del softmax; con ella se arman los decodificadores, y sin ella, los codificadores.
  5. 5Un bloque transformer junta atención y un MLP, cada uno con LayerNorm y una conexión residual. Un transformer pequeño aprende en segundos a invertir dígitos, y su mapa de atención muestra la regla que descubrió.
  6. 6Un Vision Transformer corta la imagen en parches (con tensor.unfold), los trata como palabras y agrega un token [CLS] que resume la imagen.