Prenez contact avec nous

Plan du cours

Partie 1 – Concepts d'apprentissage profond et de réseaux neuronaux profonds (DNN)

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

  • Historique, concepts de base et applications usuelles de l'intelligence artificielle, au-delà des fantasmes portés par 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
  • Machines d'apprentissage usuelles : 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 dimensionnalité
  • Exemples d'algorithmes d'apprentissage automatique : régression linéaire, Naive Bayes, Random Tree
  • Apprentissage automatique vs apprentissage profond : problèmes sur lesquels l'apprentissage automatique reste aujourd'hui à la pointe de l'état de l'art (Forêts aléatoires et XGBoosts)

Concepts de base d'un réseau de neurones (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, 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...). Malédiction de la dimensionnalité.
  • Distinction entre les données multicaractères 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 de neurones.
  • Initialisation et régularisation d'un réseau de neurones : régularisation L1 / L2, normalisation par lots (Batch Normalization)
  • Algorithmes d'optimisation et de convergence

Outils ML / DL standards

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, Sci-kit
  • Frameworks DL haut niveau : PyTorch, Keras, Lasagne
  • Frameworks DL bas niveau : Theano, Torch, Caffe, Tensorflow

Réseaux neuronaux convolutifs (CNN).

  • Présentation des CNN : principes fondamentaux et applications
  • Fonctionnement de base d'un CNN : couche convolutive, 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 de CNN qui ont atteint l'état de l'art en classification
  • Images : LeNet, VGG Networks, Network in Network, Inception, Resnet. Présentation des innovations apportées par chaque architecture et de leurs applications plus globales (convolutions 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
  • Principales stratégies pour augmenter les cartes de caractéristiques lors de 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éroulée.
  • Évolutions vers les unités récurrentes à portes (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 disparition du gradient
  • Architectures classiques : prédiction d'une série temporelle, classification ...
  • Architecture de type Encodeur-Décodeur RNN. Utilisation d'un modèle d'attention.
  • Applications NLP : 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 dimensionnalité et génération limitée
  • Autoencodeur variationnel : modèle génératif et approximation de la distribution d'une entrée. 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 alterné, fonctions de coût disponibles.
  • Convergence d'un GAN et difficultés rencontrées.
  • Convergence améliorée : Wasserstein GAN, Began. Distance de mouvement terrestre.
  • 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 de neurones pour approximer la fonction d'état
  • Deep Q Learning : mémoire d'expérience (experience replay) et application au contrôle d'un jeu 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

Les bases de Theano

  • Introduction
  • Installation et configuration

Fonctions Theano

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

Entraînement et optimisation d'un réseau de neurones avec 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

Tests du modèle

Partie 3 – DNN avec TensorFlow

Les bases de TensorFlow

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

  • Préparer les données
  • Téléchargement
  • Entrées et placeholders
  • Construire les graphes
    • 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
  • L'algorithme d'apprentissage du perceptron
  • Classification binaire avec le perceptron
  • Classification de documents avec le perceptron
  • Limitations du perceptron

Du perceptron aux machines à vecteurs de support (SVM)

  • 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 à propagation avant et à rétroaction
  • Perceptrons multicouches
  • Minimisation de la fonction de coût
  • Propagation avant
  • Rétropropagation
  • Amélioration de la manière dont les réseaux neuronaux apprennent

Réseaux neuronaux convolutifs

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

Introduction de base à fournir pour les modules ci-dessous (brève introduction fournie en fonction du temps disponible) :

TensorFlow – Utilisation avancée

  • Threads 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

Serveur TensorFlow (TensorFlow Serving)

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

Pré requis

Des connaissances en physique, mathématiques et programmation. Une implication dans des activités de traitement d'image.

Les participants doivent avoir une compréhension préalable des concepts d'apprentissage automatique et avoir déjà 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