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.