Chi ha inventato la discesa gradiente stocastica?


36

Sto cercando di capire la storia della discesa del gradiente e della discesa del gradiente stocastico . La discesa a gradiente fu inventata a Cauchy nel 1847. Metodologia generale per la risoluzione dei sistemi simultanei . pp. 536–538 Per ulteriori informazioni a riguardo vedere qui .

Da allora i metodi di discesa gradiente hanno continuato a svilupparsi e non ho familiarità con la loro storia. In particolare sono interessato all'invenzione della discesa gradiente stocastica.

Un riferimento che può essere utilizzato in un documento accademico in più che ben accolto.


3
Ho imparato a conoscere SGD prima dell'apprendimento automatico, quindi deve essere stato prima di tutto
Aksakal,

2
Bene, Cauchy ha sicuramente inventato GD prima dell'apprendimento automatico, quindi non mi sorprenderò che anche SGC sia stato inventato prima.
DaL

3
L'approssimazione stocastica di Kiefer-Wolfowitz en.wikipedia.org/wiki/Stochastic_approximation è quasi sempre lì, oltre a non "simulare" direttamente il gradiente.
Mark L. Stone,

3
"Discesa stocastica a gradiente" da ML è la stessa di "Metodo stocastico da laurea" per ottimizzazione convessa. E i metodi dei laureandi furono scoperti durante il 1960-1970 nell'URSS, a Mosca. Forse anche negli Stati Uniti. Ho visto un video in cui Boris Polyak (è autore del metodo della palla pesante) ha detto che lui (e tutte le persone) iniziano a pensare ai metodi dei laureati nel 1970. ( youtube.com/watch?v=2PcidcPxvyk&t=1963s ) ....
bruziuz,

Risposte:


27

La Discesa stocastica del gradiente è preceduta dall'approssimazione stocastica come descritto per la prima volta da Robbins e Monro nel loro documento, Un metodo di approssimazione stocastica . Kiefer e Wolfowitz hanno successivamente pubblicato il loro articolo, Stocastica stima del massimo di una funzione di regressioneche è più riconoscibile per le persone che hanno familiarità con la variante ML di approssimazione stocastica (cioè la discesa gradiente stocastica), come sottolineato da Mark Stone nei commenti. Gli anni '60 videro molte ricerche lungo quella vena: Dvoretzky, Powell, Blum pubblicarono tutti i risultati che diamo per scontati oggi. È un salto relativamente minore passare dal metodo Robbins e Monro al metodo Kiefer Wolfowitz, e semplicemente una riformulazione del problema per arrivare poi alla Discesa stocastica del gradiente (per problemi di regressione). I documenti sopra citati sono ampiamente citati come gli antecedenti della Discesa stocastica del gradiente, come menzionato in questo articolo di revisione di Nocedal, Bottou e Curtis , che fornisce una breve prospettiva storica dal punto di vista dell'apprendimento automatico.

Credo che Kushner e Yin nel loro libro Stochastic Approximation and Recursive Algorithms and Applications suggeriscano che il concetto fosse stato usato nella teoria del controllo fin dagli anni '40, ma non ricordo se avessero una citazione per questo o se fosse aneddotico, né ho accesso al loro libro per confermarlo.

Herbert Robbins e Sutton Monro Un metodo di approssimazione stocastica Gli annali delle statistiche matematiche, vol. 22, n. 3. (settembre 1951), pagg. 400-407.

J. Kiefer e J. Wolfowitz Stocastico Stima della funzione massima di una regressione Ann. Matematica. Statist. Volume 23, numero 3 (1952), 462-466

Metodi di ottimizzazione di Leon Bottou e Frank E. Curtis e Jorge Nocedal per l'apprendimento automatico su larga scala , relazione tecnica, arXiv: 1606.04838


Puoi dare riferimenti esatti? E per l'invenzione di SGD, sembra essere negli anni '40 ma non è chiaro da chi e dove?
DaL

