Self-adaptation, self-organisation, autonomic control, multi-agent systems, agent based modelling, complex systems: multi-agent project (e.g. NetLogo) to model and simulate a self-organising system of your choice (e.g.,social organisations, physical phenomena, neural networks, organisms, eco-systems, swarming behaviour, robotic systems, multi-scale control processes, etc).

The course focuses on various advanced topics in the field. Students will delve into areas such as few-shot learning and domain adaptation, exploring techniques that enable models to learn from limited labeled data and adapt to new domains. The course also covers advanced methods for image and video generation and editing, allowing students to gain insights into cutting-edge approaches for creating and manipulating visual content. Classical vision tasks, including object detection and human pose estimation, are extensively studied, providing students with a strong foundation in fundamental computer vision techniques. Additionally, the course delves into video understanding, equipping students with the necessary tools to extract meaningful information from video data. Lastly, students will explore the integration of vision with other sensors, delving into the fusion of visual information with data from other sensing modalities, opening up new possibilities for perception and analysis. The course will be composed of five lectures and two practical sessions.

Basic notions useful for the Data AI curriculum (algorithms, formal languages, how to use a computer, statistics and logics).

Graph data is ubiquitous. Any system with entities and relationships between them can be represented as a graph. Over the past decade, machine learning algorithms have made remarkable progress in fields such as natural language processing, computer vision, and speech recognition. This success is primarily due to deep neural network architectures' ability to extract high-level features from Euclidean-structured data like images, text, and audio. However, graph data has not received the same level of attention.

In this course, we will explore how to create machine learning models to extract high-level features from graph data, a process known as graph representation learning. The topics covered in this course include graph neural networks (GNNs), such as graph convolutions and graph attention mechanisms, scalable GNNs for big data applications, spatiotemporal data analysis with GNNs, recommender systems, and graph generation. This course also includes laboratory sessions to provide hands-on experience with these concepts.

Good and expressive data representations can improve the accuracy of machine learning problems and ease interpretability and transfer. For vision tasks, handcrafting good data representations, a.k.a. feature engineering, was traditionally hard. Deep Learning has changed this paradigm by allowing to automatically discover good representations from data. This is known as representation learning. The objective of this course is to provide an introduction to representation learning in computer vision and medical imaging applications. 

We will cover the following subjects: 

- Introduction to Representation Learning for Vision  

- Transfer Learning and Domain Adaptation 

- Self-supervised and Contrastive Learning 

- Knowledge Distillation 

- Disentangled Representations 

- Conditional Generative models 

- Attention and Transformers  

- Visualisation and interpretability in Neural Networks 

- Multimodal representation learning and Foundation models