Geoffrey Hinton, professore al Università di Toronto e ricercatore di ingegneria presso Cervello di Google, ha recentemente pubblicato un articolo sul Avanti-Avanti algoritmo (FF), una tecnica per l'addestramento delle reti neurali che utilizza due passaggi in avanti di dati attraverso la rete, invece di retropropagazione, per aggiornare i pesi del modello.

La motivazione di Hinton per l'algoritmo è quella di affrontare alcune delle carenze dell'addestramento alla retropropagazione standard che richiede la piena conoscenza del calcolo nel passaggio in avanti per calcolare le derivate e memorizzare i valori di attivazione durante l'addestramento. L'intuizione di Hinton è stata quella di utilizzare due passaggi in avanti di dati di input: uno positivo e uno negativo.-che hanno funzioni obiettivo opposte da ottimizzare. Hinton ha dimostrato che le reti addestrate con FF possono eseguire attività di visione artificiale (CV) così come quelle addestrate utilizzando la retropropagazione. Secondo Hinton,

L'algoritmo Forward-Forward (FF) è paragonabile per velocità alla backpropagation ma ha il vantaggio di poter essere utilizzato quando i dettagli precisi del calcolo forward sono sconosciuti. Ha anche il vantaggio di poter apprendere durante il pipelining di dati sequenziali attraverso una rete neurale senza mai memorizzare le attività neurali o fermarsi a propagare i derivati ​​dell'errore... Le due aree in cui l'algoritmo forward-forward può essere superiore alla backpropagation sono come modello dell'apprendimento nella corteccia e come un modo per utilizzare hardware analogico a bassissima potenza senza ricorrere all'apprendimento per rinforzo.

Sebbene le reti neurali artificiali (ANN) siano basate su a modello matematico del cervello, l'algoritmo di backpropagation standard utilizzato per addestrare queste reti non si basa su alcun processo biologico noto. Oltre ad essere biologicamente non plausibile, la retropropagazione presenta anche alcuni inconvenienti computazionali come notato sopra. Hinton sottolinea che le ANN possono essere addestrate utilizzando l'apprendimento per rinforzo (RL) senza backpropagation, ma questa tecnica "si adatta male... per reti di grandi dimensioni contenenti molti milioni o miliardi di parametri". Nel 2021, InfoQ ha coperto un'alternativa biologicamente plausibile alla retropropagazione chiamata Apprendimento per inferenza a divergenza zero (Z-IL) che può riprodurre esattamente i risultati della retropropagazione.

L'algoritmo FF di Hinton sostituisce i passaggi avanti-indietro dell'addestramento alla propagazione all'indietro con due passaggi in avanti che "funzionano allo stesso modo l'uno dell'altro". Il primo passaggio in avanti opera su dati positivi da un set di addestramento e i pesi della rete vengono regolati per fare in modo che questo input aumenti il ​​valore di un livello migliore valore. Nel secondo passaggio in avanti, alla rete viene fornito un esempio negativo generato che non è tratto dal set di dati. I pesi della rete vengono regolati in modo tale che questo input riduca la bontà di un livello.

Hinton ha utilizzato FF per addestrare diverse reti neurali per eseguire attività CV sul MNIST ed CIFARE set di dati. Le reti erano relativamente piccole, contenevano due o tre strati convoluzionali nascosti e venivano addestrate per meno di 100 epoche. Quando valutate su set di dati di test, le reti addestrate da FF hanno ottenuto risultati "solo leggermente peggiori" rispetto a quelle addestrate utilizzando la retropropagazione.

Diego Fiori, CTO di Nebuly, ha implementato l'algoritmo FF di Hinton e ha discusso i suoi risultati su Twitter:

L'articolo di Hinton proponeva 2 diversi algoritmi Forward-Forward, che ho chiamato Base e Recurrent. Vediamo perché, nonostante il nome, Base è in realtà l'algoritmo più performante….l'algoritmo Base FF può essere molto più efficiente in termini di memoria rispetto al backprop classico, con un risparmio di memoria fino al 45% per reti profonde.