This is an extensive implemetation of some concepts and frameworks in Deep Learning from scratch. It is based off the fifth assignment (aka mini-project) of the class 16720A Computer Vision at Carnegie Mellon University.
It contains
-
An in-depth implementation of a neural network model from scratch without the use of libraries. It is trained and tested on the NIST36 dataset.
-
The same network is then trained to recognize handwritten letters with reasonable accuracy, to parse text in an image.
-
Image compression is then done using an auto-encoder. The PSNR Value obtained is then compared with value obtained by implementing Principal Component Analaysis
-
Training and testing suitable fully connected neural network models as well as CNNs on a number of datasets such as MNIST, EMNIST, NIST36.
-
In depth analysis of skip and residual connections. Demonstrated efficacy of each of these connections by deploying them in a neural network and testing them on the afore mentioned datasets.
-
Implemented a basic version of the following paper - “Resnet in Resnet: Generalizing Residual Architectures,” S. Targ, D. Almeida, and K. Lyman, ArXiv:1603.08029 [cs.LG], March 2016. It is tested on the EMNIST dataset.
-
Experiments in fine tuning have been performed by initializing models with weights obtained from another deep network that was trained for a different purpose.
The detailed set of questions for this assignment can also be found in this repository