Summary: Examines what the trained MNIST network actually learned — and how it falls short of our neat edges-and-loops hypothesis.

Key findings

  • The network achieves ~96% accuracy on unseen digits (tweakable to ~98%; modern architectures reach 99.75%).
  • The hidden layers don’t learn clean edges or loops. The second-layer weight patterns are blobby and nearly random — the network found a local minimum that works but doesn’t generalise in the way we hoped.
  • Random noise gets a confident answer. Feed in pure noise and the network will confidently declare it a “5” (or whatever). It has no notion of “I don’t know” — the cost function never ince§tntivised uncertainty on out-of-distribution inputs.
  • The network can recognise digits but can’t draw them — it has no generative understanding.

Why it’s limited

  • Training data is tightly constrained: centred, fixed-size digits on a 28×28 grid. Off-centre or scaled digits confuse it.
  • Nothing in the architecture enforces spatial invariance — a pattern learned in one region doesn’t transfer to another. This is exactly the gap that convolutional neural networks (CNNs) were designed to fill.

Takeaway

This plain-vanilla network is ’80s/’90s technology. Understanding it is a prerequisite for modern variants, but don’t mistake it for the state of the art.