Content: The course is introductory. During the cycle of lessons the principles and the most important ideas at the basis
of modern deep learning methods and algorithms based on differentiable neural network models will be presented, with
examples in different sectors of physics and scientific research. The course optionally includes hands-on computational
labs in which the student will learn the use of the more popular deep learning development frameworks.

Topics: Artificial Neural Networks, Universal approximation theorem, computational graphs and back-propagation
through graphs. Regularization methods. Deep Learning and Deep-NN. Convolutional neural networks, models for
analysis of sequences (RNN, LSTM/GRU, Transformers). Generative DL: AutoEncoders, Variational AutoEncoders, GANs,
Autoregressive flow models, Reinforcement Learning. Implementation and application of the different models in

Prerequisites: it is useful to have taken an introductory course in probability and statistics, and to have an at least elementary knowledge of
the python programming language. More advanced tools when needed will be introduced during the course.