Les chercheurs ont conçu un système qui permet aux robots d’apprendre de manière autonome des tâches complexes à partir d’un très petit nombre de démonstrations, même imparfaites. Alors que les méthodes de pointe actuelles nécessitent au moins 100 démonstrations pour clouer une tâche spécifique, cette nouvelle méthode permet aux robots d’apprendre à partir d’une poignée de démonstrations seulement.
Des robots qui apprennent des démonstrations qui leurs sont faites
Imaginez si les robots pouvaient apprendre en regardant des démonstrations: vous pourriez montrer à un robot domestique comment faire des tâches de routine ou dresser une table. Sur le lieu de travail, vous pouvez former des robots comme de nouveaux employés, en leur montrant comment effectuer de nombreuses tâches. Sur la route, votre voiture autonome pourrait apprendre à conduire en toute sécurité en vous regardant conduire dans votre quartier.
Faisant progresser cette vision, les chercheurs de l’USC ont conçu un système qui permet aux robots d’apprendre de manière autonome des tâches complexes à partir d’un très petit nombre de démonstrations, même imparfaites. Le document, intitulé Learning from Demonstrations Using Signal Temporal Logic, a été présenté à la Conférence sur l’apprentissage robotique (CoRL), le 18 novembre.
Le système des chercheurs fonctionne en évaluant la qualité de chaque démonstration, afin qu’il apprenne des erreurs qu’il constate, ainsi que des réussites. Alors que les méthodes de pointe actuelles nécessitent au moins 100 démonstrations pour clouer une tâche spécifique, cette nouvelle méthode permet aux robots d’apprendre à partir d’une poignée de manifestations. Cela permet également aux robots d’apprendre de manière plus intuitive, la façon dont les humains apprennent les uns des autres – vous regardez quelqu’un exécuter une tâche, même imparfaitement, puis essayez vous-même. Cela n’a pas à être une démonstration «parfaite» pour que les humains glanent des connaissances en se regardant les uns les autres.
«De nombreux systèmes d’apprentissage automatique et d’apprentissage par renforcement nécessitent de grandes quantités de données et des centaines de démonstrations – vous avez besoin d’un humain pour faire des démonstrations maintes et maintes fois, ce qui n’est pas faisable», a déclaré l’auteur principal Aniruddh Puranic, un Ph.D. étudiant en informatique à l’USC Viterbi School of Engineering.
«De plus, la plupart des gens n’ont pas de connaissances en programmation pour indiquer explicitement ce que le robot doit faire, et un humain ne peut pas démontrer tout ce qu’un robot a besoin de savoir. Et si le robot rencontre quelque chose qu’il n’a pas vu auparavant? un défi majeur. «
Apprendre des démonstrations
L’apprentissage des démonstrations devient de plus en plus populaire pour obtenir un contrôle efficace du robot politiques – qui contrôlent les mouvements du robot – pour des tâches complexes. Mais il est sensible aux imperfections dans les démonstrations et soulève également des problèmes de sécurité car les robots peuvent apprendre des actions dangereuses ou indésirables.
De plus, toutes les démonstrations ne se valent pas: certaines démonstrations sont un meilleur indicateur du comportement souhaité que d’autres et la qualité des démonstrations dépend souvent de l’expertise de l’utilisateur qui fournit les démonstrations.
Pour résoudre ces problèmes, les chercheurs ont intégré la «logique temporelle du signal» ou STL pour évaluer la qualité des démonstrations et les classer automatiquement pour créer des récompenses inhérentes.
En d’autres termes, même si certaines parties des démonstrations n’ont aucun sens en fonction des exigences logiques, en utilisant cette méthode, le robot peut toujours apprendre des parties imparfaites. D’une certaine manière, le système arrive à sa propre conclusion sur l’exactitude ou le succès d’une démonstration.
«Disons que les robots apprennent de différents types de démonstrations – cela pourrait être une démonstration, vidéos ou simulations – si je fais quelque chose de très dangereux, les approches standard feront l’une des deux choses suivantes: soit, elles l’ignoreront complètement, ou pire encore, le robot apprendra la mauvaise chose », a déclaré le co- auteur Stefanos Nikolaidis, professeur adjoint d’informatique à l’USC Viterbi.
« En revanche, de manière très intelligente, ce travail utilise un raisonnement de bon sens sous forme de logique pour comprendre quelles parties de la démonstration sont bonnes et quelles parties ne le sont pas. En substance, c’est exactement ce que font aussi les humains. »
Prenons, par exemple, une démonstration de conduite où quelqu’un saute un panneau d’arrêt. Cela serait classé plus bas par le système qu’une démonstration d’un bon conducteur. Mais, si au cours de cette démonstration, le conducteur fait quelque chose d’intelligent – par exemple, applique ses freins pour éviter une collision – le robot apprendra toujours de cette action intelligente.
S’adapter aux préférences humaines
La logique temporelle du signal est un langage symbolique mathématique expressif qui permet un raisonnement robotique sur les résultats actuels et futurs. Alors que les recherches précédentes dans ce domaine ont utilisé la «logique temporelle linéaire», la STL est préférable dans ce cas, a déclaré Jyo Deshmukh, ancien ingénieur de Toyota et professeur adjoint d’informatique à l’USC Viterbi.
«Lorsque nous entrons dans le monde des systèmes cyber-physiques, comme les robots et les voitures autonomes, où le temps est crucial, la logique temporelle linéaire devient un peu lourde, car elle raisonne sur des séquences de valeurs vraies / fausses pour les variables, tandis que STL permet le raisonnement sur les signaux physiques. «
Puranic, qui est conseillé par Deshmukh, a eu l’idée après avoir suivi un cours de robotique pratique avec Nikolaidis, qui a travaillé sur le développement de robots pour apprendre des vidéos YouTube. Le trio a décidé de le tester. Tous les trois se sont dits surpris par l’ampleur du succès du système et les professeurs remercient Puranic pour son travail acharné.
« Par rapport à un algorithme de pointe, largement utilisé dans de nombreuses applications robotiques, vous voyez une différence d’ordre de grandeur dans le nombre de démonstrations nécessaires », a déclaré Nikolaidis.
Le système a été testé à l’aide d’un simulateur de jeu de style Minecraft, mais les chercheurs ont déclaré que le système pourrait également apprendre des simulateurs de conduite et même des vidéos. Ensuite, les chercheurs espèrent l’essayer sur de vrais robots. Ils ont dit que cette approche est bien adaptée pour les applications où les cartes sont connues à l’avance mais où il y a des obstacles dynamiques sur la carte: des robots dans les environnements domestiques, des entrepôts ou même des rovers d’exploration spatiale.
« Si nous voulons que les robots soient de bons coéquipiers et aident les gens, ils doivent d’abord apprendre et s’adapter très efficacement aux préférences humaines », a déclaré Nikolaidis. « Notre méthode fournit cela. »
« Je suis ravi d’intégrer cette approche dans les systèmes robotiques pour les aider à apprendre efficacement des démonstrations, mais aussi à aider efficacement les coéquipiers humains dans une tâche collaborative. »
SEO AGENCE est une agence digitale à Lille.