PLB CONSULTANT : 21. Deep Learning : les fondamentaux
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. QCM en cours et en fin de formation. Auto-évaluation en début et en fin de formation.
Prix
Public
Toute personne intéressée par le Deep Learning et les réseaux de neurones : Ingénieurs, Analystes, Data Scientists, Data Analysts, Data Scientists, Data Steward, Développeurs…
Pré-requis
Avoir des bases en programmation et une bonne maîtrise des outils informatiques et statistiques. Connaitre les bases du Machine Learning est recommandé.
Objectifs pédagogiques
Comprendre les concepts de Machine Learning et l’évolution vers le Deep Learning (réseaux de neurones profonds)
Connaitre les briques de base du Deep Learning : réseaux de neurones simples, convolutifs et récursifs
Appréhender les modèles plus avancés : auto-encodeurs, gans, apprentissage par renforcement
Appréhender les bases théoriques et pratiques d'architecture et de convergence de réseaux de neurones
Comprendre les méthodologies de mise en place de réseaux de neurones, les points forts et les limites de ces outils
Programme détaillé
Jour 1
Introduction au Deep Learning
Relation entre Machine Learning et Deep Learning
Champs d’application et cas d’utilisation
Principes fondamentaux du Machine Learning
Principaux outils et bibliothèques pour le Deep Learning : TensorFlow, Keras, Caffe, etc
Travaux Pratiques
Exercice pratique faisant intervenir tous les prérequis, introduction aux notebooks Jupyter
Découverte de TensorFlow
Installation de TensorFlow et son écosystème, présentation des tensors (tableaux multidimensionnels), des variables et placeholders, présentation des graphes et sessions TensorFlow
Exemples avec les APIs TensorFlow : Estimators, Layers, Datasets…
Opérations sur des ensembles de données telles que la régression et la classification. Visualiser des graphes et courbes d’apprentissage avec TensorBoard
Travaux Pratiques
Création d’un premier modèle de régression en TensorFlow.
Représentation avec TensorBoard pour analyse
Les réseaux neuronaux artificiels ou ANN (Deep Learning)
Présentation du fonctionnement du perceptron à une couche et du perceptron multicouche
Configuration et paramétrage d’un réseau de neurones
Approche logicielle du développement d’un réseau de neurones : activation, désactivation
Conception d’un réseau de neurones en fonction du problème à résoudre
Travaux Pratiques
Construction d’un réseau de neurones simple à 2 entrées (perceptron) pour comprendre la logique de base du fonctionnement d’un réseau de neurones.
Reconnaissance de caractères manuscrits (classification de chiffres) à l’aide d’un réseau de neurones multi-couches.
Quiz de validation des acquis de la 1ère journée
Entraînement d’un réseau de neurones
Présentation des méthodes d’apprentissage : fonction de coût, descente de gradient et rétro-propagation
Importance de la métrologie : choix des paramètres
Présentation de techniques de Data Augmentation et de l’écueil du sur-apprentissage par régularisation
Travaux Pratiques
Compléments du TP de reconnaissance des caractères.
Comparaison des résultats avec différents paramètres d’entrainement : taille de l’ensemble d’entrainement, choix des fonctions d’activation, nombre d’itérations, séparation taille ensemble d’entrainement / de test
Jour 2
Réseaux de neurones convolutifs ou CNN
Présentation des principes de fonctionnement et définition de filtres convolutifs
Développement d’une couche de convolution, d’une couche de pooling
Approche logicielle du développement d’un réseau de neurones convolutifs
Travaux Pratiques
Utilisation d’un réseau de neurones CNN pour la reconnaissance de vêtements
Réseaux de neurones récurrents ou RNN
Présentation des principes de fonctionnement et importance de la disparition du gradient
Approche logicielle du développement d’un réseau de neurones récurrents
Présentation d’une Cellule Long Short-Term Memory (LSTM) et de sa version simplifiée la cellule GRU
Applications des réseaux récurrents aux séries temporelles
Principes fondamentaux du NLP ou Natural Language Processing
Travaux Pratiques
Utilisation d’un réseau de neurones RNN pour le traitement automatique du langage naturel. Mise en place d’un moteur d’analyse des sentiments.
Analyse avancée d’images par les réseaux de neurones convolutifs
Reconnaissance et détection d’objets
Découverte des modèles de l’état de l’art
Principes de fonctionnement, limites et mise en oeuvre
Aller plus loin et analyser des flux vidéos, découvertes d’outils spécialisés et pistes de réflexion
L’exemple de l’outil YOLO
Travaux Pratiques
Mise en oeuvre d’un algorithme qui utilise les CNN (Convolutional neural network) pour la Reconnaissance d’image en temps réel (voiture autonome)
Quiz de validation des acquis de la 2ème journée
Jour 3
Introduction aux auto-encodeurs
Principes fondamentaux des auto encodeurs
Réduction de dimension grâce aux auto-encodeurs
Introduction et découverte des réseaux de génération d’images : Variational Auto Encoders (VAE)
Présentation de l’API avancée de Keras (functional API)
Travaux Pratiques
Construire un auto-encodeur pour la réduction de dimension
Construire un auto-encodeur pour le filtrage et le nettoyage d’images
Apprentissage par renforcement (Deep Learning)
Définir le principe de notation et d’optimisation par objectif
Présentation de la toolkit Gym pour la programmation par renforcement
Principe de la prise de décision par critère de Markov
Principes fondamentaux de l’apprentissage par différence (temporelle, etc)
Travaux Pratiques
Apprendre comme un humain avec une récompense. Illustration avec AlphaGo (IA / jeu de Go) et AlphaStar (IA / jeu vidéo complexe).
Mise en place d’un agent simple sur un jeu Atari (apprentissage par renforcement qui apprend dans un environnement inconnu (dont les règles du jeu), il reçoit des récompenses en fonction de ses choix bons ou mauvais à chaque changement d’état).
Mise en perspective, comparaison et ré-utilisation des réseaux de l’état de l’art
Découverte des réseaux les plus performants
Comprendre ce qui les distingue les uns des autres (points forts et limites de chacun)
Réutiliser, tout ou partie, de réseaux pré-entrainés sur des millions d’images
Principes et fonctionnement du transfert learning
Travaux Pratiques
Utiliser sur ses données un réseau “sur étagère” pré-entrainé - Ré-entrainer sur ses données les couches de décision d’un réseau de l’état de l’art
Performance et mise en production
Exécution sur CPUs, GPUs à l’aide des notebook Jupyter
Librairies de sérialisation et introduction à TensorServing pour la Mise en production
Travaux Pratiques
Déploiement de réseaux sur TensorServing