Apprentissage profond

DeepLearn
Abstract

Résumé

L'apprentissage profond (Deep Learning) est une branche de l'apprentissage automatique (Machine Learning) qui permet de construire des modèles ayant démontré des performances extrêmement élevées pour un large éventail d'applications, en particulier la vision par ordinateur et le traitement du langage naturel. Grâce à la disponibilité conjointe de grandes quantités de données et d'une puissance de traitement abordable, l'apprentissage profond a gagné en popularité non seulement dans le milieu universitaire, mais aussi dans l'industrie. De plus, la disponibilité de nombreuses bibliothèques logicielles pour implémenter, entraîner et utiliser des modèles d'apprentissage profond a accéléré l'adoption de cette approche de modélisation dans divers domaines d'application.

L'objectif de ce cours est de fournir une introduction détaillée et complète aux principales techniques de modélisation statistique utilisées en apprentissage profond, aux aspects fondamentaux de l'optimisation stochastique, à une interprétation géométrique des fonctions d’optimisation (loss landscapes), et à la modélisation de données séquentielles, incluant les réseaux de neurones récurrents profonds, les architectures basées sur la mémoire, jusqu'aux dernières tendances en apprentissage profond telles que les mécanismes d'attention et les architectures Transformer. Enfin, le cours fournit également une introduction solide aux architectures d'auto-encodage, à la modélisation basée sur l'énergie, aux méthodes d'échantillonnage et à leurs liens avec les équations différentielles stochastiques utilisées dans les modèles génératifs profonds.

L'objectif du cours est d'aider les étudiants à développer un esprit critique lié à l'apprentissage profond, à la fois pour être capable de comprendre et d'appliquer correctement tout nouveau développement proposé par la communauté scientifique, et pour être capable de « prendre du recul » lors de la définition de l'approche de modélisation à utiliser dans des scénarios d'application pratiques.

Le cours est organisé autour de cours magistraux classiques où la théorie est exposée et discutée. De plus, le cours comprend un projet de groupe, qui traite d'une application réelle, incluant des données réelles et des objectifs clairs, où il est demandé aux étudiants d'utiliser des modèles d'apprentissage profond existants, des bibliothèques et des projets open-source pour résoudre le problème posé .

 

Modalités pédagogiques : Le cours est composé d'une combinaison de cours magistraux et d'un projet.

 

Règles du cours :  La présence à toutes les sessions est obligatoire.

Bibliography
  • Livre : GOODFELLOW I., BENGIO Y., COURVILLE A. Deep Learning. MIT Press, 2016, 800p.
  • Livre : BISHOP M. C., BISHOP H., Deep learning, Springer, 2024

Requirements

 

  • Solides connaissances en théorie des probabilités et en algèbre linéaire.
  • Solides connaissances du langage de programmation Python.

Description

Description

Le cours est destiné à exposer les étudiants aux fondamentaux et aux développements récents de l'apprentissage profond. Le contenu s'articule autour des cours suivants :

  • Réseaux de Neurones Profonds (Deep Neural Networks) :Ces cours couvrent les bases des réseaux de neurones profonds, leur description mathématique et leur interprétation, la définition des différentes couches (y compris les couches de normalisation), la nécessité de la régularisation et les diverses techniques pour traiter le surapprentissage (overfitting), les concepts de graphes computationnels et de différentiation automatique, les algorithmes d'optimisation stochastique, leurs propriétés et variantes, ainsi que des sujets avancés tels que la compression de modèles profonds.

 

  • Réseaux de Neurones Convolutifs (Convolutional Neural Networks) :Ces cours couvrent les détails des couches de convolution, leur description mathématique et leur interprétation, ainsi que leur interprétation en tant qu'opérations d'algèbre linéaire pouvant être exécutées sur du matériel de traitement parallèle moderne. De plus, ces cours introduisent le domaine de l'apprentissage profond pour la vision par ordinateur, les architectures populaires avec une explication mathématique de leurs principes, et plusieurs exemples d'applications incluant la détection d'objets et la segmentation d'images.

 

  • Modélisation de Séquences (Sequence Modeling) :Ces cours se concentrent sur la modélisation de données séquentielles, avec un accent particulier sur le langage naturel . La conception traditionnelle des réseaux de neurones récurrents est expliquée en détail et avec rigueur mathématique, et elle est étendue pour couvrir les architectures basées sur la mémoire telles que les LSTM, les mécanismes d'attention et les réseaux Transformer. Les exemples les plus marquants de modèles de langage, tels que BERT et GPT, sont également discutés . Les étudiants seront aussi exposés à la tokenisation, illustrant les techniques courantes ainsi que leurs implications sur la modélisation du langage.

 

  • Modèles Génératifs (Generative models) :Nous commencerons par une revue des auto-encodeurs déterministes (donc non génératifs) et passerons aux auto-encodeurs stochastiques (variationnels) et aux réseaux antagonistes génératifs (GANs). Ensuite, ces cours présentent l'idée d'utiliser une fonction paramétrique de substitution pour modéliser les densités de données, de sorte que l'estimation de densité et la modélisation générative puissent être réduites à un problème de régression. Ce sujet nécessite l'introduction de techniques d'échantillonnage statistique et la simulation de versions discrètes d'équations différentielles stochastiques continues. Ces outils sont ensuite utilisés pour définir des modèles avancés qui utilisent le score de la distribution des données pour apprendre leurs représentations latentes. Enfin, nous passerons aux techniques de modélisation de pointe impliquant des « flux » (flows), tels que les flux normalisants (normalizing flows), le flow matching et les flux rectifiés (rectified flows). À ce titre, les applications rendues possibles par la théorie et discutées dans le cours vont de l'estimation de densité pour la détection d'anomalies à la génération synthétique de données réalistes, y compris des images et d'autres modalités.

 

Objectifs d'apprentissage : 

  • Être capable de comprendre les fondamentaux clés associés à l'apprentissage profond et aux architectures de réseaux profonds pour l'apprentissage automatique.

  • Être capable de comprendre les nouvelles architectures d'apprentissage profond proposées dans la littérature scientifique.

  • Développer un esprit critique face aux choix de modélisation.

  • Être capable de définir, entraîner, déboguer et utiliser des modèles d'apprentissage profond.

Evaluation :

  • Quiz pendant le cours, examen écrit à la fin du semestre..