Prenez contact avec nous

Plan du cours

Partie 1 – Concepts d'apprentissage profond et de DNN

Introduction à l'IA, l'apprentissage automatique et l'apprentissage profond

  • Historique, concepts de base et applications courantes de l'intelligence artificielle, au-delà des fantasmes véhiculés par ce domaine
  • Intelligence collective : agrégation des connaissances partagées par de nombreux agents virtuels
  • Algorithmes génétiques : évolution d'une population d'agents virtuels par sélection
  • Apprendre par machine (Machine Learning) : définition.
  • Types de tâches : apprentissage supervisé, apprentissage non supervisé, apprentissage par renforcement
  • Types d'actions : classification, régression, clustering, estimation de densité, réduction de la dimensionalité
  • Exemples d'algorithmes d'apprentissage automatique : régression linéaire, Naive Bayes, Random Tree
  • Apprentissage automatique vs Apprentissage profond : problèmes pour lesquels l'apprentissage automatique reste aujourd'hui l'état de l'art (Random Forests & XGBoosts)

Concepts de base d'un réseau de neurones (Application : perceptron multicouche)

  • Rappels des bases mathématiques.
  • Définition d'un réseau de neurones : architecture classique, activation et
  • 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, rétropropagation (back-propagation), descente de gradient stochastique, vraisemblance maximale.
  • 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...). Fléau de la dimensionnalité.
  • Distinction entre données multi-caractéristiques et signal. Choix d'une fonction de coût selon les données.
  • Approximation d'une fonction par un réseau de neurones : présentation et exemples
  • Approximation d'une distribution par un réseau de neurones : présentation et exemples
  • Augmentation de données (Data Augmentation) : comment équilibrer un jeu de données
  • Généralisation des résultats d'un réseau de neurones.
  • Initialisation et régularisation d'un réseau de neurones : régularisation L1 / L2, Batch Normalization
  • Algorithmes d'optimisation et de convergence

Outils standards de ML / DL

Une présentation simple des avantages, inconvénients, position dans l'écosystème et utilisation est prévue.

  • Outils de gestion de données : Apache Spark, Outils Apache Hadoop
  • Apprentissage automatique : Numpy, Scipy, Sci-kit
  • Frameworks DL de haut niveau : PyTorch, Keras, Lasagne
  • Frameworks DL de bas niveau : Theano, Torch, Caffe, Tensorflow

Réseaux de neurones convolutifs (CNN).

  • Présentation des CNN : principes fondamentaux et applications
  • Fonctionnement de base d'un CNN : couche convolutionnelle, utilisation d'un noyau (kernel),
  • Padding & stride, génération de cartes de caractéristiques, couches de pooling. Extensions 1D, 2D et 3D.
  • Présentation des différentes architectures de CNN qui ont établi l'état de l'art en classification
  • Images : LeNet, Réseaux VGG, 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 classification commun (texte ou image)
  • CNN pour la génération : super-résolution, segmentation pixel-à-pixel. Présentation de
  • Principales stratégies pour augmenter les cartes de caractéristiques pour la génération d'images.

Réseaux de neurones récurrents (RNN).

  • Présentation des RNN : principes fondamentaux et applications.
  • Fonctionnement de base du RNN : activation cachée, rétropropagation à travers le temps, version dépliée (Unfolded).
  • Évolutions vers les Unités récurrentes à portes (GRUs) et LSTM (Long Short Term Memory).
  • Présentation des différents états et des évolutions apportées par ces architectures
  • Convergence et problèmes de gradient disparaissant (vanishing gradient)
  • Architectures classiques : Prévision d'une série temporelle, classification ...
  • Architecture de type Encodeur-Décodeur RNN. Utilisation d'un modèle d'attention.
  • Applications NLP : encodage de mots / caractères, traduction.
  • Applications Vidéo : prédiction de l'image générée suivante d'une séquence vidéo.

