Processing math: 100%

Come abbiamo visto precedentemente il metodo della discesa del gradiente presenta alcune problematicità di efficienza nel caso di plateau e di disomogeneità rilevanti del gradiente nelle varie dimensioni.

Per rendere il metodo più efficiente vengono solitamente utilizzate delle versioni più evolute del metodo, in grado di accelerare la ricerca e contrastare i casi patologici.

Discesa del gradiente con momento

Un metodo particolarmente efficiente nello smorzare ampie oscillazioni nei passi dovute a disomogeneità forti del gradiente lungo diverse dimensioni, è quello di utilizzare al posto del gradiente f(x(t1)) la media esponenziale vt sui valori del gradiente stesso:

{vt=βvt1+(1β)f(x(t1)),v0=0x(t)=x(t1)αvt

dove il coefficiente β<1 indica il peso assegnato nella media ai gradienti precedenti. Generalmente viene utilizzato un β0.9 e la media viene calcolata biased come presentato nella formula, ovvero senza correttivo per i primi  vt che avranno modulo ridotto.

L'utilizzo del momento smorzerà le oscillazioni e contribuirà ad una discesa verso il minimo con meno passi.

RMSprop

Un'altra variante consiste nell'armonizzare i passi nelle varie dimensioni, smorzando o amplificando le varie componenti del gradiente in ragione della loro media.
In particolare prenderemo in considerazione la radice della media esponenziale biased dei quadrati:
 i {s(t)i=βs(t1)i+(1β)[fxi(x(t1))]2  ,  s(0)i=0x(t)i=x(t1)iαfxi(x(t1))s(t)i+ε

dove il coefficiente β<1 indica il peso assegnato nella media ai coefficienti si precedenti. Generalmente viene utilizzato un β0.99 e la media viene calcolata unbiased come presentato nella formula, ovvero senza correttivo per i primi  si che avranno modulo ridotto.
Viene anche introdotto un ε108 al denominatore per evitare errori dovuti a si prossimi a zero.

RMSprop da un lato armonizza lo sviluppo dei passi tra le dimensioni non omogenee del gradiente, smorzando quelle di modulo maggiore e amplificando quelle di modulo minore, dall'altro "accelera" la fuga da zone di plateau, dove le componenti del gradiente diventano prossime allo zero.

Adam

L' algoritmo Adam combina la discesa con Momento e RMSprop per integrare in modo efficace i benefici di entrambi gli algoritmi. 

A differenza degli algoritmi singoli, Adam utilizza generalmente le medie esponenziali unbiased ovvero normalizzate dividendole per un fattore (1βt) che riequilibri in particolare i primi valori della media.

Per ogni dimensione avremo quindi:

 i {v(t)i=β1v(t1)i+(1β1)[fxi(x(t1))]  ,  v(0)i=0s(t)i=β2s(t1)i+(1β2)[fxi(x(t1))]2  ,  s(0)i=0x(t)i=x(t1)iαv(t)i(1βt1)s(t)i(1βt2)+ε

Dove valori tipici dei parametri sono β1=0.9 , β2=0.99 , ε=108

Adam è frequentemente utilizzato come algoritmo di discesa del gradiente in ambito di deep learning

©2023 - me@enricogiannini.com -