Projets de l’UE RCP211, semestre 1

Merci de lire et de suivre les instructions ci-dessous.

Instructions

La note finale à l’UE sera la moyenne entre la note à l’examen sur table et la note de projet. Le projet sera réalisé individuellement (seul) ou en binôme, suivant les sujets, et consistera à traiter un problème de modélisation (avec un jeu de données) :

  1. Parmi ceux proposés par les enseignants de l’UE (voir plus loin) ; chacun doit faire son choix ici sur Moodle avant le 14 décembre 2023. Lors du choix, seuls sont accessibles les projets qui n’ont pas encore été choisis. Notez le choix que vous faites car le système ne vous affiche pas ce choix ensuite. Pour un binôme, chaque membre du binôme doit choisir le même sujet. Ne tardez pas trop après la date indiquée, les choix disponibles se restreindont au fur et à mesure que vos collègues feront leurs choix.

  2. Professionnels ou personnels, avec l’accord d’un des enseignants (à obtenir par courriel) et à condition d’avoir déjà les données ; dans ce cas, il faudra nous envoyer une description suffisante du problème et des données au plus tard le 30 novembre 2023.

La plupart des sujets proposés consistent à mettre au point ou analyser des modèles prédictifs s’inscrivant dans la continuité des méthodes décrites dans les 3 blocs de l’UE RCP211. Il convient dans le projet de justifier les choix de méthode, de paramètres, etc. ; lier les résultats des éventuelles analyses préalables au choix de la ou des méthodes de modélisation.

Le rapport devra inclure une présentation claire mais concise du problème et des données, une définition de l’objectif de l’étude, la démarche choisie, sa formalisation et les résultats obtenus, ainsi qu’une conclusion, sans dépasser les 20 pages. D’éventuelles illustrations complémentaires, non essentielles pour la compréhension du travail, pourront être mises dans des annexes (après les \(\leq 20\) pages du rapport). En résumé, il s’agit de reprendre un algorithme de l’état de l’art décrit dans son article et d’en proposer une réimplémentation, éventuellement simplifiée, sur une application de votre choix.

Le rapport (obligatoirement en PDF) accompagné des programmes que vous avez développés devra être archivé dans un seul fichier .zip et déposé ici sur Moodle. Pour un binôme, chaque membre du binôme doit déposer le même rapport (cela garantit, en principe, que chaque membre du binôme assume le contenu du rapport). Attention, la taille maximale du fichier est de 20 Mo.

  • au plus tard le 2 février 2024 ou

  • au plus tard le 19 avril 2024 – date limite ferme !

Les rapports seront évalués en deux tranches : ceux déposés au plus tard le 3 février seront évalués en février, ceux déposés après seront évalués en avril. Dans l’évaluation des rapports, nous tiendrons compte du délai supplémentaire significatif dont auront bénéficié les auditeurs qui auront déposé leur projet en avril. Pour les sujets qui peuvent être traités en binôme ou seul, l’évaluation tiendra compte également du mode de réalisation (en binôme ou seul).

En aucun cas le rapport ne sera envoyé par courriel aux enseignants (sauf si un enseignant vous le demande explicitement).

Aussi, il est inutile de nous transmettre un rapport qui traite d’autre chose que du sujet pour lequel vous avez eu notre accord, un tel rapport ne serait pas évalué.

