Prenez contact avec nous

Plan du cours

Partie 1 – Concepts d'apprentissage profond et de RNN

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

  • Histoire, concepts de base et applications habituelles de l'intelligence artificielle, au-delà des fantasmes associés à ce domaine
  • Intelligence collective : agrégation des connaissances partagées par de nombreux agents virtuels
  • Algorithmes génétiques : pour faire évoluer une population d'agents virtuels par sélection
  • Machine d'apprentissage habituelle : 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 dimensionnalité
  • Exemples d'algorithmes d'apprentissage automatique : régression linéaire, Bayes naïf, arbre aléatoire
  • Apprentissage automatique VS Apprentissage profond : problèmes sur lesquels l'apprentissage automatique reste aujourd'hui à l'avant-garde (forêts aléatoires et XGBoost)

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

  • Rappel 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, descente de gradient stochastique, maximisation de la vraisemblance.
  • Modélisation d'un réseau neuronal : modélisation des données d'entrée et de sortie en fonction du type de problème (régression, classification...). Malédiction de la dimensionnalité.
  • Distinction entre les données multivoies et le signal. Choix d'une fonction de coût en fonction des 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 des données : comment équilibrer un jeu de données
  • Généralisation des résultats d'un réseau neuronal.
  • Initialisation et régularisation d'un réseau neuronal : régularisation L1 / L2, normalisation par lots
  • Algorithmes d'optimisation et de convergence

Outils ML / DL standard

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

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

Réseaux neuronaux convolutionnels (CNN).

  • Présentation des CNN : principes fondamentaux et applications
  • Fonctionnement de base d'un CNN : couche convolutionnelle, utilisation d'un noyau,
  • Remplissage (padding) et pas (stride), génération de cartes de caractéristiques, couches de pooling. Extensions 1D, 2D et 3D.
  • Présentation des différentes architectures CNN qui ont atteint 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 de leurs applications plus globales (convolution 1x1 ou connexions résiduelles)
  • Utilisation d'un modèle d'attention.
  • Application à un cas de classification courant (texte ou image)
  • CNN pour la génération : super-résolution, segmentation pixel à pixel. Présentation de
  • Stratégies principales pour augmenter les cartes de caractéristiques pour la génération d'images.

Réseaux neuronaux 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.
  • Évolutions vers les unités récurrentes à porte (GRU) et LSTM (Long Short Term Memory).
  • Présentation des différents états et des évolutions apportées par ces architectures
  • Problèmes de convergence et de gradients disparus
  • Architectures classiques : prédiction d'une série temporelle, classification ...
  • Architecture de type RNN encodeur-décodeur. Utilisation d'un modèle d'attention.
  • Applications TLN : encodage mot / caractère, traduction.
  • Applications vidéo : prédiction de la prochaine image générée d'une séquence vidéo.

Modèles génératifs : Autoencodeurs variationnels (VAE) et Réseaux antagonistes génératifs (GAN).

  • Présentation des modèles génératifs, lien avec les CNN
  • Autoencodeur : réduction de la dimensionnalité et génération limitée
  • Autoencodeur variationnel : modèle génératif et approximation de la distribution d'un ensemble de données. Définition et utilisation de l'espace latent. Astuce de reparamétrage. Applications et limites observées
  • Réseaux antagonistes génératifs : fondements.
  • Architecture à double réseau (générateur et discriminateur) avec apprentissage alternatif, fonctions de coût disponibles.
  • Convergence d'un GAN et difficultés rencontrées.
  • Convergence améliorée : Wasserstein GAN, Began. Distance de transport optimal.
  • Applications pour la génération d'images ou de photographies, génération de texte, super-résolution.

Apprentissage par renforcement profond.

  • 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 neuronal pour approximer la fonction d'état
  • Deep Q Learning : replay d'expériences, et application au contrôle d'un jeu vidéo.
  • Optimisation de la politique d'apprentissage. On-policy et off-policy. Architecture acteur-critique. A3C.
  • Applications : contrôle d'un seul jeu vidéo ou d'un système numérique.

Partie 2 – Theano pour l'apprentissage profond

Les bases de Theano

  • Introduction
  • Installation et configuration

Fonctions Theano

  • entrées, sorties, mises à jour, givens

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

  • Modélisation du réseau neuronal
  • Régression logistique
  • Couches cachées
  • Entraînement d'un réseau
  • Calcul et classification
  • Optimisation
  • Log Loss (perte logarithmique)

Test du modèle

Partie 3 – RNN à l'aide de TensorFlow

Les bases de TensorFlow

  • Création, initialisation, sauvegarde et restauration des variables TensorFlow
  • Alimentation, lecture et préchargement des 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écanique de TensorFlow

  • Préparation des données
  • Téléchargement
  • Entrées et placeholders
  • Construction des graphes
    • Inférence
    • Perte (Loss)
    • Entraînement
  • Entraînement du modèle
    • Le graphe
    • La session
    • Boucle d'entraînement
  • Évaluation du modèle
    • Construction du graphe d'évaluation
    • Sortie d'évaluation

Le Perceptron

  • Fonctions d'activation
  • L'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 et l'astuce du noyau (kernel trick)
  • Classification à marge maximale et vecteurs de support

Réseaux neuronaux artificiels

  • Frontières de décision non linéaires
  • Réseaux neuronaux artificiels à rétroaction et à transmission avant
  • Perceptrons multicouches
  • Minimisation de la fonction de coût
  • Propagation avant
  • Rétropropagation
  • Amélioration de l'apprentissage des réseaux neuronaux

Réseaux neuronaux convolutionnels

  • 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 aux modules ci-dessous (une brève introduction sera fournie en fonction du temps disponible) :

Tensorflow – Utilisation avancée

  • Threadings et files d'attente
  • 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 service de base
  • Tutoriel de service avancé
  • Tutoriel de service du modèle Inception

Pré requis

Connaissances en physique, mathématiques et programmation. Participation à des activités de traitement d'image.

Les participants devraient avoir une compréhension préalable des concepts d'apprentissage automatique et avoir travaillé avec la programmation Python et ses bibliothèques.

 35 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires