Plan du cours

Partie 1 – Concepts de l'apprentissage profond et des DNN

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

  • Histoire, concepts de base et applications courantes de l'intelligence artificielle, loin 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
  • Apprentissage automatique courant : définition.
  • Types de tâches : apprentissage supervisé, non supervisé, 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, Arbre aléatoire
  • Apprentissage automatique VS apprentissage profond : problèmes sur lesquels l'apprentissage automatique reste aujourd'hui l'état de l'art (Forêts aléatoires & XGBoosts)

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 du réseau
  • Définition de l'apprentissage d'un réseau de neurones : fonctions de coût, rétropropagation, descente de gradient stochastique, maximum de 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 dimensionalité.
  • Distinction entre données multifonctionnelles et signal. Choix d'une fonction de coût en fonction des données.
  • Approximation d'une fonction par un réseau neuronal : présentation et exemples
  • Approximation d'une distribution par un réseau neuronal : présentation et exemples
  • Augmentation des données : comment équilibrer un ensemble 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 lot
  • Algorithmes d'optimisation et de convergence

Outils standards ML / DL

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

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

Réseaux neuronaux convolutionnels (CNN).

  • Présentation des CNN : principes fondamentaux et applications
  • Fonctionnement de base d'un CNN : couche de convolution, utilisation d'un noyau,
  • Padding & stride, génération de carte de caractéristiques, couches de pooling. Extensions 1D, 2D et 3D.
  • Présentation des différentes architectures CNN qui ont apporté 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-par-pixel. Présentation des
  • 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 dans le temps, version dépliée.
  • É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
  • Problèmes de convergence et de gradient qui disparaît
  • 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 l'image suivante générée dans une séquence vidéo.

Modèles générationnels : Auto-encodeur variationnel (VAE) et réseaux adverses générateurs (GAN).

  • Présentation des modèles générationnels, lien avec les CNN
  • Auto-encodeur : réduction de dimensionnalité et génération limitée
  • Auto-encodeur variationnel : modèle génératif et approximation de la distribution d'un données. Définition et utilisation de l'espace latent. Trick de reparamétrage. Applications et limitations observées
  • Réseaux adverses générateurs : 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.
  • Amélioration de la convergence : Wasserstein GAN, Began. Distance de transport 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 neuronal pour approximer la fonction d'état
  • Deep Q Learning : expérience de répétition, application au contrôle d'un jeu vidéo.
  • Optimisation de la politique d'apprentissage. On-policy && off-policy. Architecture acteur-critique. A3C.
  • Applications : contrôle d'un jeu vidéo unique ou d'un système numérique.

Partie 2 – Theano pour l'apprentissage profond

Fonctionnalités de base de Theano

  • Introduction
  • Installation et configuration

Fonctions Theano

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

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

Test du modèle

Partie 3 – DNN avec TensorFlow

Fonctionnalités de base de TensorFlow

  • Création, initialisation, sauvegarde et restauration des variables TensorFlow
  • Alimentation, lecture et préchargement des données TensorFlow
  • Utilisation de l'infrastructure TensorFlow pour entraîner des modèles à grande échelle
  • Visualisation et évaluation des modèles avec TensorBoard

Mécanismes de TensorFlow

  • Préparation des données
  • Téléchargement
  • Entrées et placeholders
  • Construction des graphes
    • Inférence
    • Perte
    • 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 de l'é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

  • Noyaux et le trick des noyaux
  • Classification par marge maximale et vecteurs de support

Réseaux neuronaux artificiels

  • Frontières de décision non linéaires
  • Réseaux neuronaux artificiels feedforward et feedback
  • Perceptrons multicouches
  • Minimisation de la fonction de coût
  • Propagation avant
  • Rétropropagation
  • Amélioration des méthodes d'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

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

TensorFlow - Utilisation avancée

  • Threads et files d'attente
  • TensorFlow distribué
  • Rédaction de documentation et partage du modèle
  • Personnalisation des lecteurs de données
  • Manipulation des fichiers de modèles TensorFlow

Serveur TensorFlow

  • Introduction
  • Tutoriel de base pour le serveur
  • Tutoriel avancé pour le serveur
  • Tutoriel sur le serveur Inception Model

Pré requis

Connaissances en physique, mathématiques et programmation. Implication dans des activités de traitement d'images.

Les participants doivent 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 (5)

Cours à venir

Catégories Similaires