Gradient Descent: The Ultimate Optimizer
This addresses the problem of hyperparameter tuning for machine learning practitioners, offering an incremental improvement by automating a previously manual process.
The paper tackles the tedious task of tuning optimizer hyperparameters like step size in gradient-based machine learning by automatically computing hypergradients through a simple modification to backpropagation, enabling application to various optimizers and hyperparameters with reduced sensitivity to initial choices, validated on MLPs, CNNs, and RNNs.
Working with any gradient-based machine learning algorithm involves the tedious task of tuning the optimizer's hyperparameters, such as its step size. Recent work has shown how the step size can itself be optimized alongside the model parameters by manually deriving expressions for "hypergradients" ahead of time. We show how to automatically compute hypergradients with a simple and elegant modification to backpropagation. This allows us to easily apply the method to other optimizers and hyperparameters (e.g. momentum coefficients). We can even recursively apply the method to its own hyper-hyperparameters, and so on ad infinitum. As these towers of optimizers grow taller, they become less sensitive to the initial choice of hyperparameters. We present experiments validating this for MLPs, CNNs, and RNNs. Finally, we provide a simple PyTorch implementation of this algorithm (see people.csail.mit.edu/kach/gradient-descent-the-ultimate-optimizer).