ESIROI · Maquettes Connexion
AccueilITS8 · UE8-DATA
ESI-SPI-CI-IN4-S8-UE5-EC1

Apprentissage profond

FR EN ⬇ PDF
RéférentMathilde LEPETIT  [mathilde.lepetit@univ-reunion.fr](mathilde.lepetit@univ-reunion.fr)
ECTS2
CM / TD / TP4 / 18 / 0
Typematiere

Viable
Viable100%
Complète93%
Manque pour « complète »
  • Version EN relue

But du cours

Maîtriser les architectures et les techniques de l’apprentissage profond (deep learning) afin de concevoir, entraîner et déployer des modèles de réseaux de neurones adaptés à des problèmes complexes de science des données. Ce cours approfondit les fondements théoriques des réseaux multicouches et couvre les architectures majeures — réseaux convolutifs, récurrents et génératifs — en insistant sur les défis pratiques propres à l’apprentissage à grande échelle : régularisation, optimisation, interprétabilité et passage à l’échelle sur GPU et systèmes distribués.

Acquis d'apprentissage visés

  • Concevoir et implémenter des architectures de réseaux de neurones profonds (feedforward, CNN, RNN, LSTM) adaptées à la nature et au volume des données d’un problème donné
  • Entraîner, régulariser et optimiser un modèle d’apprentissage profond en appliquant les bonnes pratiques : initialisation, dropout, early stopping, partage de paramètres, réglage des hyperparamètres
  • Définir, mettre en œuvre et évaluer une analyse prédictive exploitant des données massives à l’aide de frameworks de deep learning exécutés sur GPU ou systèmes distribués
  • Appliquer des architectures convolutives (CNN) et récurrentes (RNN/LSTM) à l’analyse de données multimédia : classification d’images, détection d’objets, traitement de signaux et de séries temporelles
  • Sélectionner les outils et frameworks d’apprentissage profond appropriés (TensorFlow, PyTorch, Keras) en tenant compte des contraintes de volumétrie, de performance et d’interprétabilité
  • Se tenir informé de l’état de l’art en deep learning et évaluer la pertinence des architectures avancées (modèles génératifs, transformers) pour de nouveaux cas d’usage

Prérequis

  • Apprentissage automatique (S7) : algorithmes de classification et de régression, évaluation des modèles, compromis biais/variance, validation croisée — base directe et indispensable de ce cours.
  • Système de données massives (S7) : architectures distribuées, frameworks de calcul parallèle — nécessaires pour le passage à l’échelle des modèles de deep learning.
  • Fouille de données (S6) : prétraitement des données, extraction de caractéristiques, introduction au clustering.
  • Probabilités et variables aléatoires (S5) : distributions de probabilité, espérance, variance — fondements des fonctions de coût et des méthodes d’optimisation.
  • Processus stochastiques (S6) : modélisation de séquences et de séries temporelles — utiles pour la compréhension des RNN et LSTM.
  • Compétences transversales attendues :
  • Programmation Python avancée (numpy, pandas, matplotlib, scikit-learn)
  • Algèbre linéaire : produits matriciels, décompositions, valeurs propres
  • Calcul différentiel : dérivées partielles, règle de la chaîne, gradient
  • Notions de base sur les GPU et les environnements de calcul (Google Colab, Jupyter)
  • Lecture de documentation technique et d’articles de recherche en anglais

Programme

  • Fondements des réseaux de neurones profonds :
  • Rappels sur le perceptron multicouche (MLP) ; représentation hiérarchique des caractéristiques.
  • Fonctions d’activation : ReLU, sigmoid, tanh, softmax — propriétés et cas d’usage.
  • Algorithme de rétropropagation du gradient dans un réseau feedforward profond.
  • Problèmes de gradient : vanishing et exploding gradient ; solutions (normalisation par batch, initialisation des poids).
  • Régularisation : dropout, early stopping, weight decay, partage de paramètres.
  • Réseaux de neurones convolutifs (CNN) :
  • Principe de la convolution : détection de motifs locaux (bords, textures) ; invariance par translation.
  • Couches de convolution, de pooling (max pooling, average pooling) et de mise à plat (flatten).
  • Architectures de référence : LeNet, AlexNet, VGG, ResNet, EfficientNet.
  • Transfert d’apprentissage (transfer learning) et fine-tuning sur des données limitées.
  • Applications : classification d’images, détection d’objets, segmentation sémantique.
  • Réseaux de neurones récurrents (RNN / LSTM / GRU) :
  • Architecture des RNN ; rétropropagation dans le temps (BPTT).
  • Défi des dépendances à long terme ; problème du gradient qui disparaît dans les RNN.
  • LSTM (Long Short-Term Memory) et GRU (Gated Recurrent Unit) : mécanismes de portes et cas d’usage.
  • Applications : traitement de séries temporelles, signaux, génération de séquences.
  • Optimisation et passage à l’échelle :
  • Algorithmes d’optimisation : SGD, Momentum, RMSprop, Adam.
  • Planification du taux d’apprentissage (learning rate scheduling).
  • Exécution sur GPU : CUDA, parallélisation des calculs tensoriels.
  • Passage à l’échelle sur systèmes distribués : parallélisme de données et de modèles (lien avec DAT701).
  • Sélection des outils selon la volumétrie : TensorFlow, PyTorch, Keras, JAX.
  • Interprétabilité et bonnes pratiques :
  • Visualisation des activations et des filtres convolutifs ; cartes de saillance (Grad-CAM).
  • Évaluation des modèles : métriques, courbes d’apprentissage, détection du surapprentissage.
  • Déploiement d’un modèle de deep learning : export, quantification, inférence optimisée.
  • Thématiques avancées (selon disponibilité) :
  • Modèles génératifs : réseaux antagonistes génératifs (GAN) — architecture, entraînement, applications (synthèse d’images, augmentation de données) ; défis pratiques (mode collapse, instabilité de convergence).
  • Introduction aux Transformers et mécanisme d’attention ; vision transformers (ViT) et modèles de langage (LLM).
  • Apprentissage auto-supervisé et contrastif ; foundation models.

Modalités d'évaluation

Contrôles continus et travaux pratiques évalués.

Bibliographie

  • Kubat, M. (1999). Neural networks: a comprehensive foundation by Simon Haykin, Macmillan, 1994, ISBN 0-02-352781-7. The Knowledge Engineering Review, 13(4), 409-412.
  • Michael A. Nielsen, "Neural Networks and Deep Learning", Determination Press, 2015
  • Simon Haykin - Neural Networks and Learning Machines - Prentice Hall, 3^(e) éd., 2008
  • Michael A. Nielsen - Neural Networks and Deep Learning - Determination Press, 2015 : <http://neuralnetworksanddeeplearning.com>
  • Ian Goodfellow, Yoshua Bengio & Aaron Courville - Deep Learning - MIT Press, 2016 : <https://www.deeplearningbook.org>
  • Aurélien Géron - Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow - O’Reilly, 3^(e) éd., 2022
  • Kubat, M. - An Introduction to Machine Learning - Springer, 3^(e) éd., 2021
  • Documentation PyTorch : <https://pytorch.org/docs/stable/>
  • Documentation TensorFlow / Keras : <https://www.tensorflow.org/api_docs>
  • Papers With Code — État de l’art en deep learning : <https://paperswithcode.com>
  • Distill.pub — Visualisations interactives de concepts deep learning : <https://distill.pub>
  • Fast.ai — Cours pratiques deep learning : <https://www.fast.ai>

Supports

Diaporamas, fiches de travaux dirigés et de travaux pratiques.