PyTorch CurveBall - A second-order optimizer for deep networks
We propose a fast second-order method that can be used as a drop-in replacementfor current deep learning solvers. Compared to stochastic gradient descent (SGD),it only requires two additional forward-mode automatic differentiation operationsper iteration, which has a computational cost comparable to two standard forwardpasses and is easy to implement. Our method addresses long-standing issueswith current second-order solvers, which invert an approximate Hessian matrixevery iteration exactly or by conjugate-gradient methods, a procedure that is bothcostly and sensitive to noise. Instead, we propose to keep a single estimate of thegradient projected by the inverse Hessian matrix, and update it once per iteration.This estimate has the same size and is similar to the momentum variable thatis commonly used in SGD. No estimate of the Hessian is maintained. We firstvalidate our method, calledCURVEBALL, on small problems with known closed-form solutions (noisy Rosenbrock function and degenerate 2-layer linear networks),where current deep learning solvers seem to struggle. We then train several largemodels on CIFAR and ImageNet, including ResNet and VGG-f networks, where wedemonstrate faster convergence with no hyperparameter tuning. Code is available.
Code (1)
Similar Papers 제목 키워드 기반
Implementation of Stochastic Quasi-Newton's Method in PyTorch
In this paper, we implement the Stochastic Damped LBFGS (SdLBFGS) for stochastic non-convex optimization. We make two important modifications to the original SdLBFGS algorithm. First, by initializing the Hessian at each …
KAISA: An Adaptive Second-Order Optimizer Framework for Deep Neural Networks
Kronecker-factored Approximate Curvature (K-FAC) has recently been shown to converge faster in deep neural network (DNN) training than stochastic gradient descent (SGD); however, K-FAC's larger memory footprint hinders i…
Convergence rates for the RMSprop optimizer with full control of the hyperparameters
Popular adaptive stochastic gradient descent (SGD) methods to train artificial intelligence (AI) systems include the RMSprop, the Adam, and the AdamW optimizers, where the adaptivity parts in Adam and AdamW basically jus…
Stochastic OptimizationSGD with Partial Hessian for Deep Neural Networks Optimization
Due to the effectiveness of second-order algorithms in solving classical optimization problems, designing second-order optimizers to train deep neural networks (DNNs) has attracted much research interest in recent years.…
image-classificationImage ClassificationSecond-order methodsShape of Memory: a Geometric Analysis of Machine Unlearning in Second-Order Optimizers
We argue that current definitions of machine unlearning are underspecified for second-order optimizers. We compare first-order and second-order learners for their ability to handle the data deletion task with varying deg…