Welcome to the Deep Learning A-Z repository! This collection is designed to guide you through the foundational concepts and implementations of various deep learning architectures, providing hands-on experience with each model type.
This repository is structured into six main sections, each focusing on a different deep learning architecture:
- Artificial Neural Networks (ANN) : Explore the basics of neural networks, including forward and backward propagation, activation functions, and training processes.
- Convolutional Neural Networks (CNN) : Delve into models primarily used for image recognition and processing, understanding convolutional layers, pooling, and feature extraction.
- Recurrent Neural Networks (RNN) : Learn about networks designed for sequential data, such as time series or natural language, and grasp concepts like looping mechanisms and memory retention.
- Self-Organizing Maps (SOMs) : Study unsupervised learning techniques that visualize and interpret complex data patterns through dimensionality reduction.
- Boltzmann Machines (BM) : Investigate stochastic recurrent neural networks capable of learning complex probability distributions over datasets.
- AutoEncoders (AE) : Understand models used for data compression and noise reduction by learning efficient codings of input data.
To effectively utilize this repository, follow these steps:
- Clone the Repository :
git clone https://github.com/dash7ou/deep-learning.git
cd deep-learning
```
- Set Up the Environment :
- It's recommended to use a virtual environment to manage dependencies.
- Install the required packages using the provided
requirements.txt
file:pip install -r requirements.txt ```
- Alternatively, if you use
conda
, create an environment using theenvironment.yml
file:conda env create -f environment.yml conda activate deep-learning ```
- Explore the Notebooks :
- Each section contains Jupyter Notebooks with detailed explanations and code implementations.
- Launch Jupyter Notebook:
jupyter notebook ```
- Navigate to the desired section and open the notebook to begin your learning journey.
deep-learning/
├── 01- Artificial Neural Networks (ANN)/
│ ├── ann_introduction.ipynb
│ ├── ann_training.ipynb
│ └── ...
├── 02- Convolutional Neural Networks (CNN)/
│ ├── cnn_introduction.ipynb
│ ├── cnn_image_classification.ipynb
│ └── ...
├── 03- Recurrent Neural Networks (RNN)/
│ ├── rnn_introduction.ipynb
│ ├── rnn_time_series.ipynb
│ └── ...
├── 04- Self Organizing Maps (SOMs)/
│ ├── som_introduction.ipynb
│ └── ...
├── 05- Boltzmann Machines (BM)/
│ ├── bm_introduction.ipynb
│ └── ...
├── 06- AutoEncoders (AE)/
│ ├── ae_introduction.ipynb
│ └── ...
├── environment.yml
├── requirements.txt
└── README.md
```
Contributions are welcome! If you have suggestions or improvements, please open an issue or submit a pull request.
For any questions or inquiries, feel free to reach out:
- GitHub: dash7ou
- LinkedIn: Mohammed M R Zourob
Happy Learning!