Implemented forward and backpropagation using only NumPy, then trained a custom neural network on the Japanese MNIST dataset (70k Hiragana images, 10 classes) achieving over 91% accuracy with PyTorch.

A foundational deep learning project completed as part of the Deep Learning subject at UTS, covering both a from-scratch NumPy implementation and a systematic PyTorch hyperparameter study. The first part implements a Perceptron with manual forward pass and backpropagation using only NumPy, demonstrating the mathematical mechanics of gradient-based learning without framework abstraction. The second part trains a fully connected neural network on the Kuzushiji-MNIST (Japanese MNIST) dataset, 70,000 handwritten Hiragana images across 10 classes, using exclusively nn.Linear layers as required by the assessment. Four experiments are run: Baseline (128 neurons, 89.49% test accuracy), Dropout Application (128 neurons, 0.5 dropout, 84.37%), Hyperparameter Tuning (512 neurons, 0.3 dropout, 0.001 lr, 92.13%), and Model Extension with L2 Weight Decay (512 neurons, 0.3 dropout, 1e-4 weight decay, 91.60% test accuracy with a 7.14% overfitting gap). The final extended model is selected for its lower generalisation gap over raw accuracy, with class-wise F1 analysis identifying Class 2 Hiragana as the hardest to classify due to spatial geometry loss from flattening.