
“Allenare un modello” suona misterioso finché non se ne vede il meccanismo. Si riduce sempre a cinque ingredienti e a un obiettivo molto concreto.
Partiamo dall’esempio più semplice possibile: un input x (età), un output y (reddito) e un modello lineare y = w₀ + w₁x con solo due pesi. Dato un training set (una tabella di coppie età/reddito realmente osservate), come troviamo i due numeri giusti?
- Inizializza. Si parte da pesi casuali e si fa girare il modello su ogni input del training set (età) per ottenere i redditi predetti.
- Misura l’errore. Per ogni record del training set si misura l’errore di predizione. Esistono varie formule. La più semplice da intuire è la somma degli errori quadratici: si prende la differenza tra reddito predetto e reddito reale e la si eleva al quadrato, così che errori in eccesso e in difetto contino allo stesso modo e gli errori grossi pesino più di quelli piccoli. Poi si sommano questi valori su tutto il training set. Quel totale unico è la loss — un solo numero che misura l’errore di predizione che il modello sta commettendo con quei pesi.
- Migliora. Si cambiano i pesi per rendere la loss più piccola.

Tutto l’apprendimento sta nel passo 3: trovare i pesi che rendono la loss la più piccola possibile. Ed ecco la parte elegante — poiché i dati di training sono solo numeri fissi, la loss dipende soltanto dai pesi. Con due pesi la si può letteralmente disegnare come una superficie e andare a cercarne il punto più basso, ovvero il punto di minimo.

Quel punto più basso non lo si trova provando combinazioni a caso all’infinito — i modelli reali hanno miliardi di pesi (GPT-3 ne aveva 175 miliardi; Brown, T. et al. (2020), Language Models are Few-Shot Learners). Si usa invece un algoritmo di ottimizzazione, e quello maggiormente utilizzato è la discesa del gradiente: si parte da un punto della superficie e si compie ripetutamente un passo nella direzione di massima discesa, scendendo fino a un minimo — non necessariamente il più profondo in assoluto, ma in pratica abbastanza buono.

Mettendo insieme il tutto, ogni sistema di machine learning ha bisogno degli stessi cinque ingredienti: un compito (regressione, classificazione…), un modello con parametri, un training set da cui imparare, una funzione di loss che quantifica l’errore di predizione e un algoritmo di ottimizzazione che minimizza quella loss. Cambia gli ingredienti e cambi l’applicazione — ma la ricetta non cambia mai. E soprattutto: il comportamento del modello è appreso dai dati, non scritto da una persona.
