Blog

Echos de la recherche #3
Publications

Echos de la recherche #3

Renforcement pour le foot ou Dark Souls 3, et nouveaux modèles génératifs

Pour notre nouvelle édition de suivi de la recherche, un peu de nouveauté ne nous fera pas de mal, et nous allons avoir l’occasion de parler un peu de Deep Reinforcement Learning. Ce domaine, passionnant, devient peu à peu applicable à des problèmes réels et nous avons relevé deux projets très originaux. Le premier a déjà fait pas mal de bruit sur les réseaux sociaux, le second beaucoup moins. Nous poursuivrons ensuite notre veille sur les modèles génératifs, en nous éloignant un peu des modèles de diffusion appliqués à l’image qui ont déjà été lourdement mis en avant, pour deux approches différentes. La première est appliquée au son (sujet plus difficile que l’image), le second présage d’une nouvelle famille de modèles…

Le renforcement, le foot et le boss…

Le renforcement est un domaine de l’IA permettant d’entraîner un agent autonome à partir d’un système de récompenses. Ce domaine a déjà été riche en résultats (AlphaGo, World Models), mais toute nouvelle application est intéressante à étudier pour mieux comprendre comment utiliser ces approches. Ici, premier résultat, des agents robotiques autonomes miniatures ont appris à jouer au football, ce qui est un petit exploit. L’autre exemple montre comment un agent a progressivement appris à jouer à un jeu vidéo récent et assez complexe.

Que se passe-t-il?

Quand Deepmind sort une publication en renforcement, on se sent un peu obligé d’écouter, ne serait-ce que parce qu’ils ont déjà sorti AlphaGo ou de nombreux algorithmes comme le Rainbow. Ici, des robots apprennent à jouer au foot, et au-delà du spectacle produit, de nombreux points sont très intéressants sur le plan de la recherche.


Apprends-moi le foot, je viendrai aux entraînements

