Aida¶
Implements Aida, an AdaBelief variant that suppresses the adaptive stepsize range via layerwise mutual vector projections.
Aida follows AdaBelief's idea of tracking the variance of the gradient about its momentum, but first refines the momentum \(m_t\) and gradient \(g_t\) within each layer through \(K\) rounds of mutual projection. Each round projects one vector onto the other so the two progressively align in direction; replacing the raw \((m_t - g_t)^2\) belief term with \((m_t^{(K)} - g_t^{(K)})^2\) narrows the spread of the second moment \(v_t\) and thus the range of the effective per-coordinate stepsize. Setting \(K=0\) recovers AdaBelief.
For each layer, with \((m_t^{(0)}, g_t^{(0)}) = (m_t, g_t)\), the update is
where \(\theta\) are the parameters, \(\eta\) the learning rate, \(g_t\) the gradient, \(m_t\)/\(v_t\) the first and second moments, \(\beta_1,\beta_2\) the decay rates, \(\epsilon\) a stability constant, \(\xi\) a small constant guarding the projection denominators, the projections run per layer, and \(K\) is the number of mutual projection iterations (\(K=2\) in practice).
Reference: Guoqiang Zhang, Kenta Niwa, W. Bastiaan Kleijn, "A DNN Optimizer that Improves over AdaBelief by Suppression of the Adaptive Stepsize Range", arXiv 2022. https://arxiv.org/abs/2203.13273