Comment faire jouer au tennis de table à un robot ?
Actuellement, le tennis de table est l'un des points forts des Jeux Olympiques de Paris, où les joueurs démontrent un niveau physique extrêmement élevé, une capacité de mouvement rapide, un contrôle précis de divers types de balles et une agilité surhumaine.
C'est pourquoi, depuis les années 1980, les chercheurs utilisent le tennis de table comme référence pour les robots, développant de nombreux robots de tennis de table et réalisant des progrès dans des aspects clés tels que le renvoi de la balle dans le camp adverse, la frappe de cibles précises, le smash, le jeu coopératif et bien d'autres aspects du tennis de table. Cependant, aucun robot n'a encore joué un match complet de tennis de table contre un adversaire humain inconnu.
Dans cette étude, l'équipe de Google DeepMind a réussi à atteindre un niveau de performance amateur dans un match de tennis de table compétitif entre un robot et un joueur humain, grâce à une architecture de stratégie hiérarchique et modulaire, une distribution itérative des tâches, une couche d'adaptation de simulation à simulation, une randomisation du domaine, une adaptation en temps réel à un adversaire inconnu et un déploiement matériel.
1. Architecture de stratégie hiérarchique et modulaire basée sur une bibliothèque de compétences
Contrôleurs de bas niveau (LLC) : Cette bibliothèque contient diverses compétences de tennis de table, telles que le coup droit offensif, le revers défensif, le service en coup droit, etc. Chaque LLC est une stratégie indépendante, axée sur l'entraînement d'une compétence spécifique. Ces LLC sont appris par des réseaux de neurones et entraînés en simulation à l'aide du moteur physique MuJoCo.
Contrôleur de haut niveau (HLC) : Le HLC est responsable de la sélection du LLC le plus approprié en fonction de la situation actuelle du match et des capacités de l'adversaire. Il se compose des modules suivants :
Stratégie de sélection du style : Cette stratégie choisit entre le coup droit et le revers en fonction du type de balle entrante (service ou attaque).
Classificateur de rotation : Ce classificateur détermine si la balle entrante a un effet lifté ou coupé.
Descripteurs de compétences LLC : Ces descripteurs enregistrent les indicateurs de performance de chaque LLC dans différentes conditions de balle entrante, tels que le taux de réussite et le point de chute de la balle.
Module de sélection de stratégie : Ce module génère une liste de candidats LLC basée sur les descripteurs de compétences LLC, les statistiques du match et les capacités de l'adversaire.
Préférence LLC (H-value) : Ce module utilise un algorithme de bandit à gradient pour apprendre en ligne la valeur de préférence de chaque LLC et sélectionne le LLC final en fonction de ces valeurs.
2. Techniques pour réaliser une adaptation zéro-shot de la simulation à la réalité
Distribution itérative des tâches : Cette méthode collecte des données d'état initial de la balle à partir de matchs humain-humain et entraîne les LLC et HLC dans un environnement simulé. Les données générées par l'entraînement en simulation sont ensuite ajoutées à l'ensemble de données du monde réel, et ce processus est répété pour affiner progressivement la distribution des tâches d'entraînement.
Couche d'adaptation de simulation à simulation : Pour résoudre le problème des différences de paramètres du modèle de balle à effet lifté et coupé dans l'environnement simulé, l'article propose deux solutions : la régularisation de rotation et la couche d'adaptation de simulation à simulation. La régularisation de rotation est résolue en ajustant l'ensemble de données d'entraînement des LLC, tandis que la couche d'adaptation de simulation à simulation utilise des couches FiLM pour apprendre la relation de mappage entre les balles à effet lifté et coupé.
Randomisation du domaine : Pendant l'entraînement, l'article randomise les paramètres de l'environnement simulé tels que le bruit d'observation, le délai, l'amortissement de la table et de la raquette, la friction, etc., pour simuler les incertitudes du monde réel.
3. Adaptation en temps réel à un adversaire inconnu
Suivi en temps réel des statistiques du match : Le HLC suit en temps réel les statistiques du match, telles que les points marqués et les erreurs du robot et de l'adversaire, et ajuste les valeurs de préférence des LLC en fonction de ces données pour s'adapter aux changements de l'adversaire.
Apprentissage en ligne des préférences LLC : Grâce à l'algorithme de bandit à gradient, le HLC peut apprendre en ligne les valeurs de préférence de chaque LLC et sélectionner les LLC les plus appropriés en fonction des faiblesses de l'adversaire.
L'équipe de recherche collecte un petit nombre de données de jeu humain-humain pour initialiser les conditions de la tâche. Ensuite, ils utilisent l'apprentissage par renforcement (RL) pour entraîner l'agent en simulation et emploient diverses techniques pour déployer la stratégie en zéro-shot sur le matériel réel. Cet agent joue contre des joueurs humains pour générer plus de conditions de tâches d'entraînement, puis le cycle d'entraînement-déploiement est répété. Au fur et à mesure que le robot progresse, les normes du match deviennent de plus en plus complexes, tout en restant basées sur des conditions de tâches du monde réel. Ce cycle hybride simulation-réalité crée un programme automatisé de tâches qui améliore les compétences du robot au fil du temps.
Comment joue-t-il ?
Pour évaluer le niveau de compétence de l'agent, le robot a joué des matchs compétitifs contre 29 joueurs de tennis de table de différents niveaux de compétence - débutant, intermédiaire, avancé et avancé+, ces niveaux étant déterminés par un entraîneur professionnel de tennis de table.
Face à tous les adversaires, le robot a remporté 45% des matchs et 46% des sets individuels. En détaillant par niveau de compétence, on peut voir que le robot a gagné tous les matchs contre les débutants, a perdu tous les matchs contre les joueurs avancés et avancés+, et a remporté 55% des matchs contre les joueurs intermédiaires. Cela indique fortement que l'agent a atteint le niveau d'un joueur humain intermédiaire dans les échanges.
Les participants à l'étude ont apprécié jouer avec le robot, lui donnant des notes élevées pour son côté "amusant" et "engageant". Ces notes étaient cohérentes à travers les différents niveaux de compétence, que les participants aient gagné ou perdu. Ils ont également répondu de manière écrasante qu'ils seraient "certainement" prêts à rejouer avec le robot. Lorsqu'on leur a donné du temps libre pour jouer avec le robot, ils ont joué en moyenne 4 minutes et 6 secondes sur un total de 5 minutes.
Les joueurs avancés ont pu exploiter les faiblesses de la stratégie du robot, mais ils ont quand même apprécié jouer avec lui. Dans les interviews post-match, ils l'ont considéré comme un partenaire d'entraînement plus dynamique qu'une machine à servir.
Limites et perspectives
L'équipe de recherche indique que ce système d'apprentissage robotique présente encore certaines limitations, telles qu'une capacité limitée à réagir aux balles rapides et basses, une faible précision de détection de la rotation, et un manque de stratégies tactiques multi-balles.
Les futures directions de recherche comprennent l'amélioration de la capacité du robot à gérer divers types de balles, l'apprentissage de stratégies plus complexes, l'amélioration des techniques de capture de mouvement, etc.
L'équipe de recherche indique également que l'architecture de stratégie hiérarchique et les méthodes de transfert zéro-shot de la simulation à la réalité proposées dans cette étude peuvent être appliquées à d'autres tâches d'apprentissage robotique. De plus, les techniques d'adaptation en temps réel peuvent aider les robots à mieux s'adapter à des environnements et des tâches en constante évolution. En outre, les principes de conception du système sont cruciaux pour le développement de systèmes d'apprentissage robotique performants et robustes.