Dissecting Adam: The Sign, Magnitude and Variance of Stochastic Gradients
This work addresses optimization issues in deep learning for practitioners, offering insights and a new tool for cases where ADAM underperforms.
The paper analyzes the ADAM optimizer by separating its update direction (sign of gradients) and magnitude (variance estimate), identifying the sign aspect as problematic for generalization, and proposes a novel method by transferring variance adaptation to SGD.
The ADAM optimizer is exceedingly popular in the deep learning community. Often it works very well, sometimes it doesn't. Why? We interpret ADAM as a combination of two aspects: for each weight, the update direction is determined by the sign of stochastic gradients, whereas the update magnitude is determined by an estimate of their relative variance. We disentangle these two aspects and analyze them in isolation, gaining insight into the mechanisms underlying ADAM. This analysis also extends recent results on adverse effects of ADAM on generalization, isolating the sign aspect as the problematic one. Transferring the variance adaptation to SGD gives rise to a novel method, completing the practitioner's toolbox for problems where ADAM fails.