Optimization1998advanced11 min read

Natural Gradient Works Efficiently in Learning

كفاءة التدرّج الطبيعي في التعلّم

Amari, S. — Neural Computation

The problem

Standard treats the space as flat Euclidean space, but the spaces of probability distributions used in neural networks are curved Riemannian manifolds. This mismatch means the ordinary does not point in the steepest descent direction of the function — it can zigzag, get trapped on plateaus, and converge slowly, especially when parameters are correlated or the is poorly conditioned.

The contribution

Amari introduced the : instead of the ordinary gradient, multiply by the inverse of the matrix to obtain the steepest descent direction in the space of probability distributions. This update rule is invariant to — the same regardless of how you write your model. The paper proved Fisher efficiency for online learning (matching optimal batch estimation asymptotically), showed the natural gradient can avoid plateau phenomena in multilayer perceptrons, and applied the idea to blind source separation and deconvolution.

The impact

The natural gradient became the theoretical foundation for a family of second-order optimizers. K-FAC (2015) made it practical for deep networks by approximating the Fisher with Kronecker factors. TRPO (2015) used trust regions defined by the Fisher to stabilize gradient methods in . Every modern optimizer that preconditions the gradient — , , AdaGrad — can be seen as a diagonal approximation to the natural gradient idea. The paper bridged information geometry and machine learning, opening a field that continues to shape how we train models.

Imagine you're hiking down a mountain, but the map you hold is drawn on a rubber sheet that has been stretched unevenly. North-south distances are compressed, east-west distances are expanded. If you follow the "steepest arrow" on this distorted map, you zigzag hopelessly — the map's gradients don't match the real terrain.

The natural gradient undistorts the map before picking a direction. It uses the Fisher information matrix as a "correction lens" that knows how the rubber sheet was stretched, so every step takes you downhill along the mountain's true surface, not the map's illusion.

Standard gradient descent is hiking with the distorted map. The natural gradient is hiking with a topographic map that reflects the real curvature of the mountain.

The problem: ordinary gradients lie on curved spaces

When we train a , we adjust its parameters θ\theta to minimize a loss function L(θ)L(\theta). The standard approach — gradient descent — computes ∇L(θ)\nabla L(\theta) and steps in the opposite direction:

θt+1=θt−η∇L(θt)\theta_{t+1} = \theta_t - \eta \nabla L(\theta_t)

This implicitly assumes parameter space is flat — that a step of size ϵ\epsilon in any direction costs the same. But for probabilistic models (which neural networks are), the parameter space is a curved : changing θ1\theta_1 by 0.01 might barely shift the output , while changing θ2\theta_2 by the same amount could flip the entire prediction. The gradient, blind to this geometry, wastes its step budget on the insensitive directions and under-steps the sensitive ones.

Here is the practical consequence: gets stuck on plateaus — flat regions of the loss surface where the ordinary gradient is tiny even though a nearby valley exists. The model crawls for thousands of iterations, then suddenly drops once it escapes the plateau. This plateau phenomenon is especially severe in multilayer perceptrons trained with .

Open in Lab
Drag the point on the curved surface. The red arrow (ordinary gradient) misses the valley; the green arrow (natural gradient) points straight toward it.
The demo wakes as you arrive…

The idea: measure distance in distribution space, not parameter space

Amari's key insight comes from information geometry: the parameter space of a statistical model is not a flat plane — it is a Riemannian manifold whose curvature is described by the Fisher information matrix F(θ)F(\theta).

The Fisher information matrix measures how sensitive the model's output distribution p(x;θ)p(x; \theta) is to small changes in each parameter. Formally, it is the expected outer product of the score function (the gradient of the log-):

F(θ)=E[∇log⁡p(x;θ) ∇log⁡p(x;θ)⊤]F(\theta) = \mathbb{E}\left[\nabla \log p(x;\theta) \, \nabla \log p(x;\theta)^\top\right]

Think of F(θ)F(\theta) as a local ruler that tells you the "real" distance between two nearby parameter settings — not in centimeters on the parameter axis, but in how much the output distribution actually changes. Two parameter settings that produce nearly identical distributions are "close" in this ruler, even if their numerical values differ a lot.

The natural gradient update rule

The idea is simple once you see it: instead of stepping in the direction of the ordinary gradient ∇L\nabla L, step in the direction that decreases the loss fastest per unit of distributional change. To find this direction, we "undistort" the gradient by multiplying it by F−1F^{-1}:

∇~L(θ)=F(θ)−1∇L(θ)\tilde{\nabla} L(\theta) = F(\theta)^{-1} \nabla L(\theta)
The natural gradient — corrected for the manifold's curvature — Standard gradient descent measures progress directly in parameter space, treating all parameter changes as equally meaningful. Natural gradient descent instead measures progress in terms of how much the model's predicted probability distribution changes. As a result, it automatically accounts for the geometry of the model and often follows a more direct and efficient path toward better solutions.

The update rule becomes:

θt+1=θt−η F(θt)−1∇L(θt)\theta_{t+1} = \theta_t - \eta \, F(\theta_t)^{-1} \nabla L(\theta_t)

Compare this with Newton's method, which uses H−1∇LH^{-1} \nabla L where HH is the . The natural gradient replaces the Hessian with the Fisher information matrix — which is always positive semi-definite (unlike the Hessian), making the update always a descent direction. It's a second-order method with guaranteed stability.

Open in Lab
Watch vanilla SGD zigzag around a narrow valley while natural gradient descent walks straight through it. Toggle between 2D contour and 3D surface views.
The demo wakes as you arrive…

A magical property: reparameterization invariance

Suppose you write a model with parameters θ\theta, and your colleague writes the same model with a different parameterization ϕ=g(θ)\phi = g(\theta). Ordinary gradient descent on θ\theta and on ϕ\phi will take completely different paths — the depends on an arbitrary naming choice.

The natural gradient is invariant to this reparameterization. No matter how you write the model, the natural gradient always moves in the same direction in distribution space. This means the algorithm's behavior depends on the model itself, not on the accident of how you chose to write down the parameters.

Mathematically, under ϕ=g(θ)\phi = g(\theta), the Fisher matrix transforms as a proper metric tensor: Fϕ=J⊤FθJF_\phi = J^\top F_\theta J where JJ is the of gg. This transformation exactly cancels the coordinate change in the gradient, leaving the natural gradient unchanged.

Open in Lab
The same model with two different parameterizations: watch vanilla SGD take different paths while the natural gradient follows the same trajectory in both.
The demo wakes as you arrive…

Fisher efficiency: optimal learning online

One of the paper's strongest results is that natural gradient online learning is Fisher efficient. This is a technical term from statistics with a precise meaning: the estimator θk\theta_k produced after kk online updates achieves the lowest possible among all unbiased estimators — matching the Cramér-Rao bound.

In practical terms: even though natural gradient online learning sees each data point only once (as in ), it extracts as much information from each sample as if it had collected all the data in a batch and run . No online algorithm can do better asymptotically.

The key condition is a decreasing ηt=1/t\eta_t = 1/t, which satisfies the Robbins-Monro conditions for stochastic approximation .

E[(θk−θ∗)(θk−θ∗)⊤]=1kF(θ∗)−1+O ⁣(1k2)\mathbb{E}\left[(\theta_k - \theta^*)(\theta_k - \theta^*)^\top\right] = \frac{1}{k} F(\theta^*)^{-1} + \mathcal{O}\!\left(\frac{1}{k^2}\right)
Fisher efficiency — the error matches the Cramér-Rao lower bound — As more training samples are processed, the parameter estimates become increasingly accurate and their uncertainty shrinks. The remarkable result is that this uncertainty decreases at the theoretically optimal rate, matching the best accuracy that any unbiased estimator could achieve given the available information. In other words, no alternative estimation method can consistently extract more information from the data in the long run.

Escaping the plateau phenomenon

The plateau phenomenon is one of the most frustrating aspects of training multilayer perceptrons with backpropagation: the loss flattens for hundreds or thousands of iterations even though the model is far from a minimum.

Amari showed that these plateaus often arise because the ordinary gradient shrinks in regions where the Fisher curvature is low — the parameter space is "stretched" so that small gradients correspond to large distributional changes. The natural gradient compensates for this stretching by multiplying with F−1F^{-1}, effectively "amplifying" the step in the stretched directions.

The intuition is like driving through fog: ordinary gradient descent slows down because it can't see far ahead (small gradient magnitude). But the natural gradient knows the road is straight even through the fog — it maintains speed because it measures progress in terms of how much the output distribution changes, not how big the gradient vector looks.

Open in Lab
Watch the loss curves: SGD stalls on the plateau while natural gradient descends steadily. Click "Reset" to try different random seeds.
The demo wakes as you arrive…

Applications: perceptrons, blind separation, and beyond

The paper applies the natural gradient framework to three concrete settings:

Multilayer perceptrons — For a network with weights WW and a probabilistic output p(y∣x;W)p(y|x; W), the Fisher matrix captures how parameter correlations interact with the data distribution. The natural gradient update decorrelates these interactions, leading to faster convergence and reduced plateau effects.

Blind source separation — Given mixed signals x=Asx = As where AA is an unknown mixing matrix and ss contains independent sources, the natural gradient on the space of separating matrices WW yields an elegant update: ΔW∝(I+φ(y)y⊤)W\Delta W \propto (I + \varphi(y)y^\top) W where φ\varphi is a nonlinear activation. The matrix WW appearing on the right makes the update equivariant — it adapts to the current scale of the solution automatically.

