offres d'emploi formations actualités contact accès annuaire intranet
Sujets de thèses >

Création d’Intelligence Artificielle pour les jeux complexes

équipe : Osmose / Encadrants : C. Fonlupt, F. Teytaud / Financement envisagé : 100% ULCO - Télécharger le sujet détaillé


Les jeux procurent un environnement de test pour la création d’Intelligence Artificielle utilisant l’apprentissage profond qui sont extrêmement intéressants comme le montrent les nombreux articles de recherche sur cette thématique [4, 5, 6]. Les derniers travaux dans les jeux se concentrent surtout sur les jeux de plateau pour lesquels les règles sont en général simples, et où deux joueurs s’affrontent. Il est évident que ce type de jeux n’est qu’une sous catégorie de problèmes, et dans ce sujet nous nous intéressons à créer des intelligences artificielles qui devront être compétitives pour des jeux de société complexes, à N>=2 joueurs et pour lesquels les stratégies à adopter nécessitent des interactions complexes et parfois collaboratives entre les joueurs.

Les jeux complexes se révèlent être un cas d’étude très pertinent car outre leur caractère stochastique dû à la présence de plusieurs joueurs, ils permettent dans un cadre restreint de tester des IA très compétitives. En particulier, les jeux complexes permettent de générer un environnement contrôlable, pleinement reconductible et nécessitant un traitement d’une importante quantité de données. La flexibilité et la richesse de ces plateformes de jeux permettent de créer des IA adaptatives. Les derniers travaux réalisés sur les jeux de Go, d’échecs et de Shogi vont dans ce sens. En effet pour ces jeux, des réseaux de neurones profonds ont été couplés avec des algorithmes d’apprentissage par renforcement afin de créer des intelligences artificielles (deep learning en particulier) dont les performances sont bien au dessus des algorithmes précédents [3]. Des travaux ont par ailleurs montré que les jeux dont l’environnement se modifie de manière substantielle permettent d’accélérer la période d’entraînement de ces réseaux. Ils permettent ainsi de développer des modèles pour l’utilisation d’algorithmes d’apprentissage profond. En outre, les environnements de jeux permettent de prendre en compte de nombreuses informations du monde réel :

  • dynamique complexe ;
  • information partielle ou cachée ;
  • récompense différée ;
  • traitement d’un grand nombre de données ;
  • actions concurrentes avec une granularité différence ;
  • ...

La première partie de cette thèse consistera donc à s’approprier et à utiliser des algorithmes d’apprentissage profond dans le cadre de jeux complexe. Cette partie sera réalisée en collaboration avec Olivier Teytaud, chercheur au FAIR (Facebook Artificial Intelligence Research - https://research.fb.com/category/facebook-ai-research/) qui nous propose d’utiliser les méthodes et algorithmes développés dans le cadre de ce centre afin de les adapter aux jeux complexes. Ce type de travaux sont aujourd’hui très en vogue [7, 8, 9, 10] car les dernières avancées sur la problématique des jeux ont permis de créer, outre des avancées dans d’autres domaines comme la médecine mais également dans d’autres domaines applicatifs comme la biologie cellulaire.

Dans un second temps, nous nous proposons de définir une plateforme permettant de travailler sur des algorithmes frugaux en IA. En effet, les techniques basées sur l’apprentissage profond sont par essence coûteuses dans leur entraînement. Par exemple dans les derniers travaux réalisés par google, il est aujourd’hui quasi impossible de reproduire les résultats sans accès à leur architecture de calcul et leur fameux TPU (Tensor Processing Unit). Différents projets open-source ont été créés mais même après des mois de calcul sur CPU/GPU ces projets n’ont pas atteint le niveau des programmes de Google. Ces temps de calcul ne sont aujourd’hui pas raisonnables et des travaux d’amélioration sont donc nécessaire afin de créer des algorithmes frugaux, tout en conservant une certaine qualité de performance.

Pour ce faire différentes pistes sont envisageables ; tout d’abord il est important de comprendre que la partie coûteuse de ces algorithmes ne réside pas dans l’apprentissage par renforcement en lui même, mais dans l’apprentissage et l’évaluation des réseaux de neurones profonds qui sont utilisés pour biaiser l’apprentissage par renforcement.

Par conséquent, une première piste serait d’être actif sur la phase d’apprentissage, en sélectionnant ou créant des exemples artificiels pertinents pour le guidage de l’algorithme.

Nous pourrions également envisager un autre type de biais, basé sur une apprentissage statistique : moins précis mais beaucoup plus rapide.