Optimizing Neural Networks with Kronecker-factored Approximate Curvature
James Martens, Roger Grosse
TL;DR
The paper addresses the inefficiency of exact natural-gradient updates in large neural networks by introducing Kronecker-Factored Approximate Curvature (K-FAC), which approximates the Fisher information matrix with a block Kronecker structure per layer. This surrogate F̃ can be inverted efficiently, and the authors develop two practical inverse forms (block-diagonal and block-tridiagonal) along with online statistics estimation and a robust damping scheme that includes a re-scaling step using the exact Fisher. Key contributions include online estimation of necessary statistics, a principled damping strategy with a factored Tikhonov regularization, momentum integration, and invariance analyses; they also demonstrate substantial speedups over SGD with momentum on challenging deep autoencoder benchmarks. The work suggests significant practical impact for scalable, second-order optimization, especially in distributed settings, and outlines future extensions to convolutional/recurrent architectures and parallel computation strategies.
Abstract
We propose an efficient method for approximating natural gradient descent in neural networks which we call Kronecker-Factored Approximate Curvature (K-FAC). K-FAC is based on an efficiently invertible approximation of a neural network's Fisher information matrix which is neither diagonal nor low-rank, and in some cases is completely non-sparse. It is derived by approximating various large blocks of the Fisher (corresponding to entire layers) as being the Kronecker product of two much smaller matrices. While only several times more expensive to compute than the plain stochastic gradient, the updates produced by K-FAC make much more progress optimizing the objective, which results in an algorithm that can be much faster than stochastic gradient descent with momentum in practice. And unlike some previously proposed approximate natural-gradient/Newton methods which use high-quality non-diagonal curvature matrices (such as Hessian-free optimization), K-FAC works very well in highly stochastic optimization regimes. This is because the cost of storing and inverting K-FAC's approximation to the curvature matrix does not depend on the amount of data used to estimate it, which is a feature typically associated only with diagonal or low-rank approximations to the curvature matrix.
