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 tensorflow/pytorch.

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.