Data Science

Formation Deep Learning

avec TensorFlow et Keras

Programme

Cette formation Deep Learning est axée sur la résolution de problèmes pratiques. Son objectif est de proposer aux participants une compréhension détaillée des principales architectures de réseaux de neurones, tout en gardant un focus très pragmatique sur leur utilisation optimale dans différentes conditions, avec de nombreux exemples, retours d’expérience et exercices.

La formation est composée de nombreux modules pratiques, dans lesquels les participants travailleront avec les frameworks TensorFlow et Keras. Ils pourront les utiliser sur différents cas faisant appel à des jeux de données d’images, de sons et de textes.

Tout au long de la formation, les participants seront amenés à penser les frameworks de Deep Learning comme des outils permettant non seulement d’entraîner et d’utiliser des algorithmes de Deep Learning complexes, mais aussi comme des outils de résolution de tout un ensemble de problèmes d’optimisation divers et variés.

JOUR 1

1/ Introduction au Deep Learning

a) Qu’est-ce que le Deep Learning ?

  • Différence entre Intelligence Artificielle, Machine Learning et Deep Learning / Intérêt des réseaux de neurones profonds

b) Quelques mots sur l’optimisation mathématique

Rappels sur l’optimisation au sens des moindres carrés / Bases de fonctions triangulaires, relu, constantes par morceaux, sinusoïdales / Optimisation en termes de loss L2 et L1 et intérêt de changer de fonction de coût / Intérêt de la cross-entropie et optimisation pour la classification

c) Introduction à TensorFlow & Keras

  • Principales notions dans ces frameworks /  Performances, utilisation, popularité / Critères de choix d’un frameworks pour une tâche donnée

2/ Réseaux de neurones « Fully Connected »

a) Réseau fully connected à une couche

  • Principe /  Compréhension dans des cas simples (Apprentissage d’une courbe simple, Apprentissage sur des images noir et blanc, Apprentissage d’une distribution de probabilité par maximisation de vraisemblance) / Interprétation des poids appris

b) Ajout de couches 

  • Compromis nombre de neurones / nombre de couches / Initialisation des poids du réseau

c) Régularisation

  • Dropout / Early Stopping / Pénalisation

3/ Réseaux de neurones convolutionnels (CNN)

a) Convolution : Intuition

JOUR 2

a) Réseaux de neurones convolutionnels pour les images 

  • Convolution & Pooling 2D / Transfer Learning : faire apprendre à seulement une partie du réseau.

b) Convolution 1D pour le son et les séquences 

  • Convolution & Pooling 1D /  Intérêt et limitations

1/ Réseaux de neurones récurrents (RNN)

  • Pourquoi avons-nous besoin de RNN ? / Réseau de neurones récurrent simple / Long-Short Term Memory (LSTM) & Gated Recurrent Unit (GRU)

a) Principes du RNN et différentes couches associées 

  • Pourquoi avons-nous besoin de RNN ? / Réseau de neurones récurrent simple / Long-Short Term Memory (LSTM) & Gated Recurrent Unit (GRU)

b) Traitement de la donnée textuelle

  • Vectorisation du texte /  Embedding /  Applications (Classification d’une séquence, Génération de texte)

c) Utilisations avancées des RNNs

  • Stacking de couches de RNN / Bi-directional RNN / Combinaison avec des couches convolutionnelles

JOUR 3

1/ Architectures avancées de réseaux de neurones

a) Auto-Encodeur

  • Intérêt et utilisations des auto-encodeurs / Exemples d’utilisation (Compression d’information,  Détection d’anomalies, Extraction de features)

b) Sequence To Sequence (Seq2Seq)

  • Encodeur /  Décodeur / Mécanisme d’attention / Applications (Machine Translation,  Optical Character Recognition (OCR) pour les mots et phrases)

c) Générer des données avec des Generative Adversarial Networks (GAN)

  • Principe / Génération (D’échantillons selon une distribution de probabilité, D’images)  / Variantes existantes aux GAN

2/ Ouvertures et bonnes pratiques

a) Reinforcement Learning

  • Principe /  Q-Learning /  Deep Reinforcement Learning / Application (Optimisation d’une stratégie de jeu en bourse,  Apprentissage d’un jeu vidéo)

b) Bonnes pratiques

  • De l’expérimentation à l’industrialisation (Abstraire des parties du réseau de neurones,  Rendre chaque partie du réseau de neurones testable dans le principe, Retours d’expérience sur la mise en production d’algorithmes de Deep Learning) /  Utilisation sur machine multi GPU /  Utilisation sur des instances Cloud /  Ouverture vers d’autres frameworks pour le Deep Learning

Méthodes pédagogiques

Ce cours de 3 jours est découpé en 6 modules avec une validation des acquis à la fin de chaque module grâce à des exercices pratiques sous forme de notebooks Jupyter pour implémenter et tester les différentes architectures de réseaux de neurones.

Durée

3 jours soit 21 heures

Tarif HT

Inter : 2 100 €

Intra : Selon demande

Prochaines dates

15-17 janvier 

18-20 mai 

1-3 juillet 

26-28 octobre 

15-17 décembre 

Public visé

Cette formation Deep Learning est à destination des Data Scientists, Machine Learning Engineers ou développeurs ayant une appétence et une première expérience avec le Machine Learning.

Prérequis

Une connaissance de Python est préférable, de même qu’une première expérience en Machine Learning.
Une connaissance préalable de TensorFlow, Keras ou PyTorch n’est pas obligatoire.
Les postes de travail et les logiciels nécessaires au bon déroulement de la formation sont fournis par Xebia.

Objectifs

Professional ScrumMaster 1 – Scrum.org.
L’examen de certification est un QCM en ligne qui se fait sur le site de Scrum.Org (80 questions en 60 minutes) 2 tentatives possibles pour le passage de l’examen.

Validation

À la fin de cette formation, les stagiaires recevront une attestation de présence.

Formateurs

Pierre Sendorek

Pierre est passionné de Machine Learning et de traitement du signal. Il possède un doctorat en traitement du signal et un master en mathématiques appliquées, ainsi qu'un diplôme d'ingénieur. Il intervient aujourd'hui en tant que Data Scientist à Xebia, et travaille sur des projets liés au Machine Learning et au Deep Learning.

Yoann Benoit

Yoann Benoit est Data Scientist et Chief Data Officer chez Xebia. Il est spécialisé dans la collecte, le traitement et l’analyse de données, de leur exploration à la mise en production des projets. Il intervient sur de nombreux sujets autour de la Data Science, de l'Intelligence Artificuelle et du Big Data. Speaker et blogueur à la fois sur les concepts et les technologies liées à la Data Science, il travaille principalement avec Python, Scala et Spark.

Yoann a été speaker lors de ces conférences :

  • On-Device Intelligence : Intégrez du Deep Learning sur vos Smartphones (DevFest Nantes 2017, XebiCon 2017, AndroidMakers 2017)
  • Le Deep Learning dans la vraie vie (XebiCon 2017)
  • Data Science & Craftsmanship : Je t'aime, moi non plus (XebiCon 2016, PyData 2016)
  • Utiliser du Deep Learning pour interpréter des photographies (XebiCon 2016)
  • Machine Learning sur Spark (Devoxx 2015, Mix-IT 2015, BreizhCamp 2015)

Quelques publications :

Retrouvez égalemeent ses articles sur le blog Technique de Xebia.