Blind deconvolution — Extending the idea to linear dynamical systems with convolutive mixing, the natural gradient produces updates that are similarly efficient and scale-free.

The computational challenge: inverting the Fisher matrix

The natural gradient has a practical bottleneck: computing and inverting the Fisher information matrix F(θ)F(\theta). For a model with nn parameters, FF is an n×nn \times n matrix, and inverting it costs O(n3)O(n^3). Modern deep networks have millions or billions of parameters — directly computing F−1F^{-1} is impossible.

This is where the paper's legacy truly begins. The computational challenge sparked decades of research into approximations of the natural gradient:

  • Diagonal approximations — keep only the diagonal of FF. This is essentially what AdaGrad, RMSProp, and the second moment of Adam do. Cheap but throws away parameter correlations.
  • Block-diagonal approximations — compute FF within each independently. Captures some structure at manageable cost.
  • Kronecker-factored approximations (K-FAC) — the Fisher for a neural network layer can be approximated as a Kronecker product of two smaller matrices (one from the input activations, one from the output gradients). This was the breakthrough that made natural gradient practical for .
Open in Lab
Compare the full Fisher, diagonal, block-diagonal, and Kronecker-factored approximations. Notice how K-FAC captures most of the off-diagonal structure at a fraction of the cost.
The demo wakes as you arrive…

The family tree: from natural gradient to modern optimizers

The natural gradient paper is the ancestor of an entire family of optimization methods. Once you understand this connection, modern optimizers stop looking like unrelated tricks and start revealing their common DNA:

Adam (2014) — maintains running averages of the first moment (gradient) and second moment (squared gradient). The second moment acts as a diagonal approximation to the Fisher, scaling each parameter's learning rate by the inverse of its historical gradient magnitude.

K-FAC (Martens & Grosse, 2015) — the most direct descendant. Approximates the Fisher with Kronecker products, then performs the natural gradient update. Achieves near second-order convergence at near first-order cost.

TRPO (Schulman et al., 2015) — in reinforcement learning, the policy is a probability distribution over actions. TRPO constrains policy updates to a trust region defined by the Fisher information, ensuring each update doesn't change the policy too much. This is the natural gradient with a KL divergence constraint instead of a fixed step size.

The natural gradient in code

Natural gradient descent vs. vanilla gradient descentpython

Simplified to show the idea — not the real implementation.

import numpy as np

def fisher_information(model, X, theta):
    """Estimate Fisher information from data.
    F = E[∇log p(x;θ) · ∇log p(x;θ)ᵀ]"""
    grads = []
    for x in X:
        g = model.grad_log_prob(x, theta)   # ∇ log p(x; θ)
        grads.append(np.outer(g, g))         # outer product
    return np.mean(grads, axis=0)             # average over data

def natural_gradient_step(theta, grad, F, lr=0.01):
    """One step of natural gradient descent.
    θ_new = θ - η · F⁻¹ · ∇L(θ)"""
    F_inv = np.linalg.inv(F + 1e-4 * np.eye(len(theta)))  # regularized
    natural_grad = F_inv @ grad
    return theta - lr * natural_grad

def vanilla_gradient_step(theta, grad, lr=0.01):
    """One step of ordinary gradient descent.
    θ_new = θ - η · ∇L(θ)"""
    return theta - lr * grad

# The difference: one line. F⁻¹ @ grad instead of just grad.
# That one line is the difference between hiking with a
# distorted map and hiking with a topographic map.

The legacy and influence

  1. 1998

    Natural Gradient (Amari)

    The foundational paper. Introduced the natural gradient using the Fisher information matrix as a Riemannian metric, proved Fisher efficiency, and applied it to neural networks and blind source separation.

  2. 2002

    Natural Policy Gradient (Kakade)

    Extended the natural gradient to reinforcement learning, using the Fisher matrix of the policy to define steepest descent in policy space.

  3. 2014

    Adam (Kingma & Ba)

    Combined momentum with adaptive per-parameter learning rates. The second moment acts as a diagonal Fisher approximation — making Adam an implicit, simplified natural gradient method.

  4. 2015

    K-FAC (Martens & Grosse)

    Made the natural gradient practical for deep learning by approximating the Fisher with Kronecker products — capturing layer-wise parameter correlations at manageable cost.

  5. 2015

    TRPO (Schulman et al.)

    Trust Region Policy Optimization: constrained the policy update to a KL divergence trust region defined by the Fisher. Stabilized deep reinforcement learning and inspired PPO.

  6. 2020

    New Insights (Martens)

    A comprehensive 180-page analysis consolidating decades of natural gradient theory, connecting it to the generalized Gauss-Newton method and clarifying common misconceptions about the empirical Fisher.

CitationAmari, S.. Natural Gradient Works Efficiently in Learning. Neural Computation, 1998.

Terms in this paper