Nouveau Edf

Stage - Intégration de contraintes dans une problématique d'apprentissage par renforcement pour les plans de chargement - H/F

  • Stage
  • Boulogne-Billancourt (Hauts-de-Seine)
  • Master, Titre d'ingénieur, Bac +5
  • Études / Statistiques / Data

Description de l'offre

Contexte général

Ces dernières années les méthodes d’apprentissage par renforcement associées à des réseaux de neurones ont connu des succès importants. Dans le domaine des jeux ATARI, les équipes de Google DeepMind sont parvenues à atteindre des performances supérieures à celles de l’humain, en utilisant un algorithme de Deep-Q-Learning [1]. Plus récemment, ces mêmes équipes ont battu les meilleurs joueurs humains de GO avec un algorithme de MCTS [2].

Il s’agit dans les deux cas de créer un agent capable d’effectuer une série d’actions sur un environnement afin de maximiser un objectif. Cet agent possède une politique qui définit les actions à prendre en fonction de l’état de l’environnement, et une valeur qui estime le gain attendu à partir de cet état ([3]). La politique et la valeur sont représentées par un réseau de neurones, et ajustées lors d’une période d’apprentissage au cours de laquelle l’agent réalise une série d’expériences du type essai-erreur. Des bibliothèques open-source (keras, tensorflow) sont désormais disponibles et permettent d’implémenter facilement ces algorithmes.

Ce formalisme peut être utilisé pour résoudre des problèmes industriels d’optimisation dans lesquels un système qui doit respecter des critères de performance peut être modifié par une série d’actions. Elles ont alors l’avantage de concentrer l’essentiel du temps de calcul lors de la phase d’apprentissage, et de pouvoir être ensuite appliquées très rapidement à l’optimisation du même problème pour des états initiaux différents du système.

 

Problème industriel

Tous les douze ou dix-huit mois, les réacteurs nucléaires du parc français sont mis à l’arrêt pour rechargement. Dans un premier temps, tous les assemblages sont retirés du cœur. Puis, un nouvel ensemble d’assemblages, appelé recharge, est choisi. La recharge comporte, suivant les gestions, un tiers ou un quart d’assemblages neufs, ainsi que des assemblages usés, ayant déjà réalisé un ou plusieurs cycles d’irradiation. La position des assemblages dans le cœur doit être choisie judicieusement afin de respecter un ensemble de critères de sûreté. En particulier, il convient de s’assurer que la puissance est répartie de manière homogène dans le cœur et qu’elle le restera pour différentes configurations accidentelles.

Les ingénieurs EDF de l’Unité d’Ingénierie d’Exploitation (UNIE) sont chargés du choix de la disposition des assemblages usés dans le cœur ou « plan de chargement ». Pour cela, ils disposent d’une IHM qui leur permet de modifier un plan de chargement en réalisant des permutations de groupes d’assemblages.

Ce processus correspond exactement au formalisme de l’apprentissage par renforcement. Il existe certes déjà des méthodes automatiques de recherche de plan (algorithmes génétiques, colonies de fourmies), mais leur temps de calcul devient prohibitif lorsque l’on cherche à y intégrer plusieurs critères de sûreté. Il est très tentant de tester des méthodes d’apprentissage par renforcement afin de faire ce travail plus rapidement.

Une équipe d’EDF-R&D travaille donc sur cette thématique. Des algorithmes de Deep-Q-learning et de Monte-Carlo-Tree-Search sont actuellement testés. De premiers résultats encourageants ont été obtenus, mais les performances doivent encore être améliorées avant que ces nouveaux outils soient utilisables par les ingénieurs d’exploitation.

 

Objectif du stage

Un plan de chargement doit vérifier un ensemble de contraintes. Certaines d’entre elles, par exemple, interdisent de positionner un assemblage d’un certain type à une certaine position. D’autres interdisent de placer côte à côte un trop grand nombre d’assemblages du même type. L’approche la plus naturelle pour intégrer ces contraintes consiste à les prendre en compte dès la phase d’apprentissage, soit en les interdisant soit en ajoutant un terme de pénalisation à la fonction objectif.

Néanmoins, ces contraintes peuvent fréquemment varier entre deux plans de chargement. L’ingénieur d’exploitation de l’UNIE peut également, pour une raison ou pour une autre, donner au plan certaines caractéristiques. Ainsi, il serait bien plus pertinent de pouvoir réaliser un apprentissage sans contrainte, et d’être capable d’imposer a posteriori à l’agent un jeu de contraintes choisi par l’utilisateur. Cette approche est évidemment plus difficile à mettre en œuvre. On pourrait imaginer, par exemple, que l’agent soit capable non seulement de proposer la meilleure action à réaliser en l’absence de contraintes, mais soit également capable de hiérarchiser les autres actions afin de disposer d’une alternative si l’action préférée ne respecte pas les contraintes utilisateurs.

La prise en compte des contraintes est indispensable pour que les méthodes d’apprentissage par renforcement puissent être utilisées par les ingénieurs d’exploitation.

Le stagiaire contribuera aux travaux sur l’application de méthodes d’apprentissage par renforcement à la recherche de plans de chargement. En particulier, il s’agira d’étudier les moyens d’intégrer un jeu de contraintes interdisant certaines configurations d’assemblages.

Le travail nécessitera notamment de :

Comprendre les algorithmes utilisés
Comprendre les différents types de contraintes de placement des assemblages.
Trouver une méthode viable pour intégrer ces contraintes aux algorithmes d’apprentissage par renforcement.
Le contenu du stage pourra être adapté en fonction de l’avancée des travaux en cours et des compétences du stagiaire.

Références :

[1] V. Minh (Google Deep Mind) et al., Human-level control through deep reinforcement learning, Nature, vol 518, pp 529-541, Février 2015

[2] D.Silver (Google Deep Mind) et al., Mastering the game of Go without human knowledge, Nature vol 550, pp 354-359, Octobre 2017

[3] R.Sutton et al, Reinforcement Learning, An Introduction, The MIT Press, 2017

Profil recherché

Étudiant bac+5 en dernière année d'école d'ingénieur ou M2.

Sujets abordés par le stage: 

Intelligence artificielle, Physique des réacteurs nucléaires, Utilisation de langages scientifiques (Python, Keras, TensorFlow), Système d’exploitation Unix/Linux.

Compétences requises : 

Une très forte motivation est souhaitée. Ce stage porte sur un sujet de R&D amont qui nécessite des qualités de réflexion et de créativité, ainsi que des capacités informatiques. Le stagiaire devra être d’être force de proposition pour améliorer la performance des algorithmes.