Eventuali maggiori informazioni per le voci sopra elencate
I corsi sopra riportati sono erogati nella laurea magistrale di AI e di Ingegneria Informatica che possono essere attribuiti agli studenti di dottorato che avessero delle lacune pregresse.
I seguenti sono i corsi erogati specificamente per il dottorato nazionale di Intelligenza Artificiale in Sapienza:
Title: Game-Theoretic Approach to Planning and Synthesis
Instructor(s): Giuseppe De Giacomo, Antonio Di Stasio, Giuseppe Perelli, Shufang Zhu (Sapienza University of Rome)
Description: This course introduces AI planning and program synthesis for tasks (goals) expressed over finite traces, instead of states. Specifically, borrowing from Formal Methods we will consider tasks and environment specifications expressed in LTL, as well as its finite trace variant LTLf. We will review the main results and algorithmic techniques to handle planning in nondeterministic domains. Then, we will draw connections with verification, reactive synthesis in particular, together with their game-theoretic solution techniques. The main catch is that working with these logics can be based on devising suitable games and finding strategies, i.e., plans, to win them. Specifically we will cover the following topics: Planning in nondeterministic domain, Temporal Logics, LTL, LTLf, Game-theoretic Techniques, Safety Games, Reachability Games, Games for LTL/LTLf objectives, Reactive Synthesis. This course is partially based on the work carried out in ERC Advanced Grant WhiteMech.
Title: Research Methods
Instructor(s): Diego Calvanese, Matteo Ceccarello, Antonella De Angeli, Enrico Franconi, Marco Montali, Werner Nutt
Description: The course consists of six units, taught in six different weeks by different lecturers from the Faculty of Computer Science of the Free University of Bozen-Bolzano, and covering the following topics:
- Presenting scientific work (Marco Montali)
- Introduction to research and scientific paper reading and writing (Diego Calvanese)
- How to write a research plan (Antonella De Angeli)
- Good scientific writing style (Enrico Franconi)
- Research evaluation (Werner Nutt)
- Empirical/experimental CS research methods (Matteo Ceccarello)
Each unit foresees two lectures, one at the beginning of the week (3-4 hours), and one at the end (2-3 hours). In the first lecture, the lecturer covers key notions about the respective topic and assigns the students a task they have to complete during the week. In the second lecture, the work carried out by the students is discussed, and further important lessons are drawn from the comments provided in the groupwork.
Title: An introduction to foundations of SAT-solving
Instructor(s): Prof. Nicola Galesi
Description: The satisfiability problem (SAT) is the problem to determine whether a given a formula in propositional logic has a satisfying assignment or not
This is a problem of central importance to both the theory of computer science and the practice of automatic theorem proving and proof search.
For theoretical computer science, SAT is the canonical NP-complete problem. In contrast, for practical theorem proving, SAT is the core method for encoding and solving problems. Amazingly, state-of-the-art algorithms for deciding satisfiability - so-called SAT solvers - can routinely handle real-world instances involving hundreds of thousands or even millions of variables. SAT solvers can often run in (close to) linear time and it is no surprise that most companies doing software or hardware verification are now using SAT solvers (for example Intel). Many SAT solvers are openly available from academia or the industry and can be used as a black box with a simple input/output language developed at DIMACS.
The current state-of-the art SAT solvers are based on Resolution (DPLL algorithm) and the so called conflict-driven clause learning (CDCL) extensions of DPLL. Some solvers also incorporate elements of algebraic reasoning like Gaussian elimination and geometric reasoning based on integer programming.
The course aim is to introduce the student to the the theoretical foundations of SAT-solving: (1) understanding Resolution and the core engines of modern SAT-solvers, i.e. DPLL algorithm and CDCL heuristic; (2) understanding the theoretical limitations of such solvers studying the interactions between SAT-solving and Proof Complexity, i.e. the theory of the efficiency of proving theorems; (3) A brief glimpse inside other geometric heuristics to approach SAT-solving.
Title: Machine Learning Security
Instructor(s): Battista Biggio, University of Cagliari, Italy
Description. Today machine-learning algorithms are used for many real-world applications, including image recognition, spam filtering, malware detection, biometric recognition. In these applications, the learning algorithm may have to face intelligent and adaptive attackers who can carefully manipulate data to purposely subvert the learning process. As machine learning algorithms have not been originally designed under such premises, they have been shown to be vulnerable to well-crafted attacks, including test-time evasion (namely, adversarial examples) and training-time poisoning attacks. In addition, the security of machine-learning models deployed as a service (MLaaS) has been questioned through the careful construction of adversarial queries that can reveal confidential information on the machine-learning model itself, the training data used to build it, or even its users. This course aims to introduce the fundamentals of the security of machine learning, the related field of adversarial machine learning, and some techniques to assess the vulnerability of machine-learning algorithms and to protect them from adversarial attacks. We report application examples including object recognition in images, biometric recognition, spam and malware detection.
Title: Machine Learning
Instructor(s): Battista Biggio, University of Cagliari, Italy
Description. The objective of this course is to provide students with the fundamental elements of machine learning and its applications to pattern recognition. The main concepts and methods of machine learning and statistical pattern recognition are presented, as well as basic methods to design and evaluate the performance of a pattern recognition system.
Expected outcomes include an understanding of fundamental concepts and methods of machine learning, statistical pattern recognition and its applications; an ability to analyze and evaluate simple algorithms for pattern classification; an ability to design simple algorithms for pattern classification, code them with Python programming language and test them with benchmark data sets.
Title: Diritto delle tecnologie emergenti/Emerging Technologies Law.
Instructor(s): Simona Cacace – Giorgio Pedrazzi (Università degli Studi di Brescia).
Description. The technological revolution induced by Artificial Intelligence raises
unprecedented legal questions, calling for prompt answers. Those who develop or apply Artificial Intelligence systems shall be introduced to the fundamental legal concepts and regulatory tools to better understand this new scenario and to control its challenges. After completing the course, students should be able to analyze and evaluate the relevance of the concepts investigated during the course and to assess the main legal solutions.
This course offers an interdisciplinary legal and bio-legal dimension in private and
comparative private law, focusing on the biotechnological and healthcare fields, as well as the legal issues connected to safety, precaution and liability of the man-machine interaction.
Title: Adversarial Machine Learning
Instructor(s): Fabio Roli and Luca Demetrio
Description:Today machine-learning algorithms are used for many real-world applications, including image recognition, spam filtering, malware detection, biometric recognition. In these applications, the learning algorithm can have to face intelligent and adaptive attackers who can carefully manipulate data to purposely subvert the learning process. As machine learning algorithms have not been originally designed under such premises, they have been shown to be vulnerable to well-crafted attacks, including test-time evasion and training-time poisoning attacks (also known as adversarial examples). In particular, the security of cloud-based machine-learning services has been questioned through the careful construction of adversarial queries that can reveal confidential information on the machine-learning service and its users. This course aims to introduce the fundamentals of the security of machine learning, the related field of adversarial machine learning, and some techniques to assess the vulnerability of machine-learning algorithms and to protect them from adversarial attacks. We report application examples including object recognition in images, biometric identity recognition, spam and malware detection, with hands-on on attacks against machine learning and defences of machine-learning algorithms using the SecML software library,
Title: Effective habits and skills for successful young scientists
Instructor(s): Fabio Roli
Description: Although tons of books on effective habits and soft skills have been published, they have not been thought for scientists, and, therefore, issues that are relevant for them are not easily available. This short course aims to collect spread ideas and place them in a coherent framework useful for young scientists and provide a small tactical guide for scientists at the first stages of their career. First, I review the main concepts of Steve Covey's personal and time management paradigm, the inspirational speeches of the late Professor Randy Pausch, and the paradigm of atomic habits of James Clear, and discuss their utility for daily activity of a young scientist. Then, I focus on a few practical skills, namely, on how to write a great paper and give a great talk. I try to convey the message that succeeding in science and technology requires skills and habits beyond the pure intelligence and intellectual abilities, and that good
habits and skills of personal and time management are extremely important for young scientists.
Title: Mobile Security
Instructor(s): Alessio Merlo and Luca Verderame
Description: The course provides an overview of the main topics related to the security of mobile devices and applications. The course offers an insight into the leading mobile operating systems (i.e., Android and iOS) and their security issues. Moreover, the course discusses emerging mobile security technologies (e.g., Host-Based Card Emulation and Trusted Execution Environment), security threats, and possible countermeasures. The second part of the course will cover the security of Mobile Applications, focusing on state-of-the-art frameworks and methodologies for the vulnerability assessment of Android applications. Finally, the course will provide specific hands-on sessions with tools and techniques for the vulnerability assessment of Android applications.
Title: An Introduction to Prolog
Instructor(s): Viviana Mascardi
Description: "In the summer of 1972, Alain Colmerauer and his team in Marseille developed and implemented the first version of the logic programming language Prolog. Together with both earlier and later collaborations with Robert Kowalski and his colleagues in Edinburgh, this work laid the practical and theoretical foundations for the Prolog and logic programming of today. Prolog and its related technologies soon became key tools of symbolic programming and Artificial Intelligence."
This statement is taken from the "The Year of Prolog" web page, http://prologyear.logicprogramming.org/: the 50th anniversary of Prolog has been celebrated in 2022 with scientific and dissemination initiatives all over the world. Keeping the momentum going, we offer a compact introductory course on Prolog, with practical exercises and an overview of the existing and future Prolog applications. In particular, we highlight the potential of Prolog for implementing cognitive intelligent agents and for supporting eXplainable Artificial Intelligence (XAI) thanks to its declarative flavor.
Title: Approximate Computing for low-energy, high-speed and area-efficient digital circuits and systems: when “good enough” is better than “good”
Instructor(s): Prof. Fabio Frustaci (firstname.lastname@example.org)
Description: The design optimization of digital circuits and systems typically consists in a three-dimensional trade-off among energy dissipation, area occupancy and computational speed. In the last decade, breaking such a trade-off has become very challenging since the breakdown of Dennard’s scaling, and as Moore’s and Koomey’s laws approaching their end. Therefore, newer devices, architectures, and design techniques have become extremely urgent, also due to the strict energy, speed and area-efficiency requirements dictated by the emerging Internet-of-Things applications. Approximate Computing (AC) is a recent design paradigm aiming to fill the gap between requirements and capabilities of current platforms. It consists in introducing a new dimension in the optimization space, accuracy, to significantly reduce the hardware complexity, energy consumption and computational time. AC can be applied in several application areas that are intrinsically resilient to computational errors, e.g., machine learning, sensor signal processing, data mining and multimedia. The degree of accuracy can span across all the vertical computing stack, starting from the algorithm level and going down to the circuit and device levels. Preferably, a cross layer interaction should be enabled to optimize the energy-area-speed-accuracy trade-off.
In this course, we will describe the most recent techniques based on AC, focusing in particular on arithmetic circuits at transistor and logic level and on memory architectures. Moreover, we will present a general overview about how approximation can be leveraged at software and device levels. Finally, we will discuss about several application examples and computing platforms where AC can be applied, thus underlining the interdisciplinarity of such a design paradigm.
Title: Deep Learning and Statistical Learning
Instructor(s): Prof. Giuseppe Manco (email@example.com)
Description: The course is aimed at reviewing a set of statistical and feature learning methods and tools which can be exploited in data science. We will start by studying probabilistic modeling, the problems of inference and parameter estimation, generative vs. discriminative learning, Bayesian learning. Within this framework, we will focus on the most prominent machine learning methods: Neural networks and Feature learning, latent variable modeling. We shall apply these mathematical tools to the problems of supervised, semi-supervised and unsupervised learning and to scenarios such as text and document modeling, image and video analysis, social network analysis, recommendation.
Title: Digital technologies and artificial intelligence law
Instructor(s): Prof. Pasquale Laghi (firstname.lastname@example.org)
Description: The course focuses on the main legal aspects of digital technologies and artificial intelligence. The first part of the course is dedicated to general aspects, relating to the development of a legal notion of cyberspace and the analysis of different regulatory approaches. Subsequently, having acknowledged the disciplinary inadequacy of formal legislation, the issue of non-regulatory based regulatory systems is addressed. In this sense, the need for an ""interdisciplinary"" approach is recognized that can lead to the definition of legal rules ""modeled on the nature of things"" to be regulated. Specifically, the disciplinary potential of design is analyzed, i.e. the suitability of design standards in regulating digital phenomena in a much more incisive way than the laws in a formal sense. From the examination of the advantages and criticalities of such an approach - especially with regard to respect for fundamental rights and freedoms - we come to envisage a new model of regulation, based on the interaction between legal and technical factors, the result of which is to to arrive at the creation of a so-called norm ""techno-juridical"" which derives its binding character, in the light of the principle of horizontal subsidiarity. The second part of the course addresses the problem of the so-called cybersecurity, with regard to both digital activities and more specifically artificial intelligence. We come to the definition - also in the light of the main European regulatory interventions - of a ""proceduralized"" and ""multiphase""security model, based on the subsidiary interaction between legal, technical and organizational-managerial factors. Subsequently, the issue of responsibility deriving from the production and management of artificial intelligence systems is dealt with, both in terms of existing legislation and in terms of European regulatory proposals.
Title: IoT and Edge AI
Instructor(s): Prof. Antonio Iera, Prof. Claudio Savaglio (email@example.com)
Description: The course is organized in 4 sessions, two mainly theoretical and two mainly practical, we will try to trace the approach path from IoT to edge computing, presenting, as a main result, the concept of TinyML, i.e. the use of machine learning in 1 mW devices.
We will start with a description of what the IoT is and what are its various components, focusing on two relevant communication protocols: LoRaWAN, as a low power communication standard and MQTT as a widely used protocol to connect devices and services in a more flexible way than the classical REST (HTTP) based solutions.
The next step, in the first practical session, will be to provide an overview of the data path, from the sensors through the different network components, gateways, networks servers, visualization platforms up to the "TIG stack" used to facilitate the collection, storage, visualization and generation of alerts from time series data.
The next two sessions will justify the need for edge computing in IoT and describe TinyML, which is a rapidly growing area where machine learning technologies and applications, including hardware, algorithms and software, are capable of performing sensor data analysis on devices with extremely low power consumption, typically in the mW range and below, and thus enabling a variety of broader use cases targeting battery-powered devices. The theory session will describe the process of using the TensorFlow Lite libraries and devices such as the Arduino Nano 33 BLE Sense and the hands-on session will use the Edge Impulse platform, currently the leading development platform for ML on edge devices, to build a real-time model using the accelerometer, microphone or camera of a smartphone, how to collect data and train machine learning algorithms, and observe what happens live on the platform
Title: Declarative Problem-solving with Answer Set Programming
Instructor(s): Francesco Ricca, Simona Perri
Description: Answer Set Programming (ASP) is a powerful AI formalism for knowledge representation and reasoning that has been developed in the field of logic programming and nonmonotonic reasoning. After more than twenty years after the introduction of ASP, the theoretical properties of the language are well understood and the solving technology has become mature for practical applications. The high modeling power of ASP makes it ideal for solving several complex problems arising in both academic and industrial applications of AI. Problems are modeled and solved in a declarative fashion by specifying a set of logic rules and resorting to an ASP system to compute solutions. In this course, we first present the basics of the ASP language and ASP solving techniques, and, then, we concentrate on its usage for knowledge representation and reasoning in several contexts. In particular, we illustrate methodologies and tools for the development of ASP-based applications, possibly mentioning some relevant extensions of ASP for ontological reasoning, combinatorial optimization, planning, neural-symbolic reasoning, explainable AI, and more. We also report on the development of both academic and industry-level applications of ASP developed with the ASP system DLV.
Title: An introduction to GPGPU Programming in CUDA,
Instructor(s): Donato D'Ambrosio
Description. Nvidia CUDA is currently one of the most diffuse technologies and programming models for General-Purpose computing on Graphics Processing Units (GPGPU), representing one of the best options to speed up computer applications in various scientific fields, including Numerical Simulation, Artificial Intelligence, and Data Science. This course provides an operative introduction to CUDA through simple examples. It also illustrates the parallelization of the SciddicaT cellular automaton, a simple but effective Computational Fluid Dynamics (CFD) model for landslides simulations.
Title: An introduction to Kubernetes
Instructor(s): Mario Alviano
Description: Kubernetes is widely used in data-centers to abstract away the hardware infrastructure, and to expose a whole data-center as a single enormous computational resource. Software components, often microservices, are deployed and run without having to know about the actual servers underneath. Kubernetes autonomously selects a server for each component, deploys it, and enables it to easily find and communicate with all the other components of your application. This course introduces the main concepts required to effectively develop and run applications in a Kubernetes environment.
Title: Inductive and deductive AI techniques: overview, limitations, innovative solutions and real-world applications,
Instructor(s): Jessica Zangari
Description. In recent years, AI techniques can be envisioned in two main classes: inductive and deductive ones. The course will survey some innovative approaches in both categories, also discussing their limitations. On the inductive side, the course will mainly discuss Deep Learning (DL), a widely used approach in several application scenarios thanks to its ability in identifying complex relationships within huge amounts of data and in detecting latent patterns; in particular, the course will present DL-based applications in healthcare contexts. However, the lack of proper means to explain the decision-making process is still a relevant issue in DL approaches, while deductive methods are somehow complementary, as they are often ”explainable by design”. The course will hence provide an overview of them, mostly focusing on Answer Set Programming (ASP). In particular, the course will cover very recent advancements in incremental evaluation techniques purposely conceived to further extend ASP applicability. Indeed, these new ASP features make it attractive also in real-world contexts such as Stream Reasoning.
Title: Artificial Intelligence in highly dynamic environments
Instructor(s): Giovambattista Ianni firstname.lastname@example.org
Description: The course introduces the audience to techniques of design and integration of automated reasoning modules in unknown environments, possibly partially structured or not structured at all, where requirements on timing performance are very strict. These environments include stream reasoning, robotic applications, and real-time videogames. The course overviews reactive reasoning systems, deliberative systems, hybridizations of these, and integration techniques in real applications; then some use cases, related to videogames and robotics are described. A collective discussion on related open and challenging research problems closes the course.
Title: Parallel Computing Optimization Techniques in Computational Science,
Instructor(s): William Spataro email@example.com
Description: Computational Science is a field of Mathematics that adopts techniques, tools, and theories by exploiting the computing power of advanced parallel computers. Typical applications are found Science and Engineering, and regard among others Complex Systems, Bioinformatics, Data Science, and Modelling and Simulation in general. After a rapid overview of parallel computing and High Performance Computing paradigms, the course presents optimization techniques that are adopted to further speed-up di performances of computational models on parallel machines. As support, simple computational fluid dynamics (CFD) models, referred to landslide and lava flow simulation, are adopted to illustrate the presented methods.
Title: Logical Methods for Data Management
Instructor(s): Marco Console firstname.lastname@example.org
Description. Mathematical logic played an active role in the development of data management systems. Tools from logic are used, for example, to define data models and query languages and to study the complexity of several data management tasks. In this course we will survey a set of tools from mathematical logic relevant for data management and present some of their applications. Topics will include:
Logical formalization of the relational model
Circuital complexity of query answering
Logical definability of queries
At the end of the course, students will have a basic understanding of these tools and their scope of application.
Title: Deductive and Inductive Reasoning over Knowledge Graphs
Instructor(s): Gianluca Cima
Description: Knowledge Graphs are graphs intended to capture domain knowledge of real-world scenarios, whose nodes represent entities of interest and whose edges represent relations between these entities. The main purpose of this course is to provide a comprehensive introduction to Knowledge Graphs, with the specific goal of understanding how to reason over them using both deductive and inductive techniques.
Modalità di scelta del soggetto della tesi
La scelta del soggetto della tesi viene effettuata dallo studente alla fine del primo anno di corso. Nel periodo marzo-aprile lo studente, oltre a seguire i corsi del suo piano formativo, ha la possibilità di confrontarsi con tutti i membri del collegio, in primis con il supervisore. Entro giugno lo studente presenta una pre-proposta dell'area di ricerca e della tematica della tesi, che consentirà al collegio di definire entro luglio il "panel" per lo studente, costituito da supervisore, co-supervisore e almeno 3 membri oltre i supervisori, per tenere conto delle diversità di sede e di discipline. Entro settembre lo studente presenta la vera e propria proposta di tesi, con una presentazione al collegio che illustra anche le attività annuali condotte.
Modalità delle verifiche per l'ammissione all'anno successivo
Come detto, entro settembre lo studente presenta al collego sia la proposta di tesi, sia le attività didattiche e di ricerca condotte nel primo anno. Gli obblighi didattici comprendono un minimo di 140 ore complessive per:
- attività formative primarie: la frequenza ed il superamento del relativo esame, di tre o più corsi le cui ore di lezione frontale siano complessivamente almeno 80. Tale corsi sono scelti preferibilmente fra quelli che figurano nell’offerta didattica del nostro corso di dottorato e in quelli degli altri 4 dottorati del PhD-AI.it
- ulteriori attività formative: la frequenza di almeno 60 ore (in aggiunta a quelle delle attività primarie) di attività formative appositamente erogate per i corsi di dottorato dalle istituzioni universitarie o di ricerca del PhD-AI.it (o da altre istituzioni italiane o estere, previa autorizzazione del collegio)
- nell’ambito delle ulteriori attività: la frequenza di due scuole dottorali del PhD-AI.it, ricompresa nelle 60 ore di cui sopra.
All fine del primo anno lo studente deve preferibilmente aver terminato le attività didattiche, sebbene il collegio possa valutare eccezioni a questa regola. In quest'ultimo caso le attività didattiche del piano formative devono essere completate alla fine del secondo anno.