Formation Deep Learning

Apprenez à intégrer le Deep Learning dans vos applications grâce aux outils open source et aux plateformes cloud.

Prix (Formation inter-entreprise)

1800€ HT / personne

Durée

2 jours

Dates

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Cette formation vous permettra d’acquérir les bases du Deep Learning. A la fin des 2 jours, vous saurez créer des réseaux de neurones profonds et les optimiser. Vous apprendrez également dans quels problèmes les utiliser, en les comparant à d'autres approches modernes de Machine Learning. Tout au long de la formation, vous mettrez en pratique la théorie sur des problématiques de difficulté croissante, en utilisant la plateforme BigML puis les librairies Python TensorFlow, Keras et scikit-learn (plus bas niveau, mais open source et permettant plus de contrôle) sur des serveurs dotés de GPU.

Cette formation est destinée à un public déjà expérimenté en Machine Learning qui souhaite approfondir sa connaissance pratique du domaine et découvrir l'apprentissage de réseaux de neurones profonds ("Deep Learning", sous-ensemble du Machine Learning).

La formation Machine Learning est idéale s'il vous manque les fondamentaux pour suivre cette formation.

Les objectifs

  • Comprendre le fonctionnement des réseaux de type "perceptron" à une et plusieurs couches, et les liens avec la technique classique de régression logistique.
  • Comprendre les principes, avantages et limites du Deep Learning (apprentissage de réseaux de neurones profonds). Savoir quand l'utiliser en pratique, et quand privilégier d'autres approches modernes de Machine Learning (ex: XGBoost).
  • Utiliser des réseaux de neurones dans des pipelines de Machine Learning, puis les optimiser via la recherche intelligente d'hyper-paramètres (stratégies "AutoML").
  • Appliquer les réseaux de neurones à la classification d'images grâce aux structures convolutives.
  • Comprendre et mettre en pratique le Transfer Learning: réutiliser un réseau appris sur un grand jeu de données, pour cibler de nouveaux problèmes sur les mêmes entrées.

Pré-requis

  • Connaissances de base de l'apprentissage supervisé, ses possibilités et limites; procédure d'évaluation, cross-validation, métriques de performance (pour regression, hard-classification et soft-classification), problématique d'overfitting.
  • Connaissances en programmation et de la syntaxe basique du langage Python. Des exemples de code sont fournis tout au long de la formation; les exercices peuvent être réalisés en combinant et en adaptant les briques de code fournies. Consulter Learn Python de Codeacademy et Introduction to Python programming de Robert Johansson (en particulier les sections Python program files, Modules, Assignment, Fundamental types, Control Flow et Functions) pour apprendre ou réviser les bases de Python.
  • Bonne compréhension de l'anglais écrit (la formation est en français mais les slides, notebooks, code et autres ressources sont en anglais).
  • Des connaissances basiques d’algèbre, de statistiques, et de calcul scientifique (en particulier la méthode de descente de gradient) peuvent être appréciables pour une meilleure compréhension de certaines parties théoriques.
  • Une connaissance du fonctionnement des modèles de type arbre de décision et des techniques d'ensemble (bagging, boosting) peut être appréciable dans le cadre de la comparaison des réseaux de neurones à d'autres approches.
  • Ordinateur portable à apporter.

Le programme de la formation Deep Learning

Jour 1

  • Révisions de Machine Learning via l'utilisation de code scikit-learn et exercice pratique faisant intervenir tous les pré-requis. Introduction aux notebooks Jupyter.
  • Logistic Regression:
    • Rappel sur les "soft-classifiers"
    • Mesure de qualité des probabilités de classes : log-loss
    • Modélisation des probabilités via une fonction linéaire des entrées et la fonction logistique; apprentissage via la méthode de descente de gradient ("gradient descent")
    • Visualisation avec Partial Dependence Plots et interprétation
    • Formulation de la régression logistique comme réseau neuronal: algorithme du perceptron à une couche
    • Présentation de la librairie open source de calcul numérique TensorFlow et implémentation du perceptron.
  • Réseaux de neurones "feed-forward":
    • Fonctionnement des réseaux de neurones de type fully-connected Multi-Layered Perceptron (perceptron à plusieurs couches entièrement connectées); hyper-paramètres; illustration avec TensorFlow Playground
    • Apprentissage de réseaux avec Keras; suivi de l'apprentissage avec TensorBoard; utilisation au sein de scikit-learn
    • Deep Learning (DL) automatisé avec l'outil BigML
    • Export des modèles en vue de leur déploiement.

