Master AI courses#

M01 Linear Algebra And Probability#

Course M01-1#

  • Review on vector and matrix and geometric interpretations

  • Review on matrix operations

  • Solving linear equation: Ax = b

  • Elimination, permutation, inverse matrix

  • LU decomposition

slides.pdf

Course M01-2#

  • Vector space and fundamental subspaces

  • Rank, solution with null space component

  • Independence, basis and dimensions

slides.pdf

Course M01-3#

  • Orthogonality and projection

  • Least squares

  • Orthogonal basis

slides.pdf

Course M01-4#

  • Determinant

  • Eigenvalue decomposition (example of Markov matrices)

  • Symmetric and positive definite matrices (Covariance matrix)

slides.pdf

Course M01-5#

  • Singular value decomposition and pseudo inverse

  • Linear transform and change of basis: Fourier and wavelet

  • Weighted least square and statistics

slides.pdf

Course M01-6#

  • Sets, events, probability theory, axioms and derived laws

  • Conditional probability related rules and theorems (including Bayes)

  • Independence

  • Counting and combinatorics

Introduction to probabilities.pdf

slides.pdf

Course M01-7#

  • Random variable (RV) discrete and continuous

  • Function of RV

  • Expectation, variance

slides.pdf

Course M01-8#

  • Normal distribution

  • CDF and derived distribution

  • Joint distributions, multivariate normal and covariance

slides.pdf

Course M01-9#

  • Markov chains, steady state, absorption

  • Law of large number

  • Central limit theorem

slides.pdf

M02 Data Structure and Algorithms for AI#

Course M02-1#

  • Introduction

slides intro.pdf

Course M02-2#

  • Abstract Datastructure

  • Sorting

slides abstract datastructure.pdf

slides sorting.pdf

Course M02-3#

  • Datastructure Implementation

slides implementation.pdf

Course M02-4#

  • Graphs

slides graphs.pdf

Course M02-5#

  • Graphs Algorithms

slides graphs algorithms.pdf

Course M02-6#

  • Dynamic programming

  • Randomized Algorithms

  • Viterbi Algorithm

dynamic programming.pdf

randomized algorithms.pdf

viterbi algorithm.pdf

Course M02-7#

  • Monte carlo search tree

Monte Carlo search tree.pdf

Course M02-8#

  • A* (A-Star) algorithm

A-Star.pdf

M03 Signal Processing#

This course is based on this book: Signals and Systems: Theory and Applications, by Fawwaz T. Ulaby and Andrew E. Yagle

Signal and Systems

Course M03-1#

  • Introduction to Signal Processing

slides.pdf

Course M03-2#

  • Linear Time Invariant System and Convolutions

slides.pdf

Course M03-3#

  • Fourier transform

slides.pdf

Course M03-4#

  • Applications of the Fourier transform

slides.pdf

Course M03-5#

  • Sampling, discrete signals and discrete convolutions

slides.pdf

Course M03-6#

  • Discrete filtering, the Z-transform and frequency response

slides.pdf

Course M03-7#

  • Discrete filtering applications

slides.pdf

Course M03-8#

  • Multi-rate DSP

slides.pdf

Course M03-9#

  • Introduction to Wavelets

slides.pdf

Course M03-10#

  • Review

slides.pdf

M04 Foundations in Statistics#

Course M04-1#

Introduction

intro.pdf

slides intro.pdf

Course M04-2-3#

Discrete distributions

Goals:

  • Master elementary calculations with discrete distributions

  • Gain understanding about the notions of statistical estimator and confidence intervals

  • Understand the effect of summation on independent random variables and get an intuition of the central limit theorem

  • Perform statistical simulation and estimation experiments on a real data set

  • Master the definition and basic properties of the Poisson distribution

  • Understand the law of small numbers and related conditions of applicability

  • Encounter a first example of Maximum Likelihood Estimation

  • Learn that and how one can simulate from the Poisson

slides.pdf

Course M04-4#

Continuous univariate distribution

Goals:

  • Review and manipulate classical univariate continuous distributions

  • Calculate moments, probabilities and related quantities based on PDFs

  • Learn some approaches to simulate univariate continuous distributions

  • Get introduced to Bayesian statistics and the notion of conjugate prior

slides.pdf

Course M04-5#

Parametric statistical estimation

Goals:

  • Understand and be in position to implement Maximum Likelihood Estimation and other estimation approaches in the context of parametric univariate continuous distributions

  • Reinforce knowledge and understanding of Bayesian statistics in the context of parametric univariate continuous distributions

  • Get introduced to selected advanced results on asymptotic distributions of extimators (particularly towards asymptotic normality in the MLE case)

