Welcome to DeepLearningAssignments! This repository contains four deep learning assignments that cover advanced topics in neural networks, machine learning, and optimization techniques.
- Explore the fundamental challenges of Recurrent Neural Networks (RNNs), particularly the issues of vanishing and exploding gradients.
- This assignment dives into the architecture of RNNs and demonstrates how these gradient problems can impact training and performance.
- Learn about Long Short-Term Memory (LSTM) networks, a solution to the gradient issues in RNNs.
- Understand the process of Backpropagation Through Time (BPTT) and how it helps in training deep learning models on sequential data.
- This assignment focuses on the art of hyperparameter tuning and regularization techniques such as L1, L2 regularization, and Dropout.
- Learn how to improve model performance and prevent overfitting.
- Explore advanced optimization methods like Adam, Adagrad, and RMSprop.
- Learn how these techniques improve the training process for deep learning models, ensuring better convergence and faster training times.
Each assignment is structured as a separate directory, with necessary scripts, Jupyter notebooks, and supporting files:
DeepLearningAssignments/
├── Assignment-1-RNNs-Gradient-Issues/
├── Assignment-2-LSTM-BPTT/
├── Assignment-3-Hyperparameter-Tuning-ML/
├── Assignment-4-Advanced-Optimization-DL/
└── README.md # Main repository README
-
Clone the repository to your local machine:
git clone https://github.com/Dinakarnayak/DeepLearningAssignments.git
-
Navigate to a specific assignment folder:
cd Assignment-1-RNNs-Gradient-Issues
-
Install required dependencies using
pip
:pip install -r requirements.txt
-
Run the Python script or Jupyter notebook to start experimenting with the models:
python rnn_model.py
This project is licensed under the MIT License. See the LICENSE file for more details.
Developed by Dinakar Nayak N.
For inquiries, please reach out at dinakarnayak4248@gmail.com.
Thank you for exploring this repository! Feel free to contribute and experiment with the assignments.