L’efficacia irragionevole della discesa del gradiente stocastica (SGD) è probabilmente la scoperta più importante dell’apprendimento automatico degli anni 2010. SGD alimenta quasi tutti i recenti progressi nell’apprendimento automatico. Concettualmente, SGD è notevolmente semplice: elabora il tuo set di dati un punto dati alla volta e, per ogni punto, sposta i parametri del modello nella direzione data da questo punto. In termini più tecnici, la “direzione” è data come un gradiente e lo “spostamento” coinvolge un piccolo coefficiente di scala generalmente indicato come tasso di apprendimento.

Mentre la tecnica SGD risale agli anni ‘50, è rimasta principalmente una tecnica oscura e poco utilizzata fino a quando non è diventata famosa con l’avvento del deep learning. Le ragioni per cui questa tecnica funziona non erano chiare e, in qualche misura, non lo sono ancora. Poiché l’obiettivo è minimizzare l’errore del modello sull’intero set di dati, non è ovvio che la scelta di punti in isolamento rigoroso dovrebbe produrre altro che spazzatura numerica.

Oggi è generalmente compreso che l’efficacia di SGD - alias, perché funziona - deriva da due fattori. In primo luogo, sebbene il gradiente ottenuto da SGD sia molto rumoroso - ogni passo considera un singolo punto dati - questo gradiente è molto economico. Si scopre che, per un determinato budget di risorse di calcolo, l’applicazione di numerosi aggiornamenti di gradiente di bassa qualità supera di gran lunga l’applicazione di un singolo aggiornamento di gradiente di alta qualità. In secondo luogo, gli aggiornamenti rumorosi stessi aiutano il modello a uscire dalle vaste alture dell’indifferenza numerica che esistono in dimensioni superiori. Infatti, in dimensioni superiori, il fulcro dell’ottimizzazione non è, come si pensava a lungo, uscire dai minimi locali, ma uscire dai plateau locali - aree in cui la perdita varia molto poco.

Un'immagine astratta e una figura da un articolo intitolato Selective Path Automatic Differentiation: Oltre la distribuzione uniforme sulla discesa del gradiente all'indietro.

Alcuni di noi, tra cui Paul Peseux e Victor Nicollet, hanno deciso di approfondire ulteriormente queste idee. Se SGD funziona scambiando la qualità del gradiente con l’efficienza di calcolo, cosa succederebbe se estendessimo questo principio ancora di più? Cosa succederebbe se avessimo un gradiente sub-punto che sarebbe ancora più economico da calcolare, sebbene ancora più rumoroso? Questo è esattamente ciò che è stato fatto con la Selective Path Automatic Differentiation (SPAD). SPAD rivede una delle pietre angolari del paradigma moderno dell’apprendimento automatico con una svolta: un punto dati può essere “diviso” dal punto di vista del gradiente attraverso i suoi percorsi di valutazione.

Il documento qui di seguito presenta un contributo di Paul Peseux (Lokad), Victor Nicollet (Lokad), Maxime Berar (Litis) e Thierry Paquet (Litis).


Titolo: Selective Path Automatic Differentiation: Oltre la distribuzione uniforme sulla discesa del gradiente all’indietro

Autori: Paul Peseux, Maxime Berar, Thierry Paquet, Victor Nicollet

Abstract: Questo articolo introduce Selective Path Automatic Differentiation (SPAD), un nuovo approccio per ridurre il consumo di memoria e mitigare l’overfitting nei modelli basati su gradienti per l’intelligenza artificiale incorporata. SPAD estende la Randomized Automatic Differentiation esistente, proposta da Oktay et al e che traccia percorsi casuali attraverso il grafo di backpropagation con iniezione di matrici, consentendo distribuzioni di probabilità alternative sul grafo di backpropagation, migliorando così le prestazioni di apprendimento e la gestione della memoria. In un’iterazione specifica, SPAD valuta e classifica più percorsi all’interno del grafo di backpropagation. Nelle iterazioni successive, segue preferenzialmente questi percorsi di rango superiore. Questo lavoro presenta anche una tecnica basata sulla compilazione che consente l’accesso agnostico al modello a percorsi casuali, garantendo la generalizzabilità tra diverse architetture di modelli, non limitate ai modelli profondi. Valutazioni sperimentali condotte su diverse funzioni di ottimizzazione dimostrano una migliore performance di minimizzazione quando si utilizza SPAD. Inoltre, gli esperimenti di apprendimento profondo con SPAD mitigano notevolmente l’overfitting, offrendo vantaggi simili a quelli dei metodi di dropout tradizionali, ma con una diminuzione concomitante dell’utilizzo della memoria. Concludiamo discutendo le implicazioni uniche della nostra opera sulla stocasticità e il potenziale per potenziare altre tecniche stocastiche nel campo.

Scarica l’articolo (PDF)