slides.pdf

Course M04-6#

Bayesian estimation

Goals:

  • Understand and be in position to implement basic Bayesian approaches in the context of parametric univariate continuous distributions.

  • Perform a comparison between selected frequentist and Bayesian inference approaches

slides.pdf

Course M04-7#

Basic principles of statistical hypothesis testing

Goals:

  • Introduction to statistical testing and more specifically deriving and applying t-tests in one- and two-sample cases

  • Getting and insight on further standard families of tests (such as chi2-tests or the Kolmogorov-Smirnov test)

slides.pdf

Course M04-8#

Complements on two-sample tests and overview of speech synthesis testing

Goals:

  • Deeper understanding of tests.

  • Acquiring basic knowledge of Bayesian hypothesis testing (if time allows)

  • Conducting testing in a practical context with data stemming from experiments dedicated to comparing tow speech synthesis methods

slides.pdf

speech synthesis slides.pdf

M05 Open Science and Ethics#

Course M05-1#

  • Introduction - AI and the Law

AI and the Law.pdf

AI and IP.pdf

AI liability.pdf

Course M05-2#

  • AI and Data Protection

AI and Data Protection.pdf

AI and Biometrics.pdf

Course M05-3#

  • AI and Ethics

AI and Ethics.pdf

Course M05-4#

  • Reproducibility, What is it?

Reproducibility in Data Science.pdf

The scientific method.pdf

Course M05-5#

  • Data and Workflow Management

Data and Workflow Management.pdf

Course M05-6#

  • Version Control with Git

Revision Control.pdf

Course M05-7#

  • Code sharing with GitHub

Code sharing.pdf

Course M05-8#

  • Unit Testing and Continuous Integration

Unit testing and continuous integration.pdf

Course M05-9#

  • Documentation and Reporting

Documentation and report.pdf

Course M05-10#

  • Packaging, Deployment and Licensing

Packaging and Deployment.pdf

Software Licensing.pdf

M06 Fundamentals in machine learning 1#

Course M06-1#

  • Introduction to Pattern Recognition

  • Linear Regression

Intro.pdf

Linear regression.pdf

Murphy.pdf

Course M06-2#

  • Logistic Regression

Logistics Regression.pdf

Additionals Info.pdf

Course M06-3#

  • Decision Trees

Decision Trees.pdf

Course M06-4#

  • Boosting Theory

Boosting.pdf

Course M06-5#

  • Multi-Layer Perceptron

MLP.pdf

M07 Introduction to image processing and computer vision#

Course M07-1#

  • Introduction and point operations

Slides.pdf

Course M07-2#

  • Histogram Equalization

  • Spatial Filters

Slides.pdf

How to do a 2D convolution by hand.pdf

Course M07-3#

  • Image representation

  • Edges detection

Slides.pdf

Course M07-4#

  • 2D Fourier Transform

Slides.pdf

Course M07-5#

  • Colors and Compressions

Slides.pdf

Course M07-6#

  • Interest Points and Descriptors

Slides.pdf

ORB.pdf

Course M07-7#

  • Calibration

Slides.pdf

Course M07-8#

  • Motion Analysis

Slides.pdf

M08 Fundamentals in machine learning 2#

Course M08-1#

  • Dimensionality Reduction and Clustering Theory

Slides.pdf

Course M08-2#

  • Kernel Methods and Support Vector Machines Theory

Slides.pdf

Course M08-3#

  • Graphical Models Theory

Slides.pdf

Course M08-4#

  • Exact and Approximate Inference in Bayesian Networks (sampling, variational) Theory

Slides.pdf

Course M08-5#

  • Probability Distribution Modelling (EM/GMM) Theory

Slides.pdf

M09 Introduction to Speech Processing#

This course will introduce the students the fundamentals of speech processing and provide them with the key formalisms, models and algorithms to implement speech processing applications such as, speech recognition, speech synthesis, paralinguistic speech processing, multichannel speech processing.

Course M09-1#

Introduction, fundamentals of speech processing

  • Why speech processing ?

  • Speech production, perception

  • Basic phonetics

Slides.pdf

Course M09-2#

Speech signal analysis

  • Sampling, quantization

  • Time domain processing, frequency domain processing

  • Linear prediction, cepstrum, speech coding

Slides.pdf

Introduction to Digital Speech Processing by Lawrence R. Rabiner and Ronald W. Schafer

Course M09-3#

Machine learning for speech processing

  • Static classification

  • Sequence classification

  • Regression

  • Hidden Markov models

Slides.pdf

Course M09-4#

