Quasi ogni compito di machine learning, nella sua essenza, può ridursi allo stesso problema matematico: dato un insieme di variabili di input, predire il valore delle variabili di output.
Fondamenti del Machine LearningNella programmazione tradizionale è un umano a scrivere le regole; nel machine learning si forniscono alla macchina degli esempi ed è lei a ricavare le regole da sola.
Fondamenti del Machine LearningUn sistema di machine learning impara regolando i propri pesi per rendere la loss — il numero che misura l'errore di predizione complessivo — la più piccola possibile, tramite un algoritmo di ottimizzazione, tipicamente la discesa del gradiente.
Fondamenti del Machine LearningUn modello che fitta perfettamente i dati di training può comunque essere inutile: l'obiettivo non è errore zero ma la generalizzazione — predire al meglio i casi mai visti — il che significa resistere alla tentazione dell'overfitting.
Fondamenti del Machine LearningIl machine learning si può ricondurre a tre grandi famiglie — apprendimento supervisionato, non supervisionato e per rinforzo — distinti da come sono i dati di training: etichettati, non etichettati o sostituiti da ricompense.
Una rete neurale è un modello fatto di nodi elementari disposti in strati e collegati da connessioni pesate: i dati entrano dallo strato di input, attraversano uno o più strati nascosti ed escono dallo strato di output — e i pesi delle connessioni sono esattamente i parametri che l'addestramento deve trovare.
Reti neuraliUn neurone artificiale calcola una somma pesata dei suoi input, aggiunge un bias e passa il risultato attraverso una funzione di attivazione: è la non linearità di quest'ultima a rendere sensata la profondità, perché senza di essa un'intera rete collasserebbe in una sola operazione lineare.
Reti neuraliLa backpropagation calcola il gradiente della loss applicando la regola della catena strato per strato, dall'uscita verso l'ingresso: ogni peso riceve così la sua quota di responsabilità sull'errore, ed è questo a rendere possibile addestrare reti con miliardi di parametri, dove risolvere l'equazione del minimo sarebbe impensabile.
Reti neuraliUna rete neurale abbastanza grande può in teoria approssimare qualunque relazione, ma il teorema che lo garantisce non dice come trovarla; e i pesi che l'addestramento trova funzionano senza che nessuno sappia cosa significhino. È da questa opacità che nasce la mechanistic interpretability, con strumenti come gli autoencoder sparsi e i circuiti.
Reti neuraliLa rete feedforward e fully connected vista nei capitoli precedenti è solo una delle topologie possibili: CNN, RNN, Transformer, Autoencoder e GAN nascono ciascuna per rispondere a un vincolo diverso imposto dai dati — spaziale, sequenziale, o l'assenza stessa di un'etichetta da predire.
Un numero comincia a portare con sé un significato solo se traduce la vicinanza di significato tra parole in vicinanza geometrica: la chiave per risolvere questo problema è utilizzare rappresentazioni dense.
Linguaggio e significatoWord2Vec impara rappresentazioni dense delle parole in modo del tutto automatico, addestrando una rete neurale a predire una parola dal suo contesto: l'embedding che cerchiamo è un sottoprodotto di quell'addestramento.
Linguaggio e significatoGli embedding di Word2Vec hanno limiti strutturali, un solo vettore per parola e nessuna sensibilità all'ordine, ma nascondono anche proprietà sorprendenti come l'aritmetica vettoriale e i bias appresi dai testi.
Il Transformer, introdotto nel 2017 in "Attention Is All You Need", risolve insieme il limite fondamentale delle RNN e i due limiti di Word2Vec: guarda tutta la sequenza in parallelo invece di leggerla un passo alla volta, e pesa dinamicamente il contesto invece di assegnare un vettore fisso a ogni parola.
Dentro il Transformer