Deep Learning Course ๐Ÿš€#

Welcome to this comprehensive Deep Learning course! This course will teach you Deep Learning from scratch, with both practical and theoretical approaches.

๐ŸŽฏ Course Objectives#

  • Understand the mathematical foundations of Deep Learning

  • Master modern neural network architectures

  • Implement models with PyTorch

  • Discover practical applications of Deep Learning

๐Ÿ“š Course Structure#

The course is organized into several parts:

  1. ๐Ÿ—๏ธ Foundations
    Introduction to optimization with gradient descent, intuitive understanding of the chain rule, and first steps with logistic regression.

  2. ๐Ÿง  Fully Connected Networks
    Explore how neural networks work using micrograd and then with PyTorch. Introduction to advanced training techniques to improve performance.

  3. ๐Ÿ–ผ๏ธ Convolutional Networks
    Presentation of convolutional layers and their use in neural networks. Practical examples: classification on MNIST, CIFAR-10, and image segmentation.

  4. ๐Ÿ”„ Autoencoders
    Discover unsupervised learning with autoencoders: anomaly detection and image denoising.

  5. ๐Ÿ—จ๏ธ NLP
    Introduction to natural language processing inspired by the โ€œBuilding makemoreโ€ series: from simple models to more complex architectures for text prediction.

  6. ๐Ÿค— Hugging Face
    Explore the Hugging Face platform: discover models, datasets, and libraries (transformers, diffusers, gradio) for various use cases.

  7. ๐Ÿค– Transformers
    In-depth study of the transformer architecture: step-by-step implementation, mathematical explanations, various applications (vision, translationโ€ฆ), and introduction to vision transformers.

  8. ๐Ÿ” Object Detection (YOLO)
    Presentation of object detection methods (two-stage, one-stage), focus on YOLO, and use of the ultralytics library.

  9. ๐ŸŽฏ Contrastive Training
    Introduction to contrastive training: implementation for face verification and applications to unsupervised learning.

  10. ๐Ÿค Transfer Learning and Distillation
    Concepts of transfer learning and knowledge distillation: practical implementations, distillation for anomaly detection, and LLM finetuning with BERT and Hugging Face.

  11. ๐ŸŒ€ Generative Models
    Presentation of the main families of generative models: GANs, VAEs, normalizing flows, diffusion models (excluding autoregressive models already covered in NLP/Transformers).

  12. ๐ŸŒŸ Bonus โ€“ Specific Topics
    Advanced concepts and complementary techniques: BatchNorm, residual connections, optimizers, dropout, data augmentation, etc.

๐Ÿ› ๏ธ Prerequisites#

  • Basic knowledge of Python

  • Some mathematics (linear algebra, calculus)

  • Motivation to learn! ๐Ÿ’ช

Start your learning journey by exploring the foundations of Deep Learning!