I have been following the course CS231n: Convolutional Neural Networks for Visual Recognition offered by Stanford. This repository maintains the solutions to CS23N assignments.
Course Lectures: Youtube
Course Site: CS231n
A brief description of the assignments:
Assignment 1
- In this assignment, I implemented the K-Nearest Neighbour Algorithm from scratch using vectorised code, applying it on the CIFAR-10 dataset. This was also helpful in understanding basic Image Classification pipeline, cross-validation
- This assignment required me to implement a Multiclass Support Vector Machine (SVM) classifier. It also required me to write from scratch a code to implement SGD (Stochastic Gradient Descent) to optimise the loss function, helped me understand how to claculate the analytical gradient for vector equations.
- Here, I was required to implement a softmax classifier. Like the SVM assignment, this also required using analytical gradients and calculation of loss functions- something which helped clearsome fundamentals.
- Built a two layer neural network from scratch by using modularised functions and classes.
- Implemented different layers like: affine, relu, vectorised loss functions for softmax and svm losses.
- Optimised using vanilla SGD.
- Effectively used computational graphs to understand gradient flow; implemented forward and backward passes.
- Tuning of hyperparameters using grid search.