Skip to content

Mokhwalee/Deep-Learning

Repository files navigation

📘 Deep Learning Study

This repository offers a structured deep dive into Deep Learning, inspired by GeeksforGeeks' Deep Learning Tutorial. It includes theoretical explanations and hands-on Jupyter Notebooks for major concepts and architectures in deep learning.


🔍 Overview

Deep Learning is a subset of machine learning that uses neural networks with multiple layers (deep architectures) to model complex patterns in large datasets. It is particularly powerful in tasks involving images, audio, natural language, and sequential data.


🧱 Core Concepts and Notebooks

Each section below includes a Jupyter Notebook demonstrating key ideas, implementation, and experimentation using Python (with frameworks like TensorFlow or PyTorch).

1. Introduction to Neural Networks

Notebook: 01_intro_neural_networks.ipynb
Explains the basic components: neurons, weights, biases, activation functions, and the architecture of a simple feedforward network. Covers common activation functions such as Sigmoid, Tanh, ReLU, and Softmax, and explains when and why they are used.

2. Loss Functions and Optimizers

Notebook: 02_loss_optimizers.ipynb
Introduces loss functions (MSE, Cross-Entropy) and optimizers (SGD, Adam, RMSProp), including how they impact training dynamics.

3. Backpropagation

Notebook: 04_backpropagation.ipynb
Demonstrates the process of forward pass, error calculation, and weight updates using backpropagation.

4. Deep Neural Networks (DNN)

Notebook: 05_deep_neural_network.ipynb
Builds a deep feedforward network and discusses depth vs. performance tradeoffs.

5. Convolutional Neural Networks (CNN)

Notebook: 06_cnn.ipynb
Introduces CNNs for image processing tasks, covering concepts like filters, pooling layers, and convolution operations.

6. Recurrent Neural Networks (RNN)

Notebook: 07_rnn.ipynb
Explores RNNs for sequential data like time series or text, explaining hidden states and vanishing gradients.

7. Long Short-Term Memory (LSTM)

Notebook: 08_lstm.ipynb
An improvement over RNNs, LSTMs capture long-term dependencies using gates (input, forget, output).

8. Autoencoders

Notebook: 09_autoencoder.ipynb
Unsupervised neural networks for dimensionality reduction and data reconstruction.

9. Generative Adversarial Networks (GANs)

Notebook: 10_gan.ipynb
Covers the adversarial learning framework involving a generator and discriminator, used to generate realistic synthetic data.


🛠️ Libraries Used

  • Python 3.x
  • NumPy, pandas, matplotlib
  • TensorFlow / Keras or PyTorch
  • scikit-learn (for preprocessing)

🧠 Learning Goals

  • Understand the architecture and working of deep neural networks
  • Gain practical experience in building, training, and evaluating deep learning models
  • Explore real-world applications such as image classification, sequence modeling, and data generation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors