No learning rates needed: Introducing SALSA -- Stable Armijo Line Search Adaptation
Philip Kenneweg, Tristan Kenneweg, Fabian Fumagalli, Barbara Hammer
TL;DR
SaLSa tackles the burden of hand-tuned learning rates by augmenting Armijo line search with a momentum-based smoothing mechanism and adaptive cadence, enabling stable stochastic optimization without learning-rate schedules. It extends stochastic line search to Adam and introduces exponential smoothing of both loss decrease and gradient magnitude, along with a provable convergence framework and a practical, low-overhead cadence control ${L_k}$ via dual exponential moving averages. Empirically, SaLSa outperforms prior SLS and tuned optimizers across NLP transformers and image CNNs (e.g., CIFAR/ImageNet) with roughly a 3% compute overhead and about a 1.5% gain in accuracy and a 50% reduction in final log loss, while improving training stability on large-scale tasks. The work provides a public MIT-licensed PyTorch optimizer, making automatic step-size selection accessible for large-scale deep learning applications.
Abstract
In recent studies, line search methods have been demonstrated to significantly enhance the performance of conventional stochastic gradient descent techniques across various datasets and architectures, while making an otherwise critical choice of learning rate schedule superfluous. In this paper, we identify problems of current state-of-the-art of line search methods, propose enhancements, and rigorously assess their effectiveness. Furthermore, we evaluate these methods on orders of magnitude larger datasets and more complex data domains than previously done. More specifically, we enhance the Armijo line search method by speeding up its computation and incorporating a momentum term into the Armijo criterion, making it better suited for stochastic mini-batching. Our optimization approach outperforms both the previous Armijo implementation and a tuned learning rate schedule for the Adam and SGD optimizers. Our evaluation covers a diverse range of architectures, such as Transformers, CNNs, and MLPs, as well as data domains, including NLP and image data. Our work is publicly available as a Python package, which provides a simple Pytorch optimizer.
