This repository includes a collection of Jupyter notebooks developed as part of the Neural Networks and Deep Learning course. The notebooks demonstrate various techniques and architectures used in deep learning today, such as image classification, time series forecasting, natural language processing, and reinforcement learning.
Each notebook aligns with specific course topics and provides practical applications using Python, Keras, PyTorch, and other libraries. Topics cover both supervised and unsupervised learning, as well as data generation techniques.
- MLP vs. Classic Statistical Models - for classification and regression.
- Building and Training MLPs in Python (Keras/PyTorch) - data preparation and handling overfitting.
- Convolutional Neural Networks (CNN) for Image Classification - parameter tuning and visualization.
- Transfer Learning for Image Classification - advanced image classification methods.
- LSTM/GRU for Time Series Forecasting.
- LSTM/GRU for Natural Language Processing - NLP applications.
- Unsupervised Learning - dimensionality reduction, anomaly detection, recommendation systems.
- Generative Adversarial Networks (GANs) - data generation.
- Large Language Models (LLMs) - fine tuning, RAG.
- Reinforcement Learning - applications with deep networks.