Dans Learning Agile Soccer Skills for a Bipedal Robot with Deep Reinforcement Learning de Haarnoja et al [https://arxiv.org/abs/2304.13653], les auteurs proposent une approche qui complète pour adresser le sujet. Parmi les points à relever :

2 robots autonomes miniatures bipèdes se font face sur un terrain de football fermé et doivent pousser une balle dans le but de l’autre.

Les auteurs travaillent sur une approche classique où l’apprentissage se fait en simulation et l’application en réalité. Hors, le problème du passage de l’un à l’autre, Sim2Real, a déjà causé de nombreux traumatismes dans la recherche ou l’industrie. Avoir un agent performant en simulation est “facile”. Avoir un agent qui arrive à généraliser à des cas réels est autrement plus ardu. On pourrait objecter (à raison) qu’ici, les auteurs ont un contrôle optimal du monde réel, loin des conditions d’une usine par exemple. Néanmoins, l’application de la Domain Randomization est dans ce cas très intéressante.

Autre point d’intérêt, l’usage ici (dans les premières versions) d’observations basées sur des valeurs numériques définissant exactement le comportement de l’agent adverse, et non d’une caméra présente sur le robot. Ce point nous confirme qu’aujourd’hui encore, l’usage de la vision en renforcement est source d’une complexité supplémentaire impressionnante. Notons que les auteurs ont, dans un second temps, testé un apprentissage sur l’image captée pure, pour des résultats intéressants mais beaucoup moins convaincants. Il faut insister sur ce point, car cela implique qu’il est nécessaire en application de récupérer ces valeurs absolues (position de la balle, position et mouvement de l’autre joueur), la moindre erreur de mesure entraînant une mise en échec du système.

L’entraînement est aussi intéressant, car adapté au problème. Nous avons ici deux premiers entraînements différents et séparés sur deux problématiques particulières :

  • Le “soccer teacher” vise à entraîner l’agent à marquer le plus de but, une fois en position debout
  • Le “get up teacher” lui entraîne l’agent à se relever et à rester debout.

C’est suite à ces deux entraînements que l’on entraîne la “1vs1 policy” que suivra un agent.

Chaque entraînement a évidemment ses propres récompenses. L’approche graduelle isole les principales problématiques qui ne peuvent être enseignées globalement. On retrouve cette conclusion déjà connue : l’apprentissage de la locomotion est un problème non trivial.

Pour résumer, au-delà de l’exploit et du spectacle, ce travail est un “must-read” pour observer comment les approches DRL ont été décomposées pour donner une solution fonctionnelle à la fin.

Dark Souls 3 : quand un joueur cherche une martingale grâce l’IA

Changeons d’application pour un travail beaucoup moins à la une, mais tout aussi riche d’enseignements et de retours d’expérience. Un joyeux fou furieux s’est mis en tête d’apprendre via le renforcement à jouer au jeu Dark Souls 3 et de vaincre le boss grâce à l’IA !

Dans cet article : [https://soulsgym.readthedocs.io/en/latest/?badge=latest], il a notamment étendu l’environnement OpenAIGym pour intégrer le jeu comme environnement. Il ne travaille (hélas) pas sur l’image du jeu, mais sur des données numériques représentant l’ennemi et la situation du joueur. Ce qui est passionnant ici est d’observer quelles techniques ont fonctionné pour un amateur loin des Deepmind/OpenAI. Et force est de reconnaître que son approche fonctionne, via des algorithmes plutôt simple (ici en Q Learning, Duelling Double Q Learning. Le célèbre Rainbow de Deepmind n’est même pas utilisé. En revanche, on retrouve le côté indispensable d’une parallélisation des agents qui est ici implémentée.

Nous manquons cruellement de cas d’application de ce type qui permettent d’observer ce qui “fonctionne vraiment” face à un nouveau problème. La lecture du code de cette approche est donc fortement recommandée.

Pourquoi c’est intéressant ?

Nous avons intérêt à suivre ce type de projets, car le renforcement est un domaine de l’IA encore réservé à la recherche, et peu propagé à l’industrie. Nous manquons donc de cas d’application nous permettant de mieux adresser les sujets de nos clients. Le renforcement est probablement la prochaine “révolution” de l’IA de par sa liberté et ses performances…

Modèles génératifs : Audio et (peut-être) le modèle du futur ?

De quoi parlons-nous?

Les modèles génératifs sont cette famille de l’intelligence artificielle où un réseau de neurones apprend à générer une donnée qui n’existait pas : image, texte, etc. Ici, les deux travaux présentés sont, d’une part, une application à la génération sonore très pertinente, et d’autre part, une nouvelle famille de modèles proposée par un acteur incontournable du domaine, OpenAI.

Que se passe-t-il?

Les modèles de diffusion ont, comme chacun le sait, explosé en juin dernier avec les Latent Diffusion Models. Chaque semaine, de nouvelles approches apparaissent, particulièrement en génération d’images. Nous sommes en ce moment dans une période d’explosion du nombre de travaux académique qui nous donne surtout envie de prendre un peu de recul 🙂

Ceci dit, loin des sentiers battus, une approche récente s’est appliquée à la génération de son (pas de musique) à partir d’un prompt textuel. Ce type de travail nous intéresse car :

  • Nous manquons de modèles sachant générer de l’audio correctement (le Jukebox d’OpenAI date de 2020)
  • L’audio est beaucoup plus difficile à générer que l’image : moins de donnée, et le cerveau humain est beaucoup moins tolérant aux erreurs dans le son que dans l’image.

Nous pouvons donc vous recommander la lecture du Tango : Text-to-Audio Generation using Instruction Tuned LLM and Latent Diffusion Model [https://tango-web.github.io/]. Les résultats sont très intéressants. Un Language Model pré-entraîné est utilisé, face à un modèle de diffusion sur l’audio. On retrouve une approche de type LDM avec un VQ-VAE chargé d’encoder ou de décoder un vecteur qui, lui, sera bruité ou débruité pour génération. Autre point d’attention, l’audio final est affiné en qualité par un Generative Adversarial Network (GANs are not dead!), le Hifi-Gan.

Pour finir, nous sommes obligés de relever que les célèbres OpenAI ont, récemment, proposé une nouvelle approche pour les modèles génératifs. Si d’ordinaire, nous évitons ce type de travail pour nous concentrer sur les travaux reproduits et intégrés par le monde académique, nous pouvons difficilement ignorer celui-ci considérant son auteur et ses promesses.

Les Consistency Models [https://arxiv.org/pdf/2303.01469v1.pdf] sont ainsi une évolution des modèles de diffusion qui n’est pas sans rappeler les Neural Ordinary Differential Equations. En effet, le problème (ici de bruitage/débruitage) est exprimé dans le domaine continu, non plus discret, et son utilisation passe par la résolution d’une équation différentielle modélisant la transition d’un modèle classique de diffusion.

Parmi les points intéressants, les auteurs proposent ici un travail permettant de faire de la génération en une unique passe (contrairement aux modèles de diffusion), mais où l’on peut décomposer la génération en plusieurs appels. Cela permet d’avoir un équilibre contrôlable entre qualité et rapidité de la génération. On retrouve les applications classiques : inpainting, editing, colorizing, super-resolution, etc.

Nous n’allons pas mettre nos modèles de diffusion à la poubelle dans l’heure pour les remplacer par ces travaux, évidemment. Les LDM s’accompagnent aujourd’hui d’une tonne de travaux et d’une communauté qui enrichissent très fortement les outils proposés. Mais nous pouvons garder un oeil sur ces nouveaux outils qui peut-être, demain, deviendront le nouvel outil pour avoir la classe à la plage.

Pourquoi c’est intéressant ?

Générer du son (et certaines formes de signal) est une tâche encore très complexe qui a de nombreuses applications dans l’industrie. Le travail sur l’audio est pour nous un nouvel outil intéressant pour demain, travailler en génération de donnée synthétique. Le deuxième travail est plus fondamental, mais intéressant à suivre pour rester à jour des évolutions de ce domaine.

Rédacteur Eric Debeir – Directeur technique de Datalchemy

eric@datalchemy.net