Careful with that Scalpel: Improving Gradient Surgery with an EMA
Yu-Guan Hsieh, James Thornton, Eugene Ndiaye, Michal Klein, Marco Cuturi, Pierre Ablin
TL;DR
Careful with that Scalpel introduces Bloop, a bilevel-gradient method that resolves conflicts between a primary loss $L_{\mathrm{main}}$ and an auxiliary loss $L_{\mathrm{aux}}$ by updating along $d = g_{\mathrm{main}} + \lambda \pi(g_{\mathrm{aux}}; g_{\mathrm{main}})$, where $\pi$ is the gradient projection of $g_{\mathrm{aux}}$ orthogonal to $g_{\mathrm{main}}$. To handle stochastic optimization, it stabilizes the projection with an exponential moving average $g_{\mathrm{main}}^{\mathrm{EMA}}$, forming $d^{\mathrm{batch}} = g^{\mathrm{batch}}_{\mathrm{main}} + \lambda \pi(g^{\mathrm{batch}}_{\mathrm{aux}}; g_{\mathrm{main}}^{\mathrm{EMA}})$ so descent on $L_{\mathrm{main}}$ is preserved in expectation. Theoretical results connect the method to the simple bilevel problem, proving approximate stationarity in the full-batch setting and convergence for the stochastic version under standard assumptions, with the EMA playing a critical role. Empirically, Bloop achieves superior Pareto fronts across bias-imposition, multi-task, and joint-dataset experiments in NLP and vision, outperforming baselines like Mixed, Dynamic Barrier, and PCGrad, and the EMA component is essential for these gains.
Abstract
Beyond minimizing a single training loss, many deep learning estimation pipelines rely on an auxiliary objective to quantify and encourage desirable properties of the model (e.g. performance on another dataset, robustness, agreement with a prior). Although the simplest approach to incorporating an auxiliary loss is to sum it with the training loss as a regularizer, recent works have shown that one can improve performance by blending the gradients beyond a simple sum; this is known as gradient surgery. We cast the problem as a constrained minimization problem where the auxiliary objective is minimized among the set of minimizers of the training loss. To solve this bilevel problem, we follow a parameter update direction that combines the training loss gradient and the orthogonal projection of the auxiliary gradient to the training gradient. In a setting where gradients come from mini-batches, we explain how, using a moving average of the training loss gradients, we can carefully maintain this critical orthogonality property. We demonstrate that our method, Bloop, can lead to much better performances on NLP and vision experiments than other gradient surgery methods without EMA.
