Prodotto Scalare

Geometria e algebra di applicazioni lineari, vettori e matrici

Il prodotto scalare prende due vettori e restituisce un singolo numero. La ricetta è semplice: moltiplica le componenti corrispondenti e somma i risultati. Dietro questa semplice aritmetica si nasconde un significato geometrico: il prodotto scalare misura quanto due frecce puntano nella stessa direzione.

La forma di destra è quella su cui conviene fare affidamento. |a| e |b| sono le lunghezze, e θ è l'angolo tra le frecce. Così il segno del prodotto scalare rivela immediatamente la geometria: positivo significa che le frecce si inclinano nello stesso verso (θ < 90°), negativo significa che si oppongono (θ > 90°), ed esattamente zero significa che sono perpendicolari. Quest'ultimo caso ricorre di continuo.

Immagina di spingere un carrello della spesa mentre soffia il vento. Il prodotto scalare della tua spinta e del vento ti dice quanto sono allineate le due frecce: è grande e positivo (positive) quando il vento ti aiuta ad andare avanti, zero quando il vento soffia dritto perpendicolarmente al tuo percorso non facendo alcun lavoro, e negativo quando ti spinge contro. Letto come un punteggio di similarità, un prodotto scalare più grande significa semplicemente "queste due frecce concordano di più".

Dove si trova nel MLQuando un transformer decide a quale token precedente prestare attenzione, calcola un prodotto scalare. Uno score di attention è q · k tra un vettore query e un vettore key: è alto quando i due puntano nello stesso verso, e questo significa "questo token è rilevante per quell'altro". La cosine similarity è la stessa idea, con le lunghezze eliminate per divisione. Misura quanto due embedding si…
▶ Prodotto Scalare
← Vettori in RⁿNorme →