← All projects
Machine learning / PROJECT NOTES

Neural networks, from the ground up.

Exploring handwritten digit recognition: from a neural network built with NumPy to multilayer perceptrons and convolutional networks in PyTorch.

PythonNumPyPyTorch
View source on GitHub
01 / NEURAL NETWORKS
INPUTHIDDEN LAYERSOUTPUT

The exploration

An educational series exploring how neural networks work, beginning with a simple feed-forward network and progressing to larger models for handwritten digit and letter recognition.

The implementation

The initial implementation uses NumPy for a multilayer perceptron and stochastic gradient descent. Subsequent Jupyter notebooks use PyTorch to explore dropout, batch normalisation, data augmentation and convolutional architectures with MNIST and EMNIST data.

What the project shows

The repository documents the trade-offs between a low-level implementation and a dedicated machine learning framework, along with experiments in model size, training performance and image classification. The README discusses both results and limitations.

Explore the implementation and original notes.NeuralNetworkTest
KEEP EXPLORINGWordle Bot →