# Artificial Intelligence Machine Learning and Deep Learning

- Durée : 6 semaines
- Effort : 30 heures
- Rythme: ~5 heures/semaine

## Compétences visées

À la fin de ce cours, vous serez capable de :

- Linear Algebra & Optimization: basic notions of linear algebra and optimization that are required in order to understand the details of Machine Learning and the description of learning algorithms
- Basics of Machine Learning: main principles of Machine Learning
- Shallow & Deep Architectures: learning mechanisms that are used in linear and linear-threshold machines for problems of regularization and classification; neural architectures with hidden neurons and the Backpropagation algorithm with emphasis on Deep Learning
- Feedforward Neural Networks, Convolutional Neural Networks, Recurrent Neural Networks (LSTM): different classes of neural networks with applications to Computer Vision and Natural Language Processing
- Basic Knowledge of Software Libraries for Machine Learning: comprehensive view of the most popular software packages that are used to setup Machine Learning algorithms.

## Description

This course introduces the basic notions of Machine Learning, ranging from Shallow to Deep Learning models.

Machine Learning is a large branch of Artificial Intelligence dealing with the problem of designing machines that learn to make decisions from data, thus going beyond the need of manually coding the decision rules.

As a matter of fact, coding rules is not always straightforward and it does not scale up very well. In many cases it turns out to be easier to collect examples, provide them to the machine, which is supposed to learn them automatically. Nowadays, it is clear that Machine Learning-based solutions are everywhere: We unlock our phone by letting it recognize our face, we use vocal interfaces to interact with our televisions, we receive recommendations of products that might be of interest to us, our cars can automatically recognize pedestrians, while we might ignore the role of machine learning in many other real-world applications.

The emphasis of this course will be on Neural Networks, where a number of units, called neurons, are interconnected to define the structure of a mathematical model that learns from data. We will discuss Deep Neural Networks, where large models with several computational layers are exploited, introducing their application to Vision and Language. The course will start with the mathematical tools that are needed to understand the basics of Machine Learning models, and it will finish with some practical code examples based on the TensorFlow platform.

## Format

Artificial Intelligence Machine Learning and Deep Learning course is organized into 6 modules.

## Prérequis

Basic notions of linear algebra; basic knowledge of the Python language. A gentle introduction to mathematical topics relevant for the discipline is given to facilitate the access to the course.

## Evaluation et Certification

The learner can take an exam at the end of each course.

## Plan de cours

- This module introduces the basic mathematical tools that are needed to profitably follow the course. Basic notions of linear algebra and optimization are compactly introduced which are massively used in the presentation of foundations of Machine Learning as well as in the description of learning algorithms.

- This module introduces the main principles of Machine Learning. It offers an overall view of the current machine learning challenges, after having discussed principles and their concrete application to real-world problems. The module introduces the intriguing topic of induction, by showing its puzzling nature, as well as its necessity in any task which involves perceptual information. Classic evaluation criteria are also described.

- This module describes the learning mechanisms that are used in linear and linear-threshold machines for problems of regularization and classification. The notion of linearly-separability is given to grasp the computational capabilities of shallow models as well to emphasize their limitations. The parsimony principle is introduced along with the basic concept on regularization. Finally, kernel machines are sketched and proposed as challenging shallow architecture.

- This module focuses on neural architectures with hidden neurons and on the Backpropagation algorithm. The emphasis is on deep architectures, that are based on many stacked hidden layers to improve representational and computational capabilities.

- This module focuses on applications of deep networks to Computer Vision and Language Modeling, exploiting Convolutional Neural Networks and Recurrent Neural Networks, respectively.

- This module provides an overview of the most popular software packages that are used to setup Machine Learning algorithms, with emphasis on the case of TensorFlow. Some practical examples of implementation of deep neural networks are included.