The course addresses advanced deep learning topics, with a particular focus on optimizing model design and training pipelines for real-world applications.
Learning strategies at various levels of supervision are discussed, along with methods for optimizing architecture design. Additionally, the course delves into issues that may arise when using models in the real world, discussing strategies to enhance their robustness.
Module 1: Deep Learning Advanced – supervised and unsupervised approaches
Deep Learning: brief recap
Learning strategies: how to learn with different levels of supervision
• Supervised learning
• Unsupervised learning
• Self- and weakly-supervision
Typologies of architectures
Optimization of neural networks: when existing designs are not usable
• Neural network design
• Auto-ML
• Neural Architecture Search
• Optimization of the efficiency–accuracy trade-off
Neural network robustness:
• Domain shift: strategies to mitigate performance drops across domains
• Robustness to external disturbances (e.g., HW faults).
Not only images:
• Learning on videos
• Learning on unstructured data (graph-based).
Module 2: Intro to practical Deep Learning
- Brief recap on Python basics.
- Intro to PyTorch.
- How to Write Your Model.
- How to Train Your Model.
- Data Augmentation.
- Model Validation and Testing.
OBJECTIVES
The course aims to address advanced learning topics, providing theoretical knowledge on different supervision strategies and techniques to optimize and strengthen networks.
PREREQUISITES
To fully benefit from this course, it is necessary to possess theoretical and practical knowledge of Artificial Intelligence.