Zusammenfassungen

Universitätsnotizen im Markdown-Format aus Obsidian.

Livelli di Attenzione

download MD herunterladen

L'Attenzione può essere descritta come un sistema di recupero informazioni "fuzzy" (sfocato). Immaginiamo di avere un database di coppie (Chiave, Valore). Arriva una Query.

  • In un database classico, cerchiamo la Chiave esatta e restituiamo il Valore.
  • Nell'Attenzione, calcoliamo quanto la Query è simile a ciascuna Chiave, e restituiamo una media ponderata dei Valori.

1. La Formula Matematica

Ogni input $X$ viene proiettato tramite tre matrici di pesi apprendibili ($W^Q, W^K, W^V$) per produrre tre vettori:

  • Query ($Q$): Cosa sto cercando?
  • Key ($K$): Cosa offro? (Etichetta per il confronto).
  • Value ($V$): Il contenuto vero e proprio.

L'attenzione è calcolata come:

$$ Attention(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$

  1. $QK^T$ (Prodotto Scalare): Calcola la somiglianza tra la Query e tutte le Key. Se due vettori sono allineati, il prodotto è alto.
  2. $\\sqrt{d_k}$ (Scaling): Divide per la radice della dimensione dei vettori. Serve a evitare che il prodotto scalare diventi troppo grande (che spingerebbe la softmax in zone a gradiente zero).
  3. Softmax: Converte i punteggi grezzi in probabilità (pesi che sommano a 1).
  4. $\cdot V$: Calcola la somma pesata dei Valori.

2. Tipologie di Attenzione nel Transformer

Self-Attention (Encoder e Decoder)

Qui $Q, K, V$ provengono tutti dalla stessa fonte (l'output del livello precedente). Ogni parola presta attenzione a tutte le altre parole della frase. Serve per costruire una rappresentazione contestuale ricca.

Masked Self-Attention (Decoder)

Nel Decoder, mentre generiamo la parola al tempo $t$, non dobbiamo poter sbirciare le parole future ($t+1, t+2...$). Si applica una Maschera (valori $-\\infty$ prima della softmax) che azzera l'attenzione verso il futuro.

Cross-Attention (Encoder-Decoder)

  • Query: Viene dal Decoder (ciò che voglio generare).
  • Key & Value: Vengono dall'output dell'Encoder (la frase originale). Questo permette al Decoder di allinearsi con la frase di input.

3. Multi-Head Attention

Una singola attenzione potrebbe focalizzarsi solo su un aspetto (es. concordanza sintattica). Usiamo $h$ Teste di Attenzione parallele. Ogni testa ha le sue matrici $W^Q, W^K, W^V$ e impara a guardare aspetti diversi (una guarda la sintassi, una la semantica, una le entità nominate). Gli output delle teste vengono concatenati e passati per una proiezione lineare finale.