Base de Mathématiques
Le cours introduira les méthodes mathématiques de base nécessaires à l'apprentissage machine :
- rappel des probabilités : lois discrètres, continues, formules de Bayes
- estimation par maximum de vraisemblance
- entropies (Shanon,différentielle), divergence de Kulback-Liebler, entropie croisée
- régression linéaire, logistique
- techniques de projections linéaires :décomposition en valeurs singulières
Machine Learning
Quelques méthodes usuelles seront introduites :
- Arbre de décision
- K Mean
- SVM
Deep Learning
Deep Learning 1
- Introduction aux réseaux de neurones
- Calcul feedforward
- Notions de loss function, lien avec la vraisemblance
- Algorithme de rétropropagation pour le calcul du gradient
- Introduction aux outils Python : Tensorflow et Keras
- Fonctionnalités pour construire un modèle
TP Deep Learning 1
- Mise en oeuvre sur la base de données MNIST (base de données jouet), problème de classification
- Construction d'un premier réseau de neurones fully-connected
- Entraînement sur les données MNIST
- Représentation et analyse des résultats (courbes ROC, Precision/Recall...)
- Selon la rapidité des étudiants, passage à d'autres bases de données : Fashion MNIST, CIFAR10, CIFAR100
Deep Learning 2
- Surveillance de l'apprentissage et analyse des performances
- Utilisation d'une base de validation pour identifier un surapprentissage
- Métriques d'évaluation des performances : precision, recall, accuracy, F1-score (en fonction de ce qui aura pu être abordé en TP la veille)
- Méthodes de régularisation
- Weight decay
- Dropout
- Batch-Normalization
- Introduction à des structures avancées
- Convolutionnal Neural Networks
- Recurrent Neural Networks, Auto-encoders, Generative Adversarial Networks
TP Deep Learning 2
- Retour sur la base MNIST
- Application de méthodes de régularisation, CNN
- Monitoring de l'apprentissage (overfitting)
- Application à d'autres bases de données (CIFAR10/100, Fashion MNIST)
- Selon la rapidité des étudiants : Autoencodeurs sur MNIST, comparaison avec une ACP ou attaque des réseaux de neurones
Incertitudes et robustesse
- Notions incertitudes aléatoires et épistémiques, incertitude de prédiction
- Mesures de ces incertitudes
- En classification via les notions de théorie de l'information (entropie de Shannon)
- En régression via la variance (dépendant du modèle utilisé)
- Quantification des incertitudes en Deep Learning
- Incertitude aléatoire : modèle probabiliste sur les sorties du réseau, lien avec la vraisemblance
- Incertitude épistémique : modèle probabiliste sur les poids du réseau, lien avec approche bayésienne
- Mise en garde sur l'interprétation de ces notions d'incertitudes
- Validation des incertitudes : courbes de calibration sur un jeu de test
- Robustesse des réseaux de neurones :
- Présentation du problème de sensibilité à des petites perturbations (attaques du réseau)
- Algorithmes de défense : apprentissage antagoniste
- Extension à la régression