Il corso affronta tematiche avanzate di deep learning, con attenzione particolare all’ottimizzazione del design e della training pipeline dei modelli in funzione dell’applicazione reale.
Vengono discusse strategie di apprendimento a vari livelli di supervisione, e metodi per l’ottimizzazione del design di architetture. Inoltre, si approfondiscono anche le problematiche che possono sorgere nell’utilizzo di modelli nel mondo reale, discutendo strategie per migliorarne la robustezza.
Modulo 1: Deep Learning Advanced – supervised and unsupervised approaches
Deep Learning: breve recap
Learning strategies: come imparare con diversi livelli di supervisione
• Supervised learning
• Unsupervised learning
• Self- and weekly- supervision
Typologies of architectures
Ottimizzazione di reti neurali: quando i design esistenti non sono utilizzabili
• Design di reti neurali
• Auto-ML
• Neural Architecture Search
• Ottimizzazione del trade-off efficienza-accuratezza
Robustezza di reti neurali:
• Domain shift: strategie per mitigazione di performance drop across-domains
• Robustezza a disturbi esterni (e.g. hw faults).
Non solo immagini:
• Learning su video
• Learning su dati non strutturati (graph-based).
Modulo 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.
OBIETTIVI
Il corso ha l’obiettivo di affrontare tematiche di learning avanzato, fornendo conoscenze teoriche su diverse strategie di supervisione e su tecniche per ottimizzare ed irrobustire le reti.
PRE-REQUISITI
Per fruire a pieno di questo corso, è necessario possedere le conoscenze teoriche e pratiche di Intelligenza Artificiale.