Jour 2

  • Pipelines de ML/DL et benchmarks:
    • Chaînage d'opérations d'enrichissement et sélection de features, normalisation/standardisation, modélisation
    • Techniques d'optimisation d'hyper-paramètres des pipelines: grid search, random search et "smart search" via l'utilisation de la librairie hyperopt (utilisée pour l'automatisation du ML/DL)
    • Comparaison de réseaux profonds à d'autres approches état de l'art (XGBoost) sur divers datasets de classification et régression.
  • Réseaux convolutifs et application à l'imagerie:
    • Fonctionnement des Convolutional Neural Networks: couches de convolution et de pooling
    • Mise en pratique et visualisation sur MNIST (reconnaissance de chiffres manuscrits sur scans de 18x18 pixels).
  • Introduction au Transfer Learning:
    • Principe de réutilisation de modèles existants de classification d'images (détection d'objets), pour extraire des features haut-niveau ("embeddings") et créer de nouveaux modèles plus rapidement
    • Mise en pratique sur un challenge Kaggle de classification d'images.
  • Aller plus loin avec le Deep Learning:
    • Récapitulatif
    • Limites du Deep Learning
    • Conseils pratiques pour la mise en place du DL dans vos applications
    • Autres structures de réseaux de neurones
    • Ressources pour aller plus loin.

Télécharger le programme

Besoin d'aide ?

Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?


Rappel Email

Nos forces

  • Des formations à taille humaine
  • Des formateurs passionnés
  • Des véritables workshop
Accéder au Manifeste

Nos clients

EADS
La Poste
Boursorama
Moody's Analytics
Banque Postale
INRIA

Nos formations en images

Sass et Compass
CasperJS
Ruby on Rails
Ruby

Formation Deep Learning

Apprenez à intégrer le Deep Learning dans vos applications grâce aux outils open source et aux plateformes cloud.

Cette formation vous permettra d’acquérir les bases du Deep Learning. A la fin des 2 jours, vous saurez créer des réseaux de neurones profonds et les optimiser. Vous apprendrez également dans quels problèmes les utiliser, en les comparant à d'autres approches modernes de Machine Learning. Tout au long de la formation, vous mettrez en pratique la théorie sur des problématiques de difficulté croissante, en utilisant la plateforme BigML puis les librairies Python TensorFlow, Keras et scikit-learn (plus bas niveau, mais open source et permettant plus de contrôle) sur des serveurs dotés de GPU.

Cette formation est destinée à un public déjà expérimenté en Machine Learning qui souhaite approfondir sa connaissance pratique du domaine et découvrir l'apprentissage de réseaux de neurones profonds ("Deep Learning", sous-ensemble du Machine Learning).

La formation Machine Learning est idéale s'il vous manque les fondamentaux pour suivre cette formation.

Les objectifs

  • Comprendre le fonctionnement des réseaux de type "perceptron" à une et plusieurs couches, et les liens avec la technique classique de régression logistique.
  • Comprendre les principes, avantages et limites du Deep Learning (apprentissage de réseaux de neurones profonds). Savoir quand l'utiliser en pratique, et quand privilégier d'autres approches modernes de Machine Learning (ex: XGBoost).
  • Utiliser des réseaux de neurones dans des pipelines de Machine Learning, puis les optimiser via la recherche intelligente d'hyper-paramètres (stratégies "AutoML").
  • Appliquer les réseaux de neurones à la classification d'images grâce aux structures convolutives.
  • Comprendre et mettre en pratique le Transfer Learning: réutiliser un réseau appris sur un grand jeu de données, pour cibler de nouveaux problèmes sur les mêmes entrées.

Pré-requis

  • Connaissances de base de l'apprentissage supervisé, ses possibilités et limites; procédure d'évaluation, cross-validation, métriques de performance (pour regression, hard-classification et soft-classification), problématique d'overfitting.
  • Connaissances en programmation et de la syntaxe basique du langage Python. Des exemples de code sont fournis tout au long de la formation; les exercices peuvent être réalisés en combinant et en adaptant les briques de code fournies. Consulter Learn Python de Codeacademy et Introduction to Python programming de Robert Johansson (en particulier les sections Python program files, Modules, Assignment, Fundamental types, Control Flow et Functions) pour apprendre ou réviser les bases de Python.
  • Bonne compréhension de l'anglais écrit (la formation est en français mais les slides, notebooks, code et autres ressources sont en anglais).
  • Des connaissances basiques d’algèbre, de statistiques, et de calcul scientifique (en particulier la méthode de descente de gradient) peuvent être appréciables pour une meilleure compréhension de certaines parties théoriques.
  • Une connaissance du fonctionnement des modèles de type arbre de décision et des techniques d'ensemble (bagging, boosting) peut être appréciable dans le cadre de la comparaison des réseaux de neurones à d'autres approches.
  • Ordinateur portable à apporter.

