Adam

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 $\boldsymbol\beta$, Adam mantiene due variabili:

Queste stime vengono aggiornate iterativamente secondo:

\begin{displaymath}
m_t = \beta_1 m_{t-1} + (1 - \beta_1) \nabla S(\boldsymbol\beta_t)
\end{displaymath} (3.42)


\begin{displaymath}
v_t = \beta_2 v_{t-1} + (1 - \beta_2) \left( \nabla S(\boldsymbol\beta_t) \right)^2
\end{displaymath} (3.43)

dove $\beta_1$ e $\beta_2$ sono iperparametri (da non confondere con $\boldsymbol\beta$ che sono i parametri del modello) che controllano il decadimento esponenziale (tipicamente $\beta_1 = 0.9$, $\beta_2 = 0.999$).

Poiché $m_t$ e $v_t$ sono inizializzati a zero, le prime iterazioni risultano sottostimate. Per correggere questo bias, si calcolano:

\begin{displaymath}
\hat{m}_t = \frac{m_t}{1 - \beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1 - \beta_2^t}
\end{displaymath} (3.44)

L'aggiornamento dei parametri avviene quindi secondo:

\begin{displaymath}
\boldsymbol\beta_{t+1} = \boldsymbol\beta_t - \gamma \cdot \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \varepsilon}
\end{displaymath} (3.45)

dove $\gamma$ è il learning rate e $\varepsilon$ è un termine di stabilizzazione numerica (tipicamente $\varepsilon = 10^{-8}$).

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
2025-10-02