Sujets proposés

  1. (en binôme ou seul) Génération de scénarios et renforcement. Dans ce projet vous implémenterez un modèle capable d’échantillonner des objectifs pour un agent qui devra apprendre à les atteindre. Ce projet se décline donc en deux parties. Grâce un modèle génératif de votre choix (VAE, GAN, Autroregressive model, champs de Markov…) générez des buts à atteindre. Un premier exemple simple peut être de générer différentes grilles avec des buts variables. Pour aller au delà de la preuve de concept, une possibilité est de générer des positions aux échecs ou aux dames et d’utiliser l’environment videochess ou videocheckers de Gymnasium pour l’apprentissage (attention, la génération n’est pas simple car il fat respecter la faisabilité des positions). Vous êtes libre de proposer l’environement qui vous convient tant que vous le décrivez clairement. Enfin, apprenez à l’agent à réaliser la configuation demandée. Vous pourrez vous inspirer de ce papier et code : Visual Reinforcement Learning with Imagined Goals .

  2. (en binôme ou seul) Inverse Reinforcement Learnig. Apprenez un ensemble de récompense optimisant l’apprentissage de l’agent. Vous avez la liberté dans le choix de l’environnement. Vous pouvez utiliser une bibliothèque dédiée comme Gymnasium vous donnant accès à de nombreux environnements. Pour ce projet, une possibilité est de reprendre le papier (et potentiellement le code) Guided Cost Learning: Deep Inverse Optimal Control via Policy Optimization .

  3. (Seul) Résumé de vidéo. En reprenant l’approche séquantielle détaillée dans Deep Reinforcement Learning for Unsupervised Video Summarization withDiversity-Representativeness Reward , développez un générateur de description de vidéo. La force de ce type de méthode repose notamment sur son affranchissement complet de toute supervision.

  4. (Seul) Augmentation de données et RL : Créer un agent capable de générer la mailleur polique d’aumentation de données pour optimiser une tâche de classification. Vous pourrez reprendre le papier AutoAugment:Learning Augmentation Strategies from Data

  5. (Seul) Deep A2C voire A3C : Apprenez un agent à jouer à pacman avec une approche de type Deep Asynchronous Advantage Actor Critic : Methods for Deep Reinforcement Learning . Vous pouvez considérer l’aspect asynchrone comme un bonus. Il est possible de choisir d’autres environements par exemple issus des jeux Atari disponibles dans Gymnasium.

  6. (Seul) Optimisation guidée par RL : Le but est d’entraîner un agent capable de proposer le meilleurs jeu d’hyper paramètres pour un réseau de neuronne et une taĉhe spécifique Reinforcement Learning for Learning Rate Control

  7. (Seul) Génération de musique : Le but de ce projet est de pouvoir générer des grille musicale en format MIDI Grâce à un VAE récurrent : MIDI-VAE

  8. (seul) Manipulation d’images. L’objectif est de trouver des directions intéressantes dans l’espace latent d’un GAN. À l’aide de StyleGAN (TensorFlow) ou StyleGAN2 (PyTorch) entraîné sur un jeu de données d’images de voitures, de chats ou de chambres. Appliquer une méthode d’exploration de l’espace latent (par exemple, une ACP en s’inspirant de la méthode GANSpace). Analyser les directions obtenues d’un point de vue sémantique.

  9. (en binôme ou seul) Synthèse d’image satellites à partir d’une carte. Synthétiser des images satellites réalistes à partir d’une carte grossière en utilisant une méthode de génération d’images conditionnée comme pix2pix ou GauGAN. On pourra notamment utiliser soit le jeu de données LandCover.ai ( multi-classes), soit le jeu de données Inria Aerial Image Labeling (mono-classe), soit un autre jeu de données de votre choix. Note: il pourra être pertinent de réduire la taille des images (128x128 voire 64x64) en cas d’accès limité à des ressources GPU.

  10. (seul) Arithmétique des espaces latents. Comparer les possibilités de réaliser des opérations arithmétiques dans l’espace latent de différents modèles génératifs, par exemple « homme avec lunettes » - « homme sans lunettes » + « femme sans lunettes » = « femme avec lunettes ». On pourra notamment comparer des GAN et des VAE entraînés sur le jeu de données CelebA.

  11. (seul) Traduction d’image. Implémenter par vous-même dans le framework de votre choix le modèle pix2pix (seul) ou CycleGAN (en binôme) sur une ou deux applications de votre choix.

  12. (en binôme ou seul) Super-résolution par modèle génératif. L’objectif est d’augmenter la résolution d’une image. Implémenter un modèle génératif pour la super-résolution, par exemple en vous basant sur ESRGAN.

  13. (seul) Calibration des réseaux de neurones. L’objectif est d’analyser les problèmes de (non)-calibration des probabilités issus des modèles décisionnels de réseaux de neurones profonds. On étudiera l’article de recherche suivant : http://proceedings.mlr.press/v70/guo17a/guo17a.pdf. Des expérimentions sur les bases publiques seront menées pour mettre en évidence le problème pour des réseaux de neurones standard, ainsi que les méthodes pour améliorer la calibration.

  14. (en binôme ou seul) Dirichlet Prior Networks. L’objectif est d’étudier d’implémenter les modèles évidentiels de type « Dirichlet Prior Networks », qui représentent la distribution des probabilités sur le simplexe par une distribtion de Dirichlet. On étudiera et implémentera notamment cet article de recherche.

  15. (en binôme ou seul) Apprentissage actif et incertitude. L’objectif est d’expérimenter et d’analyser les méthodes de type MC-dropout pour la sélection d’exemples incertains dans un contexte d’apprentissage actif avec réseaux de neurones profonds : http://proceedings.mlr.press/v70/gal17a/gal17a.pdf.

  16. (en binôme ou seul) Incertitude pour l’apprentissage par renforcement. L’objectif est d’expérimenter et d’analyser les mesures d’incetitude avec des réseaux de neurones profonds pour des applications de « deep reinforcement learning » à partir de ces deux articles de recherche article 1, article 2.

  17. (en binôme ou seul) Fonctions d’influence et deep learning. L’objectif est d’étudier les fonctions d’influence pour expliquer l’importance d’une donnée d’entraînement d’un modèle décisionnel. On fera la synthèse de l’artcile suivant http://proceedings.mlr.press/v70/koh17a/koh17a.pdf, et mènera une campagne de validation expérimentale pour valider la méthode.

  18. (Seul) Post-hoc explainability avec LIME. L’objectif est d’étudier cet article de recherche et d’en faire la synthèse. Des expérimentations seront menées pour évaluer le modèle pour des tâches de classification d’images ou de texte.