Certamente si crede che Robbins e Monro siano nel 1951 con algoritmi di approssimazione stocastica . Ho sentito che qualcosa di simile è apparso nella letteratura sulla teoria del controllo negli anni '40 (come ho detto, penso a Kushner e Yin ma non ho quel libro a portata di mano), ma a parte quel posto tutti sembrano citare Robbins e Monro, compresi Nocedal et al. riferimento a cui ho collegato.
David Kozak,

Quindi il nostro candidato principale ora è H. Robbins e S. Monro. Un metodo di approssimazione stocastico. The Annals of Mathematical Statistics, 22 (3): 400–407, 1951., come scritto in Nocedal, Bottou e Curtis in pdfs.semanticscholar.org/34dd/…
DaL

I quindi è indicato come l'origine di SGD ma nel sommario (in realtà astratto in termini odierni) è scritto "M (x) è assunto per lui una funzione monotona di x ma non è noto allo sperimentatore, ed è si desidera trovare la soluzione x = 0 dell'equazione M (x) = a, dove a è una data costante. " Se M (x) è sconosciuto, non è possibile derivarlo. Forse è un altro antico antenato?
DaL

D'accordo, in un certo senso. Kiefer Wolfowitz ha usato l'analisi di questo per trovare il loro documento che è più riconoscibile nella forma che vediamo oggi. Come menzionato sopra da Mark Stone. Il loro documento è disponibile qui: projecteuclid.org/download/pdf_1/euclid.aoms/1177729392 .
David Kozak,

14

Vedere

Rosenblatt F. Il percettrone: un modello probabilistico per la memorizzazione e l'organizzazione delle informazioni nel cervello. Revisione psicologica 1958 novembre; 65 (6): 386.

Non sono sicuro che SGD sia stato inventato prima nella letteratura sull'ottimizzazione — probabilmente lo era — ma qui credo che descriva un'applicazione di SGD per addestrare un percettrone.

Se il sistema si trova in uno stato di rinforzo positivo, allora un valore AV positivo viene aggiunto ai valori di tutte le unità A attive nelle serie di sorgenti di risposte "on", mentre un valore AV negativo viene aggiunto alle unità attive nella fonte - set di risposte "off".

Egli chiama questi "due tipi di rinforzo".

Fa anche riferimento a un libro con ulteriori approfondimenti su questi "sistemi bivalenti".

Rosenblatt F. Il percettrone: una teoria della separabilità statistica nei sistemi cognitivi (Progetto Para). Cornell Aeronautical Laboratory; 1958.


1
Un buon passo avanti, grazie! Trovo il primo riferimento online qui citeseerx.ist.psu.edu/viewdoc/… Lo esaminerò . Tuttavia, mi aspetto di trovare l'algoritmo più esplicito e formale.
DaL

3
+1 per l'osservazione sull'ottimizzazione. Dal momento che viene utilizzato in Machine Learning per fare l'ottimizzazione e da quando l'ottimizzazione è diventata un grosso problema 40 o 50 anni prima che ML - e anche i computer entrassero nell'immagine più o meno nello stesso momento - sembra un buon vantaggio.
Wayne,

Non capisco perché dici che questa citazione descrive SGD.
ameba dice che ripristini Monica il

Spero che @amoeba non stia commettendo un errore, stavo solo sfogliando il documento, ma ho pensato che stesse descrivendo l'aggiornamento percettivo che è solo SGD con un tasso di apprendimento costante.
user0

3
Giusto. Sto solo dicendo che l'aspetto stocastico non è evidente dalla citazione che hai scelto. Voglio dire, GD "stocastico" significa semplicemente che gli aggiornamenti vengono eseguiti un campione di allenamento alla volta (anziché calcolare il gradiente usando tutti i campioni di allenamento disponibili). L'algoritmo fornito in en.wikipedia.org/wiki/Perceptron#Steps rende immediatamente evidente questo aspetto "stocastico" nel passaggio 2.
ameba dice che ripristini Monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.