Information in the Weights, Interactive
← text notes · Achille, Paolini & Soatto, Where is the Information in a Deep Neural Network? Four widgets: the Information Lagrangian and its exact minimiser, what temperature does and does not do to flat against sharp minima, the paper's Figure 3 toy rerun in your browser, and which Fisher the activations actually see. Everything is computed on the page.
1. The Information Lagrangian in one dimension
One weight w, a loss with two wells, and a code P = N(0, λ²). The page minimises Cβ(Q) = EQ[L] + β KL(Q‖P) exactly. The minimiser is the Gibbs distribution Q* ∝ P·e−L/β, computed on a grid. It is drawn against two Gaussians centred at the deeper minimum: the corrected Laplace approximation, with variance β/(h + β/λ²), and Proposition 2.5 as printed, with (β/2)/(h + β/2λ²). The right panel traces the optimal (rate, distortion) pairs over β. The Information in the Weights is the rate. The curve's slope at the current point is −β, so the rate is also d(min C)/dβ.
2. Flat and sharp minima under temperature
Overdamped Langevin dynamics dw = −V′(w) dt + √(2T) dW settles into the Gibbs density e−V/T. For two wells, the Eyring–Kramers law (Proposition 2.8) says the time to leave a well is (2π/|λ1|)·√(|V″saddle|/V″min)·eΔV/T. The curvature sits in a prefactor that does not involve T. So when the wells are equally deep, the share of time spent in the sharp one is about √(hflat/hsharp) at every temperature. Temperature only matters through a difference in depth.
3. The Figure 3 toy, taken apart
This is the paper's experiment, as rebuilt in code/sgd_toy.py but smaller. A dataset is 100 draws from N(μ, 1) with μ ~ U[−0.8, 0.8], and the model predicts φ(θ). The zigzag φ has 20 linear pieces, steep near 0 and shallow outside, and each piece sweeps [−1, 1], so each holds one global minimum with the same loss. The page runs 120 datasets × 8 runs for 20 000 steps (learning rate 10−4), snaps each run to the minimiser of the piece it ends in, and computes three quantities. The first is the paper's estimator: one Gaussian N(θ*, 1/F) per run, KL to the pooled mixture. The second is I(θ; D), with the runs of a dataset averaged out first (the piece probabilities are pooled over datasets with similar μ, to avoid small-sample bias). The third is H(piece), the entropy of which piece a run reaches.
4. Which Fisher do the activations see?
This is Definition 3.1 in the smallest possible case. Two weights, one activation z = x·(j1w1 + j2w2), with the readout direction J = (j1, j2) at an angle you choose, scaled by the input size |x|. Weight noise n ~ N(0, βF−1) is the ellipse on the left. It reaches the activation as variance σz² = β·x²·J F−1J⊤, the shadow of the ellipse on the readout line. The information the activation carries about the input scales with the precision 1/σz². Proposition 3.2 as printed uses x²·J F J⊤/β instead.