General objective of the course is to familiarise with advanced deep learning techniques based on differentiable neural network models with different learning paradigms; to acquire skills in modelling complex problems, through deep learning techniques, and understand how to apply these techniques in different contexts in the fields of physics, basic and applied scientific research.

Topics covered include: general overview of differentiable artificial neural networks and use of the pytorch library for ANN design, training and testing. Basic architectures: MLP, Convolutional neural network, neural network for sequence analysis (RNN, LSTM/GRU). Bayesian-NN. Attention, Self-Attention, Transformers and Visual Transformers, Models for object detection and semantic segmentation and applications. Graph Neural Networks and Geometrical Deep Learning. Generative models based on VAE, GAN, autoregressive models, invertible networks, diffusion models, normalising flow, and generative GNNs. Advanced learning techniques:  transfer learning, domain adaptation, adversarial learning, self-supervised and contrastive learning, model distillation.  Explainable and interpretable AI. Quantum Machine Learning on near-term quantum devices.

Approximately 50% of the lectures are frontal lessons supplemented by slide projections,, aimed at providing advanced knowledge of Deep Learning techniques. The remaining 50% is based on hands-on computational practical experiences that provide some of the application skills necessary to autonomously develop and implement advanced Deep Learning models for solving various problems in physics and scientific research in general.

Indispensable prerequisites: basic concepts in machine learning, python language programming, standard python libraries (numpy, pandas, matplotlib, torch/pytorch )