Conoscenza e capacità di comprensione (knowledge and understanding): saranno acquisite le conoscenze relative ai modelli piu' importanti di apprendimento automatico e le tecniche algoritmiche per l'apprendimento automatico da dati.
Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): saranno acquisite le capacità per applicare le nozioni imparate in vari campi come: riconoscimento e classificazione, social netwoking, computer vision e comprensione del linguaggio naturale.
Autonomia di giudizio (making judgements): Lo studente sarà in grado di valutare la possibilità di sviluppare algoritmi e sistemi di apprendimento automatico in diversi ambiti applicativi.
Abilità comunicative (communication skills): saranno acquisite le necessarie abilità comunicative ed un'adeguata appropriatezza espressiva nella comunicazione di problematiche inerenti ai sistemi di apprendimento automatico e le loro applicazioni.
Capacità di apprendimento (learning skills): lo studente avrà la capacita di adattare le conoscenze acquisite anche a nuovi contesti e di comprendere i limiti di applicabilità delle tecniche di apprendimento automatico.
Il Corso prevede una buona conoscenza di base di Algoritmi, concetti di Probabilita', e le problematiche di Intelligenza Artificiale in generale.
La frequenza è consigliata. Le lezioni permettono di cogliere meglio gli argomenti trattati e l'idea generale che tiene legati i diversi temi e forniscono riferimenti e digressioni utili.
Contenuti dettagliati del Corso:
1. Machine Learning Basics
1.1 Learning Algorithms
1.2 Capacity, Overfitting and Underfitting
1.3 Hyperparameters and Validation Sets
1.4 Estimators, Bias and Variance
1.5 Maximum Likelihood Estimation
1.6 Bayesian Statistics
1.7 Supervised Learning Algorithms
1.8 Unsupervised Learning Algorithms
1.9 Stochastic Gradient Descent
1.10 Building a Machine Learning Algorithm
1.11 Challenges Motivating Deep Learning
2. Deep Feedforward Networks
3. Regularization for Deep Learning
4. Optimization for Training Deep Models
5. Convolutional Networks
6. Sequence Modeling: Recurrent and Recursive Nets
7. Practical Methodology and Applications
8. Linear Factor Models
9. Autoencoders
10. Representation Learning
11. Structured Probabilistic Models for Deep Learning
12. Approximate Inference
13. Deep Generative Models
13.1 Boltzmann Machines
13.2 Restricted Boltzmann Machines
13.3 Deep Belief Networks
13.4 Deep Boltzmann Machines
13.5 Boltzmann Machines for Real-Valued Data
13.6 Convolutional Boltzmann Machines
13.7 Boltzmann Machines for Structured or Sequential Outputs
13.8 Other Boltzmann Machines
13.9 Back-Propagation through Random Operations
13.10 Directed Generative Nets
13.11 Drawing Samples from Autoencoders
13.12 Generative Stochastic Networks
13.13 Other Generation Schemes
13.14 Evaluating Generative Models
14. Monte Carlo Methods & Confronting the Partition Function
Il Libro di testo adottato è,
Deep Learning, Ian Goodfellow, Yoshua Bengio, Aaron Courville, MIT Press.
Libri consigliati:
Machine Learning: A Probabilistic Perspective, K. P. Murphy, MIT Press, 2012.
Pattern Recognition and Machine Learning, Christopher M. Bishop, Springer Nature.
Altro materiale sara' fornito dal docente a lezione.
Esame Orale e Relazione scritta su un progetto assegnato dal Prof. G. Nicosia, docente titolare del corso.