Adam (KB14) (Adaptive Moment Estimation) è uno degli algoritmi di ottimizzazione più diffusi nel deep learning, grazie alla sua capacità di combinare i vantaggi di AdaGrad e RMSProp.
AdaGrad assegna un learning rate specifico a ciascun parametro, risultando efficace in presenza di gradienti sparsi. RMSProp, invece, adatta il learning rate in base alla magnitudo del gradiente, rendendolo adatto a scenari online e non stazionari.
Adam estende questi approcci introducendo una stima adattiva sia del momento di primo ordine (la media dei gradienti) che del momento di secondo ordine (la varianza).
In particolare, per ogni modello
, Adam mantiene due variabili:
Queste stime vengono aggiornate iterativamente secondo:
| (3.42) |
| (3.43) |
Poiché e
sono inizializzati a zero, le prime iterazioni risultano sottostimate. Per correggere questo bias, si calcolano:
| (3.44) |
L'aggiornamento dei parametri avviene quindi secondo:
| (3.45) |
Adam è particolarmente efficace in scenari con dati rumorosi, gradienti sparsi o funzioni obiettivo non stazionarie. Grazie alla sua robustezza e semplicità d'uso, è spesso la scelta predefinita per l'ottimizzazione di reti neurali profonde.
Paolo medici