Neural Network Classification — MNIST & CIFAR-10
A perceptron from scratch in NumPy, a CIFAR-10 CNN, and a denoising convolutional autoencoder in TensorFlow.
Python · NumPy · TensorFlow
COSC440 coursework building neural network models from first principles. A single-layer perceptron for MNIST digit classification was implemented entirely from scratch in NumPy, including manual forward and backward propagation. A convolutional neural network built in TensorFlow tackles binary image classification on CIFAR-10, exploring different architectures and regularisation techniques, alongside a hand-written convolution implementation. A convolutional autoencoder with transposed convolution layers was then trained to denoise CIFAR-10 images, and its latent space was visualised and clustered with k-means to explore how well it separates classes without labels. Along the way I managed GPU and CUDA environments across several different machines.