L’algoritmo Forward Forward di Hinton è la nuova strada da percorrere per le reti neurali
Gli esperimenti di Hinton hanno scoperto che l’algoritmo FF aveva un tasso di errore del test dell’1,4% sul set di dati MNIST che è altrettanto efficace della backpropagation e i due sono comparabili sul set di dati CIFAR-10
 
Quest’anno alla conferenza NeurIPS, il pioniere dell’IA Geoffrey Hinton e i suoi studenti dell’Università di Toronto sono stati premiati con il Test of Time Award per il loro documento di riferimento intitolato “ImageNet Classification with Deep Convolutional Neural Networks”, pubblicato dieci anni fa. Il documento ha mostrato che Hinton et al avevano creato la prima rete neurale convoluzionale profonda in grado di dimostrare risultati all’avanguardia sul database ImageNet. La ricerca è stata un salto nel deep learning e ha avviato una rivoluzione nella classificazione e nel rilevamento delle immagini. 

Quest’anno, nel suo discorso alla conferenza, Hinton ha discusso un altro nuovo documento di ricerca davanti al pubblico di NeurIPS . Intitolato “The Forward-Forward Algorithm: Some Preliminary Investigations”, il documento si basava su come potrebbe essere il futuro dell’apprendimento automatico se la backpropagation fosse sostituita. Definendolo algoritmo Forward-Forward , lo studio potrebbe potenzialmente innescare l’inizio di un’altra rivoluzione nel deep learning. 


Storia della retropropagazione
Il deep learning ha dominato l’apprendimento automatico negli ultimi dieci anni, con pochi dubbi sull’efficacia dell’esecuzione della discesa del gradiente stocastico con un numero enorme di parametri e enormi quantità di dati. Questi gradienti sono normalmente calcolati usando la backpropagation , una tecnica resa popolare dallo stesso Hinton. 

 
Introdotta inizialmente negli anni ’60, la retropropagazione è riemersa quasi 30 anni dopo dopo che Hinton insieme a Rumelhart e Williams hanno pubblicato l’ articolo intitolato “Apprendimento delle rappresentazioni mediante errori di retropropagazione”. Abbastanza presto, l’algoritmo è diventato l’elemento costitutivo più fondamentale nelle reti neurali : se l’apprendimento profondo era il corpo, la retropropagazione era la spina dorsale.

La backpropagation è stata utilizzata per addestrare le reti neurali attraverso un metodo chiamato chain rule . In parole povere, dopo ogni passaggio in avanti nella rete, la backpropagation ha eseguito un passaggio all’indietro regolando i parametri del modello come i pesi e le distorsioni. Questo processo ripetitivo riduce la differenza tra il vettore di output effettivo della rete rispetto al vettore di output desiderato. In sostanza , la backpropagation prende l’errore associato all’ipotesi errata fatta dalla rete neurale e utilizza quell’errore per regolare i parametri della rete nella direzione di un errore minore. 


Cosa c’è di sbagliato nella retropropagazione?
Anche con la prevalenza della retropropagazione, non è priva di difetti. Se le reti neurali imitano il funzionamento di un cervello umano, la retropropagazione non si adatta davvero al modo in cui funziona effettivamente il cervello. Hinton sostiene nel suo articolo che la corteccia nel cervello umano non propaga esplicitamente errori né memorizza informazioni per un uso successivo in un successivo passaggio all’indietro. La retropropagazione funziona in una direzione dal basso verso l’alto rispetto alla direzione dall’alto verso il basso in cui funziona effettivamente il sistema visivo. 

Il cervello crea invece circuiti in cui l’attività neurale si sposta attraverso una mezza dozzina di strati nella corteccia prima di tornare al punto in cui è iniziata. Il cervello si occupa del flusso costante di dati sensoriali senza frequenti interruzioni organizzando l’input sensoriale in una pipeline e lo sottopone a varie fasi di elaborazione sensoriale. I dati nelle fasi successive della pipeline possono fornire informazioni dall’alto verso il basso che alla fine influenzano le fasi precedenti della pipeline. Ma il cervello deduce continuamente dall’input e continua ad apprendere in tempo reale senza pause per la retropropagazione. 

Inoltre, la retropropagazione richiede di conoscere completamente il calcolo nel passaggio in avanti per ottenere le derivate corrette. Se c’è una scatola nera o qualsiasi “rumore” nel passaggio in avanti, la retropropagazione diventa impossibile.

Algoritmo forward-forward proposto da Hinton
Secondo Hinton , l’algoritmo Forward-Forward è una migliore rappresentazione dei processi del cervello umano. L’algoritmo FF intende sostituire i passaggi in avanti e all’indietro della backpropagation con due passaggi in avanti che si muovono allo stesso modo ma utilizzano dati diversi e hanno obiettivi opposti: uno regola i pesi per migliorare la bontà in ogni strato nascosto e un passaggio negativo che regola i pesi per deteriorarsi la bontà. Pertanto, l’algoritmo FF funziona in modo push-and-pull avendo un’elevata bontà per i dati positivi e una bassa bontà per i dati negativi. 

Un confronto tra backpropagation e FF su CIFAR-10 utilizzando reti non convoluzionali con
campi recettivi locali ricettivi locali di dimensioni 11 × 11 e 2 o 3 strati nascosti.
Lo studio ha sperimentato utilizzando il set di dati di immagini CIFAR-10 , contenente 50.000 immagini di addestramento, comunemente utilizzato nella ricerca per la visione artificiale e altri algoritmi ML. Gli esperimenti di Hinton hanno scoperto che l’algoritmo FF aveva un tasso di errore del test dell’1,4% sul set di dati MNIST che è altrettanto efficace della backpropagation e i due sono comparabili sul set di dati CIFAR-10. 

L’algoritmo FF, afferma Hinton, può potenzialmente addestrare reti neurali con un trilione di parametri solo con pochi watt di potenza, rendendo il calcolo molto più leggero e l’addestramento più veloce. 

Nel discorso di chiusura della conferenza, Hinton ha anche parlato di come la comunità dell’IA “sia stata lenta nel rendersi conto delle implicazioni del deep learning per il modo in cui sono costruiti i computer”. Hinton ha detto che “Quello che penso è che vedremo un tipo di computer completamente diverso, non per alcuni anni, ma ci sono tutte le ragioni per indagare su questo tipo di computer completamente diverso”. Questa unione tra paradigmi software e hardware, suggerì Hinton, risparmierebbe potenza computazionale e l’algoritmo FF sarebbe perfettamente adatto a questo tipo di hardware.

Di ihal