Modèles génératifs : Variational AutoEncoder (VAE) et Generative Adversarial Networks (GAN).

  • Présentation des modèles génératifs, lien avec les CNN
  • Auto-encodeur : réduction de dimensionalité et génération limitée
  • Auto-encodeur variationnel : modèle génératif et approximation de la distribution d'une donnée définie. Définition et utilisation de l'espace latent. Astuce de réparamétrisation (Reparameterization trick). Applications et Limites observées
  • Réseaux antagonistes génératifs : Fondamentaux.
  • Architecture de réseau dual (Générateur et Discriminateur) avec apprentissage alternatif, fonctions de coût disponibles.
  • Convergence d'un GAN et difficultés rencontrées.
  • Amélioration de la convergence : Wasserstein GAN, Began. Distance de transport optimal (Earth Moving Distance).
  • Applications pour la génération d'images ou de photographies, génération de texte, super-résolution.

Apprentissage par renforcement profond (Deep Reinforcement Learning).

  • Présentation de l'apprentissage par renforcement : 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 : répétition d'expérience (experience replay) et application au contrôle d'une vidéo.
  • Optimisation de la politique d'apprentissage. On-policy && off-policy. Architecture Actor Critic. A3C.
  • Applications : contrôle d'un seul jeu vidéo ou d'un système numérique.

Partie 2 – Theano pour l'apprentissage profond

Bases de Theano

  • Introduction
  • Installation et Configuration

TheanoFunctions

  • entrées, sorties, mises à jour, conditions (givens)

Entraînement et optimisation d'un réseau de neurones à l'aide de Theano

  • Modélisation du réseau de neurones
  • Régression logistique
  • Couches cachées
  • Entraînement d'un réseau
  • Calcul et Classification
  • Optimisation
  • Log Loss

Test du modèle

Partie 3 – DNN à l'aide de Tensorflow

Bases de TensorFlow

  • Création, Initialisation, Sauvegarde et Restauration de variables TensorFlow
  • Alimentation, Lecture et Préchargement de données TensorFlow
  • Comment utiliser l'infrastructure TensorFlow pour entraîner des modèles à grande échelle
  • Visualisation et Évaluation des modèles avec TensorBoard

Mécanismes de TensorFlow

  • Préparer les Données
  • Téléchargement
  • Entrées et Placeholders
  • Construire les Graphs
    • Inférence
    • Perte (Loss)
    • Entraînement
  • Entraîner le Modèle
    • Le Graphe
    • La Session
    • Boucle d'entraînement
  • Évaluer le Modèle
    • Construire le Graphe d'évaluation
    • Sortie d'évaluation

Le Perceptron

  • Fonctions d'activation
  • Algorithme d'apprentissage du perceptron
  • Classification binaire avec le perceptron
  • Classification de documents avec le perceptron
  • Limites du perceptron

Du Perceptron aux Machines à Vecteurs de Support

  • Noyaux (Kernels) et astuce du noyau (kernel trick)
  • Classification à large margin et vecteurs de support

Réseaux de neurones artificiels

  • Frontières de décision non linéaires
  • Réseaux de neurones artificiels feedforward et feedback
  • Perceptrons multicouches
  • Minimization de la fonction de coût
  • Propagation avant
  • Rétropropagation
  • Améliorer la manière dont les réseaux de neurones apprennent

Réseaux de neurones convolutifs

  • Objectifs
  • Architecture du modèle
  • Principes
  • Organisation du code
  • Lancement et Entraînement du Modèle
  • Évaluation d'un Modèle

Introductions de base à donner pour les modules suivants (Introduction brève à fournir selon la disponibilité du temps) :

Tensorflow - Utilisation avancée

  • Filage (Threading) et Files d'attente (Queues)
  • TensorFlow Distribué
  • Rédaction de documentation et Partage de votre Modèle
  • Personnalisation des lecteurs de données
  • Manipulation des fichiers de modèle TensorFlow

TensorFlow Serving

  • Introduction
  • Tutoriel de base sur le service
  • Tutoriel avancé sur le service
  • Tutoriel sur le service du modèle Inception

Pré requis

Bases en physique, mathématiques et programmation. Expérience dans les activités de traitement d'images.

Les participants doivent avoir une compréhension préalable des concepts de l'apprentissage automatique et avoir travaillé avec le langage de programmation Python et ses bibliothèques.

 35 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires