In this project, we create and implement a deep learning library from scratch.
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
Loss function is defined so as to see how good the output ŷ is compared to output label y.
Cost Function quantifies the error between predicted values and expected values.
Gradient descent is a first-order iterative optimization algorithm for finding a local minimum of a differentiable function.
-
Object oriented programming in Python
-
Linear Algebra
-
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 git@github.com:https://github.com/Ris-Bali/ARA.git
We trained a model on the iris dataset using ARA here's the video for the same -
ARA.mp4
As you may have observed we achieved an accuracy of nearly 100% while training the model.
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)
- Numpy library not working so we shifted workspace to colab
- SRA VJTI
- Mentors:
Describe your License for your project.