Le programme de la formation Deep Learning

Jour 1

  • Révisions de Machine Learning via l'utilisation de code scikit-learn et exercice pratique faisant intervenir tous les pré-requis. Introduction aux notebooks Jupyter.
  • Logistic Regression:
    • Rappel sur les "soft-classifiers"
    • Mesure de qualité des probabilités de classes : log-loss
    • Modélisation des probabilités via une fonction linéaire des entrées et la fonction logistique; apprentissage via la méthode de descente de gradient ("gradient descent")
    • Visualisation avec Partial Dependence Plots et interprétation
    • Formulation de la régression logistique comme réseau neuronal: algorithme du perceptron à une couche
    • Présentation de la librairie open source de calcul numérique TensorFlow et implémentation du perceptron.
  • Réseaux de neurones "feed-forward":
    • Fonctionnement des réseaux de neurones de type fully-connected Multi-Layered Perceptron (perceptron à plusieurs couches entièrement connectées); hyper-paramètres; illustration avec TensorFlow Playground
    • Apprentissage de réseaux avec Keras; suivi de l'apprentissage avec TensorBoard; utilisation au sein de scikit-learn
    • Deep Learning (DL) automatisé avec l'outil BigML
    • Export des modèles en vue de leur déploiement.

Jour 2

  • Pipelines de ML/DL et benchmarks:
    • Chaînage d'opérations d'enrichissement et sélection de features, normalisation/standardisation, modélisation
    • Techniques d'optimisation d'hyper-paramètres des pipelines: grid search, random search et "smart search" via l'utilisation de la librairie hyperopt (utilisée pour l'automatisation du ML/DL)
    • Comparaison de réseaux profonds à d'autres approches état de l'art (XGBoost) sur divers datasets de classification et régression.
  • Réseaux convolutifs et application à l'imagerie:
    • Fonctionnement des Convolutional Neural Networks: couches de convolution et de pooling
    • Mise en pratique et visualisation sur MNIST (reconnaissance de chiffres manuscrits sur scans de 18x18 pixels).
  • Introduction au Transfer Learning:
    • Principe de réutilisation de modèles existants de classification d'images (détection d'objets), pour extraire des features haut-niveau ("embeddings") et créer de nouveaux modèles plus rapidement
    • Mise en pratique sur un challenge Kaggle de classification d'images.
  • Aller plus loin avec le Deep Learning:
    • Récapitulatif
    • Limites du Deep Learning
    • Conseils pratiques pour la mise en place du DL dans vos applications
    • Autres structures de réseaux de neurones
    • Ressources pour aller plus loin.

Télécharger le programme

Le(s) formateur(s)

Louis Dorard

Louis Dorard

Louis Dorard est l’auteur du livre Bootstrapping Machine Learning, General Chair de PAPIs.io (International Conference on Predictive Applications and APIs), et Adjunct Teaching Fellow à UCL School of Management où il enseigne Predictive Analytics. Dans le cadre de son activité de consultant indépendant, Louis accompagne les sociétés dans la mise en place du Machine Learning et la valorisation de leurs données. Par le passé, il a “bootstrappé” plusieurs technologies innovantes en tant que Directeur R&D chez Concept Immo Global et fondateur de eAuteur. Louis est titulaire d’un PhD en Machine Learning de University College London.

Voir son profil détaillé

Suivi de formation en option

A l'issue de la formation, nos formateurs peuvent aussi intervenir pour vous accompagner dans la mise en application des compétences acquises :

  • en répondant à vos questions lors de rendez-vous téléphoniques réguliers
  • en étant présents physiquement à l'amorce du projet
  • en réalisant un audit de vos pratiques quelques semaines/mois après la formation
Cette idée vous intéresse ? Faîtes-le nous savoir pour que nous trouvions la formule adaptée à votre situation.