[P] A small MLP from scratch in NumPy with a GUI to look inside it while it trains (weight distributions, t-SNE per layer, neuron ablation...) [P]
Mirrored from r/MachineLearning for archival readability. Support the source by reading on the original site.
| Hi everyone, I built an educational tool that shows what happens inside a small MLP while it trains, and I'd like some feedback from people who teach ML. Everything is plain NumPy, no autograd: manual backprop, SGD with momentum, L2, dropout, cosine decay and 4 activations. On MNIST it gets to about 98.5% with the full training set. During training you see the loss per mini-batch and per epoch, the gradient norm of each layer with the % of inactive neurons, the weight distributions now vs at init and the receptive fields of the first layer. Then there's: • a PCA / t-SNE of the test set (in NumPy too), layer by layer, with a line from each wrong prediction to the cluster of the digit it was confused with • robustness curves for noise and rotation, plus a confidence threshold that shows coverage vs accuracy • a lab where you ablate or rescale single neurons, prune, add noise to the weights or change the softmax temperature, and the test accuracy updates right away I'd like it to be useful to students, from high school to intro ML courses, to people who learn on their own and to teachers who want to show a network in class. [link] [comments] |
More from r/MachineLearning
-
I turned my dog Jackies Brain into a working AI [P]
Oct 14
-
Event2Vec: additive event embeddings where a linear score on a history decomposes exactly into per-event terms [P]
Oct 14
-
Binary noise classification using CRNN mean teacher algo [R]
Oct 14
-
Localized Neural learning vs backpropagation [D]
Oct 14
Discussion (0)
Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.
Sign in →No comments yet. Sign in and be the first to say something.