Automatic speech recognition 1

  • Dynamic programming

  • Instance-based speech recognition

  • Hidden Markov model-based speech recognition

  • Evaluation measures

Slides.pdf

On the use, misuse of the therm phoneme

Course M09-5#

Automatic speech recognition 2

Slides.pdf

The Application of Hidden Markov Models in Speech Recognition

Tutorial on HMM and their applications in speech recognition

Evaluating the performance of speech technology systems

Connectionist speech recognition, a hybrid approach by Hervé Bourlard

Course M09-6#

Text to speech synthesis 1

  • NLP for Speech Synthesis

  • Articulatory speech synthesis

  • Formant speech synthesis

  • Concatenative speech synthesis

Slides.pdf

Course M09-7#

Text to speech synthesis 2

  • Statistical parametric speech synthesis

  • Hybrid speech synthesis

  • End-to-end speech synthesis

  • Evaluation

Slides.pdf

An introduction to statistical parametric speech synthesis

Course M09-8#

Paralinguistics

Slides.pdf

M10 Deep Learning#

This course is based on the one from François Fleuret and Andrew Ng. This latter can be found at https://fleuret.org/dlc/ with slides and videos.

A summary of the importants points of the course is available in here: summary.pdf

Course M10-1#

Introduction

  • From neural networks to deep learning.

  • Current applications and success.

  • What is really happening?

  • Tensor basics and linear regression.

  • High dimension tensors.

  • Tensor internals.

slides.pdf

Machine learning fundamentals

  • Loss and risk.

  • Over and under fitting.

  • Bias-variance dilemma.

  • Proper evaluation protocols.

  • Basic clusterings and embeddings.

slides.pdf

Course M10-2#

Multi-layer perceptron and back-propagation

  • The perceptron.

  • Probabilistic view of a linear classifier.

  • Linear separability and feature design.

  • Multi-Layer Perceptrons.

  • Gradient descent.

  • Back-propagation.

slides.pdf

Course M10-3#

Graphs of operators, autograd

  • DAG networks.

  • Autograd.

  • PyTorch modules and batch processing.

  • Convolutions.

  • Pooling.

  • Writing a PyTorch module.

slides.pdf

Course M10-4#

Convolution neural networks

  • Convolutions.

  • Pooling.

  • Writing a PyTorch module.

slides.pdf

Course M10-5#

Initialization and optimization

  • Cross-entropy loss.

  • Stochastic gradient descent.

  • PyTorch optimizers.

  • L2 and L1 penalties.

  • Parameter initialization.

  • Architecture choice and training protocol.

  • Writing an autograd function.

slides.pdf

Course M10-6#

Going deeper

  • Benefits of depth.

  • Rectifiers.

  • Dropout.

  • Batch normalization.

  • Residual networks.

  • Using GPUs.

slides.pdf

Course M10-7#

Autoencoders

  • Transposed convolutions.

  • Autoencoders.

  • Denoising autoencoders.

  • Variational autoencoders.

slides.pdf

Course M10-8#

Computer vision

  • Computer vision tasks.

  • Networks for image classification.

  • Networks for object detection.

  • Networks for semantic segmentation.

  • DataLoader and neuro-surgery.

slides.pdf

Course M10-9#

Under the hood

  • Looking at parameters.

  • Looking at activations.

  • Visualizing the processing in the input.

  • Optimizing inputs.

slides.pdf

Course M10-10#

Generative models

  • Auto-regression.

  • Causal convolutions.

  • Non-volume preserving networks.

slides.pdf

Course M10-11#

Generative adversarial models

  • Generative Adversarial Networks.

  • Wasserstein GAN.

  • Conditional GAN and image translation.

  • Model persistence and checkpoints.

slides.pdf

Course M10-12#

Recurrent models and NLP

  • Recurrent Neural Networks.

  • LSTM and GRU.

  • Word embeddings and translation.

slides.pdf

Course M10-13#

Attention models

  • Attention for Memory and Sequence Translation.

  • Attention Mechanisms.

  • Transformer Networks.

slides.pdf

A01 Biometrics#

This module aims to provide an introduction to Biometrics and an understanding of the main biometric modalities (such as face or fingerprint) and associated recognition algorithms. The module also addresses the security and privacy preservation aspects of biometrics.

Course A01-1#

Introduction to Biometrics

slides.pdf

Handbook of biometrics: Chapter 1

Introduction to biometrics: Chapter 1

Course A01-2#

Evaluation of Biometric Systems

slides.pdf

Course A01-3#

Iris Recognition

slides.pdf

How Iris Recognition works by John Daugman

Handbook of biometrics: Chapter 3

