Problemi, che sono difficili per SGD

Sep 23 2020

Sto facendo delle ricerche su problemi, per i quali la discesa del gradiente stocastico non si comporta bene. Spesso l'SGD è menzionato come il metodo migliore per l'addestramento delle reti neurali. Tuttavia, ho anche letto dei metodi del secondo ordine e, nonostante il miglior tasso di convergenza, a volte viene menzionato che ci sono problemi, per i quali i metodi del secondo ordine sono molto migliori di SGD poiché SGD si blocca ad un certo punto o converge molto lentamente .

Purtroppo non sono riuscito a trovare molte informazioni su questo.

Qualcuno sa esempi per i quali SGD ha problemi? O conosci articoli che raccontano qualcosa su questo argomento? Anche articoli, che spiegano solo perché SGD a volte si blocca, sarebbe fantastico.

Risposte

5 carlo Sep 23 2020 at 13:41

I metodi del secondo ordine utilizzano più informazioni sulla funzione di perdita (calcola due ordini di derivata invece di uno solo), quindi la approssima meglio e ha una migliore convergenza.

Non aiuta molto a superare i minimi locali, ma dovrebbero essere necessari meno passaggi per convergere.

Il motivo per cui non viene utilizzato per le reti neurali è che ogni passaggio ha una complessità di $\mathcal O(p^2)$, dove $p$ è il numero di parametri, ecco perché lo usiamo per i modelli lineari (pochi parametri), ma non per il deep learning (molti parametri), diventa poco pratico valutare l'intera matrice hessiana e il semplice SGD è più veloce.