Deep Learning Lab

Build neural networks from scratch. Explore 3D error surfaces, optimizers, backpropagation, overfitting and convolutions.

About the Deep Learning Lab

The Deep Learning Lab follows the same path the field took: from a single threshold neuron, through the XOR problem that stalled research for years, to backpropagation, modern optimisers and convolutions, and finally a language model predicting its next token.

You can rotate a three-dimensional loss surface and watch eight optimisers race to the bottom of it, train a small network with your own choice of activation, dropout and L2 penalty, or follow an error signal backwards through every weight. Nothing is hidden behind a library call.

It goes with the Deep Learning course, and almost every experiment links to the lesson that explains it. It suits students starting deep learning, and practitioners who want a feel for why one optimiser or initialisation behaves differently from another.

Experiments in this lab

  1. Thresholding neuron: Logic gates from a threshold and a line.
  2. Perceptron learning: Watch the weights change after every mistake.
  3. The XOR problem: One line cannot separate XOR. Two layers can.
  4. Sigmoid versus step: Why a smooth neuron makes learning possible.
  5. Taylor series: Approximate a curve by a line or polynomial near a point.
  6. Error surfaces (3D): Rotate a loss surface and find its valley.
  7. Tower functions (3D): Build any shape from sigmoid towers.
  8. Entropy and loss: How cross-entropy responds to confidence.
  9. Backpropagation flow: Follow a signal forward, then the error backward.
  10. Optimizer playground: Race eight optimisers on the same loss surface.
  11. Overfitting lab: Bias, variance, L2 and early stopping on a curve fit.
  12. Network lab: Train a network with any optimiser, dropout, L2 and more.
  13. Activations and init: Activation shapes, maxout, and signals in deep networks.
  14. Convolutions: Slide a filter over an image.
  15. LLM inference: Watch a language model predict the next token.