Plan du cours
Le cours est séparé en trois journées distinctes, la troisième étant facultative.
Jour 1 - Machine Learning & Deep Learning : concepts théoriques
1. Introduction IA, Machine Learning & Deep Learning
- Historique, concepts fondamentaux et applications usuelles de l’intelligence artificielle loin des fantasmes portés par ce domaine
- Intelligence collective : agréger une connaissance partagée par de nombreux agents virtuels
- Algorithmes génétiques : faire évoluer une population d’agents virtuels par sélection
- Machine Learning usuel : définition.
- Types de tâches : supervised learning, unsupervised learning, reinforcement learning
- Types d’actions : classification, régression, clustering, estimation de densité, réduction de dimensionalité
- Exemples d’algorithmes Machine Learning : Régression linéaire, Naive Bayes, Random Tree
- Machine learning VS Deep Learning : problèmes sur lesquels le Machine Learning reste aujourd’hui l’état de l’art (Random Forests & XGBoosts)
2. Concepts fondamentaux d’un réseau de neurones (Application : multi-layer perceptron)
- Rappel de bases mathématiques.
- Définition d’un réseau de neurones : architecture classique, fonctions d’activation et de pondération des activations précédentes, profondeur d’un réseau
- Définition de l’apprentissage d’un réseau de neurones : fonctions de coût, back-propagation, stochastic gradient descent, maximum likelihood.
- Modélisation d’un réseau de neurones : modélisation des données d’entrée et de sortie selon le type de problème (régression, classification...). Curse of dimensionality. Distinction entre donnée multi-features et signal. Choix d’une fonction de coût selon la donnée.
- Approximer une fonction par un réseau de neurones : présentation et exemples
- Approximer une distribution par un réseau de neurones : présentation et exemples
- Data Augmentation : comment équilibrer un dataset
- Généralisation des résultats d’un réseau de neurones.
- Initialisations et régularisations d’un réseau de neurones : L1/L2 régularization, Batch Normalization...
- Optimisations et algorithmes de convergence.
3. Outils usuels ML / DL
Une simple présentation avec avantages, inconvénients, position dans l’écosystème et utilisation est prévue.
- Outils de gestion de donnée : Apache Spark, Apache Hadoop
- Outils Machine Learning usuel : Numpy, Scipy, Sci-kit
- Frameworks DL haut niveau : PyTorch, Keras, Lasagne
- Frameworks DL bas niveau : Theano, Torch, Caffe, Tensorflow
Jour 2 - Réseaux convolutionnels et récurrents
4. Convolutional Neural Networks (CNN).
- Présentation des CNNs : principes fondamentaux et applications
- Fonctionnement fondamental d’un CNN : couche convolutionnelle, utilisation d’un kernel, padding & stride, génération de feature maps, couches de type ‘pooling’. Extensions 1D, 2D et 3D.
- Présentation des différentes architectures CNN ayant porté l’état de l’art en classification d’images : LeNet, VGG Networks, Network in Network, Inception, Resnet. Présentation des innovations apportées par chaque architecture et leurs applications plus globales (Convolution 1x1 ou connexions résiduelles)
- Utilisation d’un modèle d’attention.
- Application à un cas de figure de classification usuel (texte ou image)
- CNNs pour la génération : super-résolution, segmentation pixel à pixel. Présentation des principales stratégies d’augmentation des feature maps pour la génération d’une image.
5. Recurrent Neural Networks (RNN).
- Présentation des RNNs : principes fondamentaux et applications.
- Fonctionnement fondamental du RNN : hidden activation, back propagation through time, unfolded version.
- Evolutions vers les GRU (Gated Recurrent Units) et LSTM (Long Short Term Memory). Présentation des différents états et des évolutions apportées par ces architectures
- Problèmes de convergence et vanising gradient
- Types d’architectures classiques : Prédiction d’une série temporelle, classification...
- Architecture de type RNN Encoder Decoder. Utilisation d’un modèle d’attention.
- Applications NLP : word/character encoding, traduction.
- Applications Vidéo : prédiction de la prochaine image générée d’une séquence vidéo.
Jour 3 - Modèles générationnels et Reinforcement Learning
6. Modèles générationnels : Variational AutoEncoder (VAE) et Generative Adversarial Networks (GAN).
- Présentation des modèles générationnels, lien avec les CNNs vu en jour 2
- Auto-encoder : réduction de dimensionalité et génération limitée
- Variational Auto-encoder : modèle générationnel et approximation de la distribution d’une donnée. Définition et utilisation de l’espace latent. Reparameterization trick. Applications et limites observées
- Generative Adversarial Networks : principes fondamentaux. Architecture à deux réseaux (générateur et discriminateur) avec apprentissage alterné, fonctions de coût disponibles.
- Convergence d’un GAN et difficultés rencontrées.
- Convergence améliorée : Wasserstein GAN, BeGAN. Earth Moving Distance.
- Applications de génération d’images ou de photographies, génération de texte, super-
résolution.
7. Deep Reinforcement Learning.
- Présentation du reinforcement learning : contrôle d’un agent dans un environnement défini par un état et des actions possibles
- Utilisation d’un réseau de neurones pour approximer la fonction d’état
- Deep Q Learning : experience replay, et application au contrôle d’un jeu vidéo.
- Optimisations de la politique d’apprentissage. On-policy && off-policy. Actor critic architecture. A3C.
- Applications : contrôle d’un jeu vidéo simple ou d’un système numérique.
Pré requis
Niveau ingénieur