Educational objectives This course will cover aspects of earthquake physics in connection with data science and artificial intelligence methods to forecast and predict brittle failure using machine learning (ML) and deep learning (DL). We will develop the theory of friction constitutive laws for tectonic faulting and show how fault zone acoustic emissions (laboratory foreshocks) can be used to predict lab earthquakes. The physics of frictional failure and the resulting spectrum of slip modes will be connected to machine learning methods used to auto-recognize failure events in elastic wave (seismic, acoustic) data. The physics of precursory changes in fault zone elastic properties will be developed in the context of ML and DL methods to predict fault zone stress state and the timing and magnitude of lab earthquakes. Topics will include elasticity, faulting, rate and state friction laws, the state of stress in Earth's crust, frequency magnitude relations for failure events, earthquake scaling laws, the seismic cycle, and earthquake prediction.
|
Educational objectives General objectives:
The goal of Computer Architectures for AI is to give an overview of the available hardware solutions used for the execution of the main AI algorithms. The course starts from the description of general-purpose computing architecture, highlighting its main characteristics and performance limits.
After, various hardware solutions for AI useful to overcome the limitations of general-purpose architectures are presented. The related programming paradigms of the different architectures for AI will also be introduced.
Specific objectives:
The course deals with the main hardware architectures used for AI. In particular, the following architectures will be presented:
- Multicore processors and parallel programming paradigm via OpenMP.
- GPU and massively parallel programming paradigm via CUDA.
- TPU and programming with TensorFlow
- FPGA and programming with OpenCL / HLS
Knowledge and understanding:
The student will acquire knowledge on the organization of the various hardware architectures used for AI.
Furthermore, the student will learn how to program such architectures to execute algorithms for AI.
Application of knowledge and understanding:
The student will be able to develop AI algorithms on different hardware architectures and to evaluate the performances achievable on different architectures.
Autonomy of judgment:
The student will be able to understand the issues related to programming AI algorithms and to estimate the achievable performance on different hardware architectures.
Communication skills:
The course does not have explicit objectives on communication skills, except to train in the rigorous exposition of technical topics.
Learning ability:
The course allows the students to understand the differences between the various hardware architectures for AI and offers the tools to choose the most suitable architecture according to the application scenario.
|
Educational objectives General objectives
To provide the student with the fundamental formal notions of two basic aspects of the preparation of an artificial intelligence scientist, mathematical logic and probabilistic methods in computer science. The two sections of the course are dedicated to these two aspects. The first part of the course aims to introduce mathematical logic as a powerful tool for modeling and formally reasoning on different aspects of artificial intelligence, in particular data management, knowledge representation, querying and data review. and knowledge. The second part of the course aims to illustrate some fundamental aspects of the
probabilistic methods in computer science such as the design and analysis of probabilistic algorithms, sampling and probabilistic allocation methods, stochastic processes and some of their applications to data analysis and machine learning.
Specific goals
Knowledge and understanding
For to the first part of the course, the student learns the fundamental notions of mathematical logic, the principles according to which the validity of arguments is judged, the relationships between arguments are analyzed and inferential relationships are evaluated, such as deduction, induction and abduction, among them. Compared to the second part of the course, the student learns the basic notions of the design of probabilistic algorithms and their analysis and acquires the basics to apply these notions to the design of fundamental algorithms in Artificial Intelligence, including search and sorting algorithms, algorithms on networks and graphs, classification algorithms, clustering and machine learning.
Apply knowledge and understanding
The student gains a deep understanding of the role of logic in various aspects of artificial intelligence and basic knowledge to formalize a problem in logic, analyze logical theories and reason on related inferences, build logical theories for modeling knowledge bases of medium complexity, specify logic queries of databases and knowledge base and translate the specification of simple computations into logic programs.
The student acquires a deep understanding of the role of probability in the design of algorithms and in data analysis and acquires basic knowledge to carry out analysis of probabilistic algorithms, define probabilistic algorithms for problems of medium complexity, apply fundamental methods such as Monte Carlo method, Markov chains, dynamic programming and Bayesian models in different contexts, such as sequences, graphs, networks, machine learning, classification and clustering.
Critical and judgmental skills
The student is able to evaluate the validity of statements and arguments, the coherence of a set of axioms in a knowledge base, the adequacy of the formulation of a computation that extracts data from a data and knowledge base, the correctness of a logic program with respect to the specification of certain properties. The student is able to analyze probabilistic algorithms, to evaluate the effectiveness of probabilistic and dynamic optimization methods for algorithmic and Artificial Intelligence problems and to judge the quality of the application of machine learning, classification and clustering algorithms.
Communication skills
The practical activities and exercises of the course allow the student to acquire crucial tools to communicate and share the critical evaluation of logical tools and languages and their role in artificial intelligence and algorithmic methods and their role in different important contexts of Artificial Intelligence.
Learning ability
In addition to the classic learning skills provided by the theoretical study of the basic topics covered in the course, the methods used for the course, in particular the programming activities, stimulate the student to autonomously study some topics, to work in groups and to develop concrete applications of the concepts and techniques learned during the course.
|
Educational objectives General goals: to acquire the basic skills for the numerical treatment of ordinary and partial differential equations related to the study of mathematical models for some applications such as traffic, image processing and vision.
Specific goals
Knowledge and understanding: Students who have passed the exam will have a good basic knowledge of the numerical methods studied both from a theoretical point of view and from the implementation side and will be able to understand how to structure basic algorithms for the simulation of mathematical differential models.
Applying knowledge and understanding: at the end of the course the student will be able to perform simulations on stationary and evolutionary differential problems obtaining quantitative results for the problems treated. He will also be able to design and implement codes that interact appropriately with a potential user through graphics.
Critical and judgment skills: the student will have the theoretical basis to analyze the mathematical algorithms treated from the point of view of computational efficiency, stability and accuracy. On the one hand, he will be able to apply the skills acquired in the courses of Linear Algebra, Mathematical Analysis to analyze elementary numerical methods and on the other hand he will be able to solve numerically problems proposed in several application fields.
Communication skills: ability to explain and motivate the proposed solution for some problems chosen during the term, in classroom / laboratory practice sessions and in the oral exam scheduled at the end of the course.
Learning skills: the acquired knowledge will allow individual or guided study in an advanced course of numerical analysis for differential problems, related to more specialized aspects that require further mathematical knowledge. Furthermore, the student will be familiar with different IT elements such as the programming language, libraries, compilers, the different software available on the net offering an integrated development environment under different operating systems. These skills will certainly allow him to learn more easily the use of other software of interest for scientific computing and on the job.
|