Le due schede grafiche costavano poche centinaia di dollari l’una ed erano nate per far girare i videogiochi a frame rate decenti. Nell’autunno del 2012 finirono sotto la scrivania di un dottorando di Toronto, Alex Krizhevsky, che le usò per addestrare una rete neurale su un milione di fotografie. Il risultato arrivò alla gara di riconoscimento visivo ImageNet e produsse una classifica dalla forma sospetta: in una competizione dove ci si contende decimi di punto, il primo classificato staccava il secondo di quasi undici punti percentuali. Il paper che descrive quella rete — ImageNet Classification with Deep Convolutional Neural Networks, firmato da Krizhevsky, Ilya Sutskever e Geoffrey Hinton — è il momento in cui il deep learning smette di essere una curiosità da conferenza e diventa la strada principale.
Da LeNet-5 ad AlexNet, VGG e ResNet: le architetture che hanno fatto la storia sono ricostruite nel libro.
Leggi «Le architetture che hanno fatto la storia» nel libro →
Undici punti di margine
ImageNet era un banco di prova spietato. La versione usata nella gara del 2012 chiedeva di assegnare ogni immagine a una fra mille categorie: non «cane sì / cane no», ma distinguere un pastore tedesco da un malinois, un fungo commestibile da uno velenoso, centinaia di razze, specie e oggetti d’uso quotidiano. Il set di addestramento contava circa 1,2 milioni di immagini. Nessuna regola scritta a mano poteva coprire una varietà del genere.
Fino ad allora i sistemi migliori lavoravano in due tempi. Prima un ingegnere progettava a mano dei «descrittori», funzioni matematiche che estraevano dall’immagine caratteristiche ritenute utili — bordi, angoli, istogrammi di colore. Poi un classificatore statistico decideva sulla base di quelle caratteristiche. Il collo di bottiglia era umano: qualcuno doveva indovinare in anticipo quali fossero i tratti giusti da misurare. Il metro di giudizio della gara era clemente, l’errore top-5: un’immagine conta come sbagliata solo se la categoria corretta non compare tra le cinque risposte più probabili del modello. Eppure, anche con questa clemenza, i sistemi di punta del 2011 restavano fermi intorno a un quarto di immagini sbagliate.
Un’idea vecchia che finalmente girava
Le reti convoluzionali non le inventarono gli autori di AlexNet. L’architettura di base veniva dagli anni Ottanta e Novanta: strati che fanno scorrere piccoli filtri sull’immagine per riconoscere prima motivi elementari — un bordo, una macchia — e, strato dopo strato, combinazioni sempre più astratte, fino a «occhio», «ruota», «muso». Funziona come chi impara a leggere: prima le singole lettere, poi le sillabe, poi le parole intere, e a nessun livello si ricomincia da zero. Ciò che mancava non era l’idea, ma la possibilità concreta di addestrare reti abbastanza profonde su dati abbastanza numerosi.
AlexNet era profonda per gli standard del tempo: cinque strati convoluzionali seguiti da tre strati completamente connessi, con in cima un classificatore a mille uscite. In tutto circa 60 milioni di parametri. Il merito del paper è aver messo insieme, nella proporzione giusta, alcuni accorgimenti che presi singolarmente esistevano già o erano appena stati proposti — e averlo fatto su un hardware che rendeva l’esperimento praticabile.
Otto strati addestrabili, spezzati su due schede grafiche per stare nella memoria disponibile e allenati per circa sei giorni: il risultato è il crollo dell’errore top-5 nella gara ImageNet 2012, dal 26,2% del secondo classificato al 15,3% di AlexNet.
Tre accorgimenti che fanno la differenza
Il primo è la funzione di attivazione. Nei neuroni tradizionali il segnale passava attraverso una curva «a esse» che, per valori grandi, si appiattisce: il neurone «satura» e smette di trasmettere pendenza utile all’addestramento. Gli autori usano invece la ReLU, che lascia passare i valori positivi così come sono e azzera i negativi. È una porta a senso unico: o è aperta e non oppone resistenza, o è chiusa, senza le strozzature intermedie che rallentavano le vecchie attivazioni. Effetto pratico: l’addestramento corre molto più veloce, e questo rende possibile allenare reti più grandi in tempi ragionevoli.
Il secondo è il dropout, applicato negli strati densi finali. Durante l’addestramento, a ogni passo, una parte casuale dei neuroni viene spenta. È come una prova d’orchestra in cui, a turno, alcuni strumenti tacciono: la melodia deve reggere anche senza di loro, così nessuna sezione diventa indispensabile e l’insieme impara qualcosa di più solido. È una difesa contro l’overfitting, il rischio sempre in agguato quando un modello con decine di milioni di parametri può imparare a memoria i dati invece di generalizzare.
Il terzo è l’aumento artificiale dei dati: ritagli e riflessi delle immagini di partenza, piccole variazioni di colore. Il milione di foto diventa, di fatto, molto di più, e la rete impara che un gatto resta un gatto anche spostato di qualche pixel o con una tinta leggermente più calda.
Le due schede da videogioco
Il contributo forse più sottovalutato del paper non è teorico ma ingegneristico. Addestrare una rete di quelle dimensioni sui processori tradizionali sarebbe stato proibitivo. Gli autori scrivono a mano il codice per far girare le convoluzioni su GPU, schede progettate per calcolare in parallelo milioni di pixel e per questo perfette anche per le moltiplicazioni fra matrici che stanno sotto una rete neurale. Con un vincolo concreto: la memoria di una singola scheda dell’epoca non bastava a contenere l’intero modello, così l’architettura viene tagliata in due e distribuita su due GPU che si parlano solo in alcuni punti. Nessun supercomputer: hardware da consumatore, dentro un normale computer da scrivania.
AlexNet non ha vinto perché ha avuto l’idea migliore, ma perché ha reso addestrabile un’idea che tutti davano per impraticabile.
Questa è la lezione strategica. La svolta nasce dall’incontro di tre ingredienti maturati in parallelo: un insieme di dati abbastanza grande (ImageNet), un hardware capace di macinarlo (le GPU) e un pugno di accorgimenti che rendono stabile e veloce l’addestramento profondo. Nessuno dei tre, da solo, sarebbe bastato.
Il numero che convinse tutti
Nella competizione del 2012 il modello ottiene un errore top-5 del 15,3%, contro il 26,2% del secondo classificato. In un campo abituato a progressi di frazioni di punto, quasi dimezzare la distanza dalla perfezione è un salto che non si può ignorare. L’anno dopo, praticamente tutti i partecipanti erano passati alle reti profonde. Nel giro di poche stagioni l’approccio è dilagato ben oltre le immagini: gli stessi principi di fondo — strati profondi, attivazioni che non saturano, addestramento su acceleratori paralleli — sono la spina dorsale dei modelli linguistici che usiamo oggi.
Perché ti riguarda
AlexNet è il momento in cui una tecnologia passa dal «in teoria potrebbe funzionare» al «conviene usarla adesso». Se lavori con l’AI, il paper è un promemoria di come funzionano davvero le svolte: raramente sono un’unica intuizione geniale, più spesso sono la convergenza di componenti già disponibili che qualcuno ha avuto la pazienza di far combaciare. Se l’AI la osservi da fuori, tieni presente che l’intera ondata attuale — assistenti, generatori di immagini, modelli linguistici — discende in linea diretta da quel risultato del 2012 ottenuto su due schede grafiche. Non fu un fulmine a ciel sereno, ma una scintilla caduta su materiale che aspettava solo di prendere fuoco.
Il paper originale
Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, ImageNet Classification with Deep Convolutional Neural Networks, NeurIPS 2012. Testo integrale: papers.nips.cc — AlexNet (NeurIPS 2012).

I commenti sono riservati agli iscritti.
Accedi per commentare