In this project, we create and implement a deep learning library from scratch.
About The Project
Deep learning can be considered as a subset of machine learning. It is a field that is based on learning and improving on its own by examining computer algorithms. Deep learning works with artificial neural networks consisting of many layers.
This project, which is creating a Deep Learning Library from scratch, can be further implemented in various kinds of projects that involve Deep Learning. Which include, but are not limited to applications in Image, Natural Language and Speech processing, among others.
To implement a deep learning library from scratch.
Technologies used in the project:
- Python and numpy, pandas, matplotlib
- Google Colab
. ├── code | └── main.py #contains the main code for the library ├── resources #Notes | ├── ImprovingDeepNeuralNetworks | | ├── images | | | ├── BatchvsMiniBatch.png | | | ├── Bias.png | | | └── EWG.png | | └── notes.md | ├── Course1.md | ├── accuracy.jpg | ├── error.jpg | └── grad_des_graph.jpg ├── LICENSE.txt ├── ProjectReport.pdf #Project Report └── README.md #Readme
The approach of the project is to basically create a deep learning library, as stated before. The aim of the project was to implement various deep learning algorithms, in order to drive a deep neural network and hence,create a deep learning library, which is modular,and driven on user input so that it can be applied for various deep learning processes, and to train and test it against a model.
A neural network is a network or circuit of neurons, or in a modern sense, an artificial neural network, composed of artificial neurons or nodes.
There are different types of Neural Networks
- Standard Neural Networks
- Convolutional Neural Networks
- Recurring Neural Networks
Cost Function :
Gradient Descent : –
Gradient descent is a first-order iterative optimization algorithm for finding a local minimum of a differentiable function.
Object oriented programming in Python
Basic knowledge of Neural Networks
Python 3.6 and above
You can visit the Python Download Guide for the installation steps.
Install numpy next
pip install numpy
- Clone the repo
git clone [email protected]:aayushmehta123/sra_eklavya_deeplearning_library.git
Results obtained during training:
(where Y-axis represents the value of the cost function and X axis represents the number of iterations)
(where Y-axis represents the accuracy of the prediction wrt the labels and X-axis represents the number of iterations)
- Short term
- Adding class for normalization and regularization
- Near Future
- Addition of support for linear regression
- Addition of classes for LSTM and GRU blocks
- Future goal
- Addition of algorithms to support CNN models.
- Addition of more Machine Learning algorithms
- Include algorithms to facilitate Image Recognition, Machine Translation and Natural Language Processing
- Numpy library not working so we shifted workspace to colab
- Coursera course by Andrew NG on Deep Learning and Neural Networks
- Coursera course by Andrew NG on Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization
- On Gradient Descent Optimization
- Essence of Linear Algebra by 3Blue1Brown
- Basics of Neural Networks by 3Blue1Brown
- Basics of Implementing Deep Learning Libraries
- Deep Learning
- Deep Learning Libraries
- Iris Dataset
Describe your License for your project.