Course A01-4#

Face Recognition

slides.pdf

Course A01-5#

Vascular Recognition

slides.pdf

Course A01-6#

Fingerprint Recognition

slides.pdf

Course A01-7#

Multibiometrics

slides.pdf

Course A01-8#

Speaker Recognition

slides.pdf

Course A01-9#

Presentation Attack Detection

slides.pdf

Course A01-10#

Biometric Template Protection

slides.pdf

A02 Multimodal Computational Sensing of People#

Multimodal processing is at the core of the perception of our world: we see, we hear, we touch, we smell, we taste, and we move. Being able to analyse and combine multimodal streams of data is therefore an inherent ability that should be addressed by artificial intelligence systems, and comprises several core challenges like how to represent multimodal information? how to deal with modality asynchrony? how to fuse complementary or redundant information? how to do co-training of models?

The course will provide an overview of this topic, with some emphasis on the analysis of people and of their behaviors from multimodal sensor streams (with a bias towards vision and audio). We will rely on Bayesian statistical models and deep learning as main modeling tools.

Course A02-1#

Introduction

slides intro.pdf

Course A02-2#

Audio Processing

slides.pdf

complement.pdf

Course A02-3#

Visual Processing

slides.pdf

Course A02-4#

Visual Tracking

slides part 1.pdf

slides part 2.pdf

Course A02-5#

Multimodal Processing

  • Dubbing detection

  • Attention and gaze modeling

slides.pdf

Dubbing detection.pdf

Attention.pdf

A03 Natural Language Processing#

The Natural Language Processing module introduces the basic NLP tasks and the main deep learning models currently being applied to them. We will cover learning about words, sentences, and translations between languages, using representation learning, recurrent neural networks, and attention-based models.

Course A03-1#

Introduction

slides intro.pdf

Course A03-2#

Representation learning for word embeddings

slides.pdf

Course A03-3#

Recurrent neural networks for text

slides.pdf

Course A03-4#

Sequence to sequence models for machine translation

slides.pdf

Course A03-5#

Attention based models of texts

slides part1.pdf

slides part2.pdf

slides part3.pdf

A04 Robotics#

The Robotics Module aims at discovering the recent trends and challenges of AI in robotics, with a specific focus on robot skill acquisition from demonstration, adaptive control, and human-robot collaboration.

With this Module, the students will acquire an overview of applications in robotics requiring the use of AI and associated adaptive control problems. The Module will exploit a large range of models, techniques and algorithms that have already been demonstrated and practiced in previous Modules. Notably, it will rely on notions of multivariate Gaussian distributions, linear regression, weighted least squares, Fourier transforms, Jacobians, gradient descent and constrained optimization. As outcomes, the students will be familiar with the recent trends and challenges of AI in robotics (including practical challenges), robot skill learning from demonstration and exploration, adaptive control, and human-robot collaboration.

Additional lecture : Calinon_MMchapter2019.pdf

Course A04-1#

Introduction

  • A brief history of robotics and autonomous machines

  • Learning from demonstration (observational learning, kinesthetic teaching, correspondence problems)

  • Tools for AI in robotics (simulators, ROS middleware)

slides intro.pdf

Course A04-2#

Movement primitives

  • Multivariate Gaussian distributions

  • Newton’s method

  • Decomposition as a superposition of basis functions

  • Bézier curves and Bernstein polynomials

slides.pdf

Course A04-3#

Movement primitives 2

  • Weighted least squares (recap)

  • Locally weighted regression

  • Probabilistic movement primitives

  • Dynamical movement primitives

slides.pdf

Course A04-4#

Operational space control

  • Forward kinematics

  • Inverse kinematics

  • Task prioritization and nullspace control

slides.pdf

Course A04-5#

Human robot collaboration

  • Linear dynamical systems

  • Torque control, dynamic model (inertia, …), gravity compensation

  • Impedance control

slides.pdf

Course A04-6#

Anticipation and planning

  • Optimal control

  • Linear quadratic regulator (LQR)

  • Linear quadratic tracking (LQT)

slides.pdf

Course A04-7#

Anticipation and planning 2

  • Iterative LQR (iLQR)

  • Differential dynamic programming (DDP)

  • Model predictive control (MPC)

slides.pdf

Course A04-8#

Ergodic control for exploration behaviour

  • Exploration behaviors

  • Decomposition as Fourier series

  • Spatial coverage problems

slides.pdf

Course A04-9#

Manifolds in robotics

  • Representations of orientation data

  • Quaternions

  • Riemannian geometry

slides.pdf

supplement.pdf

Machine Learning Courses IDIAP Python