In fondo al corridoio di casa ci sono due interruttori che comandano la stessa lampadina. Se sono entrambi in giù, la luce è spenta. Se ne alzi uno qualsiasi, si accende. Se li alzi entrambi, torna spenta. È il classico deviatore elettrico, e nessuno lo trova misterioso. Eppure questa funzione banale — accendi se gli ingressi sono diversi, spegni se sono uguali — è la stessa che nel 1969 mise in crisi la prima generazione di reti neurali. Si chiama XOR, e un singolo neurone artificiale non può calcolarla. Non per mancanza di addestramento: per un limite geometrico dimostrabile.
Dal neurone formale al percettrone multistrato, passando per lo scandalo dello XOR e la rinascita: nel libro.
Leggi «Reti neurali: dal neurone al percettrone multistrato» nel libro →
Capire perché quel limite esiste, e come gli strati nascosti lo aggirano, significa capire la ragione profonda per cui oggi diciamo deep learning e non, semplicemente, learning.
Una retta non basta
Un neurone artificiale fa una cosa sola: calcola una somma pesata degli ingressi e la confronta con una soglia. Geometricamente, questo equivale a tracciare una retta nel piano degli input (un piano nel caso di tre input, un iperpiano in generale) e a rispondere «sì» da una parte e «no» dall’altra.
Per molti problemi va benissimo. Ma prova a disegnare i quattro casi dello XOR su un foglio: i due punti «luce accesa» stanno su una diagonale, i due punti «luce spenta» sull’altra. Non esiste una retta che separi le due coppie. Puoi ruotarla e spostarla quanto vuoi: ne taglierà sempre una male. Marvin Minsky e Seymour Papert lo dimostrarono formalmente nel libro Perceptrons, e la conclusione — un neurone singolo classifica solo insiemi linearmente separabili — contribuì a raffreddare per anni l’entusiasmo verso le reti neurali.
Comporre rette: lo strato nascosto
La via d’uscita non è rendere il neurone più intelligente. È metterne altri in mezzo, tra input e output, e lasciare che ciascuno tracci la propria retta.
L’analogia più onesta è quella delle forbici. Con un solo taglio dritto dividi un foglio in due. Ma se puoi fare più tagli dritti e poi combinare i pezzi — tieni quello che sta a destra del primo taglio E sopra il secondo E a sinistra del terzo — ritagli un triangolo, un poligono, una regione chiusa. Ogni neurone dello strato nascosto è un taglio dritto; il neurone di output è la regola che decide quali combinazioni di tagli contano.
Per lo XOR bastano due neuroni nascosti: uno impara «almeno un interruttore alzato», l’altro «entrambi alzati», e l’output impara «il primo sì, il secondo no». Tre rette in tutto, e il problema impossibile del 1969 si risolve con una rete che oggi si scrive in cinque righe di codice.
Composizione di confini: un neurone traccia una retta, uno strato nascosto combina più rette in una regione chiusa, e strati successivi compongono regioni in confini di forma arbitraria.
Il teorema che sembrava chiudere la partita
A questo punto la matematica offre una scorciatoia sospetta. Il teorema dell’approssimazione universale dice che una rete con un solo strato nascosto, purché abbastanza largo, può approssimare qualunque funzione continua con la precisione desiderata. Letto di fretta, suona come «la profondità non serve: basta allargare».
Il trucco sta in quel «abbastanza largo». Il teorema garantisce l’esistenza della rete, non che sia di dimensioni ragionevoli né che l’addestramento la trovi. È come dire che qualunque libro può essere scritto elencando tutte le frasi possibili: vero, ma l’elenco non sta in nessuna biblioteca. Per molte funzioni di interesse pratico, la larghezza richiesta da una rete a uno strato cresce in modo esplosivo con la complessità del problema.
La profondità non aggiunge potenza in astratto: aggiunge efficienza. Ciò che una rete larga ottiene enumerando casi, una rete profonda lo ottiene componendo.
La profondità come piegatura
Perché comporre è così più efficiente che enumerare? L’immagine giusta è quella di un foglio di carta. Piegalo una volta e fai un taglio: quando lo riapri, i tagli sono due. Piegalo due volte: quattro. Ogni piega raddoppia l’effetto dello stesso taglio. Gli strati di una rete profonda funzionano in modo simile: ogni strato «ripiega» lo spazio degli input su se stesso, e lo strato successivo lavora sullo spazio già piegato. Il numero di regioni distinte che la rete può ritagliare cresce così molto più in fretta aggiungendo strati che aggiungendo neuroni allo stesso strato.
C’è anche una lettura meno geometrica e più linguistica. Con le lettere dell’alfabeto componi parole, con le parole frasi, con le frasi argomenti: ogni livello riusa i mattoni del precedente. Le reti profonde addestrate sulle immagini mostrano spontaneamente questa gerarchia: i primi strati rispondono a bordi e contrasti, quelli intermedi a tessiture e forme, gli ultimi a oggetti interi. Nessuno ha imposto questa organizzazione: emerge perché la composizione è il modo economico di rappresentare un mondo che è fatto, a sua volta, di parti dentro parti.
Il prezzo da pagare
Se la profondità è così vantaggiosa, perché il deep learning è arrivato solo negli anni Dieci? Perché addestrare reti profonde è difficile. Il segnale di correzione degli errori — il gradiente — deve risalire la rete strato per strato, e a ogni passaggio può attenuarsi fino a sparire: gli strati più lontani dall’output imparano poco o nulla. A questo si aggiungevano funzioni di attivazione che saturavano, inizializzazioni ingenue dei pesi e, banalmente, poca potenza di calcolo e pochi dati.
La svolta non è stata un’idea sola ma un accumulo di rimedi: attivazioni che lasciano passare il gradiente (la ReLU, a cui dedichiamo un articolo a parte), inizializzazioni calibrate, normalizzazioni, connessioni residue che offrono al segnale delle scorciatoie. La teoria della composizione era chiara da decenni; è l’ingegneria dell’addestramento che ha dovuto raggiungerla.
Perché ti riguarda
Ogni volta che un modello riconosce la tua voce, traduce una frase o completa il tuo codice, sotto c’è questa idea e non un’altra: non un archivio di casi già visti, ma una pila di trasformazioni semplici che, composte, ritagliano confini di complessità arbitraria. Sapere che la profondità serve a comporre — e non è un numero da ingrandire per moda — aiuta anche nelle scelte pratiche: capire perché una rete minuscola fallisce su un problema «a diagonali» come lo XOR, perché aggiungere strati senza criterio non migliora nulla se il gradiente non li raggiunge, e perché le architetture moderne spendono tanta ingegneria proprio nel tenere aperto quel canale. Il deviatore in fondo al corridoio, nel suo piccolo, lo aveva già spiegato: certe funzioni, per quanto banali, non si risolvono con una linea sola.

I commenti sono riservati agli iscritti.
Accedi per commentare