Maison >Périphériques technologiques >IA >S'adaptant à de multiples formes et tâches, le système d'apprentissage robot open source le plus puissant 'Octopus' est né
En termes d'apprentissage robotique, une approche courante consiste à collecter un ensemble de données spécifiques à un robot et à une tâche spécifiques, puis à l'utiliser pour entraîner une politique. Cependant, si cette méthode est utilisée pour apprendre à partir de zéro, suffisamment de données doivent être collectées pour chaque tâche, et la capacité de généralisation de la politique qui en résulte est généralement faible.
« En principe, l'expérience collectée auprès d'autres robots et tâches peut fournir des solutions possibles, permettant au modèle de voir une variété de problèmes de contrôle du robot, et ces problèmes peuvent améliorer les performances générales du robot sur les tâches en aval. Cependant, même s'il y en a. sont des modèles généraux capables de gérer une variété de tâches de langage naturel et de vision par ordinateur, il est encore difficile de construire un « modèle de robot universel » pour former une stratégie de contrôle unifiée pour le robot. Extrêmement difficile, impliquant de nombreuses difficultés, notamment le fonctionnement de différents corps de robot, configurations de capteurs, espaces d'action, spécifications de tâches, environnements et budgets de calcul.
Afin d'atteindre cet objectif, certains résultats de recherche liés au « modèle de base du robot » sont apparus ; leur approche consiste à mapper directement les observations du robot en actions, puis à les généraliser à de nouveaux domaines ou à de nouveaux robots grâce à des solutions sans échantillon. Ces modèles sont souvent appelés « politiques robotiques généralistes » ou GRP, qui mettent l'accent sur la capacité du robot à effectuer un contrôle visuomoteur de bas niveau sur une variété de tâches, d'environnements et de systèmes robotiques.
GNM (General Navigation Model) convient à une variété de scénarios de navigation de robots différents. RoboCat peut faire fonctionner différents corps de robot en fonction des objectifs de la mission. RT-X peut faire fonctionner cinq corps de robot différents via le langage. Bien que ces modèles constituent en effet une avancée importante, ils souffrent également de multiples limitations : leurs observations d'entrée sont souvent prédéfinies et souvent limitées (comme par exemple un flux vidéo d'entrée d'une seule caméra) ; modèles Les plus grandes versions ne sont pas disponibles pour les utilisateurs (c'est important).
Récemment, l'équipe Octo Model composée de 18 chercheurs de l'Université de Californie à Berkeley, de l'Université de Stanford, de l'Université Carnegie Mellon et de Google DeepMind a publié ses résultats de recherche révolutionnaires : le modèle Octo. Ce projet surmonte efficacement les limitations ci-dessus.
Titre de l'article : Octo : Une politique de robot généraliste open source
Le cœur du modèle est l'architecture Transformer, qui mappe des jetons d'entrée arbitraires (créés sur la base d'observations et de tâches) en jetons de sortie (puis codés en actions), et cette architecture peut être utilisée avec divers ensembles de données de robots et de tâches. former. La politique peut accepter différentes configurations de caméras sans formation supplémentaire, contrôler différents robots et être guidée par des commandes verbales ou des images cibles, le tout en modifiant simplement les jetons entrés dans le modèle.
Plus important encore, le modèle peut également s'adapter à de nouvelles configurations de robots avec différentes entrées de capteurs, espaces de fonctionnement ou morphologies de robots. Il suffit d'adopter un adaptateur approprié et d'utiliser un petit ensemble de données de domaine cible et une petite quantité de données. données. Calculer le budget pour un réglage fin.
De plus, Octo a également été pré-formé sur le plus grand ensemble de données de manipulation de robots à ce jour : 800 000 démonstrations de robots issues de l'ensemble de données Open X-Embodiment. Octo n'est pas seulement le premier GRP à être adapté efficacement aux nouveaux espaces d'observation et d'action, c'est aussi la première stratégie généraliste de manipulation de robots entièrement open source (workflow de formation, points de contrôle du modèle et données). L'équipe a également souligné dans le document la nature unique et innovante de ses composants Octo combinés.
Modèle Octo
Architecture
Le cœur d'Octo est basé sur la stratégie π de Transformer. Il contient trois éléments clés : le tokenizer d'entrée, le réseau fédérateur Transformer et la tête de lecture.
Comme le montre la figure 2, la fonction du tokenizer d'entrée est de convertir les instructions de langage, les cibles et les séquences d'observation en jetons. Le squelette du Transformer traitera ces jetons en intégrations et la tête de lecture obtiendra la sortie requise. c'est-à-dire l'action.
Pour convertir les définitions de tâches (telles que les instructions linguistiques et les images cibles) et les observations (telles que les flux vidéo de caméra) en formats tokenisés couramment utilisés, l'équipe a ciblé Différentes modalités utilisent différents tokeniseurs :
Pour la saisie du langage, il est d'abord tokenisé, puis traité en une séquence de jetons intégrant un langage via un transformateur pré-entraîné. Plus précisément, le modèle qu'ils ont utilisé est la base t5 (111M).
Pour les observations d'images et les cibles, elles sont traitées à travers une pile de convolution moins profonde, puis divisées en une séquence de tuiles aplaties.
Enfin, la séquence d'entrée du Transformateur est construite en ajoutant des intégrations de positions apprenables aux jetons de tâche et d'observation et en les organisant dans un certain ordre.
Après avoir traité l'entrée en une séquence de jetons unifiée, elle peut être transmise au Transformer pour traitement. Ceci est similaire aux travaux de recherche antérieurs sur la formation de politiques basées sur des transformateurs basées sur des observations et des séquences d'action.
Le mode attention d'Octo est un masquage bloc par bloc : les jetons d'observation ne peuvent prêter attention qu'aux jetons et aux jetons de tâche du même pas de temps ou des pas de temps précédents selon la relation causale. Les jetons correspondant à des observations inexistantes sont complètement masqués (comme les jeux de données sans instructions de langage). Cette conception modulaire facilite l'ajout ou la suppression d'observations ou de tâches pendant la phase de mise au point.
En plus de ces modules de jetons d'entrée, l'équipe a également inséré des jetons de lecture appris. Le jeton de lecture prêtera attention à ses jetons d'observation et de tâche précédents, mais ne sera pris en compte par aucun jeton d'observation ou de tâche. Par conséquent, les jetons de lecture peuvent uniquement lire et traiter l'intégration interne, mais ne peuvent pas affecter l'intégration interne. Le jeton de lecture agit de la même manière que le jeton [CLS] dans BERT, agissant jusqu'à présent comme un vecteur compact intégrant la séquence d'observations. Pour l'intégration des jetons de lecture, un « en-tête d'action » léger qui implémente le processus de diffusion sera utilisé. Cet en-tête d'action prédit un « morceau » de plusieurs actions consécutives.
Cette conception permet aux utilisateurs d'ajouter de manière flexible de nouvelles tâches et des en-têtes d'entrée d'observation ou de sortie d'action au modèle lors du réglage fin en aval. Lors de l'ajout de nouvelles tâches, observations ou fonctions de perte en aval, vous pouvez conserver les poids pré-entraînés du Transformer dans leur ensemble et ajouter uniquement de nouvelles intégrations positionnelles, un nouvel encodeur léger ou de nouveaux en-têtes nécessaires en raison des modifications des paramètres de spécification. Cela diffère des architectures précédentes, qui nécessitaient la réinitialisation ou le recyclage de nombreux composants du modèle pré-entraîné si des entrées d'image étaient ajoutées ou supprimées ou si les spécifications des tâches étaient modifiées.
Pour faire d'Octo un véritable modèle "généraliste", cette flexibilité est cruciale : puisqu'il nous est impossible de couvrir toutes les configurations possibles de capteurs et d'actions du robot en phase de pré-entraînement, si nous pouvons ajuster Octo en fin d'entraînement. étape de réglage Ses entrées et sorties en font un outil polyvalent pour la communauté robotique. De plus, les conceptions de modèles précédentes qui utilisaient une structure de transformateur standard ou fusionnaient un encodeur visuel avec une tête de sortie MLP fixaient le type et l'ordre des entrées du modèle. En revanche, changer d'observations ou de tâches d'Octo ne nécessite pas de réinitialisation d'une grande partie du modèle.
Données d'entraînement
L'équipe a pris un ensemble de données mixte de 25 ensembles de données d'Open X-Embodiment. La figure 3 donne la composition de l'ensemble de données.
Veuillez vous référer au document original pour plus de détails sur les objectifs de formation et la configuration du matériel de formation.
Modèles de points de contrôle et de code
Voici le point ! L'équipe a non seulement publié l'article d'Octo, mais a également rendu toutes les ressources entièrement open source, notamment :
L'équipe a également mené une analyse empirique d'Octo à travers des expériences et évalué ses performances en tant que modèle de robot de base dans plusieurs dimensions :
La figure 4 montre les 9 tâches pour évaluer Octo.
Utilisez directement Octo pour contrôler plusieurs robots
L'équipe a comparé les capacités de contrôle sans échantillon d'Octo, RT-1-X et RT-2-X. Les résultats sont présentés dans. Graphique 5.
On constate que le taux de réussite d'Octo est 29% supérieur à celui du RT-1-X (35 millions de paramètres). Dans l'évaluation WidowX et RT-1 Robot, les performances d'Octo sont équivalentes à celles de RT-2-X avec 55 milliards de paramètres.
De plus, RT-1-X et RT-2-X ne prennent en charge que les commandes de langage, tandis qu'Octo prend également en charge les images conditionnelles sur la cible. L’équipe a également constaté que sur la tâche WidowX, les taux de réussite étaient 25 % plus élevés lorsqu’ils étaient conditionnés aux images cibles que lorsqu’ils étaient conditionnés au langage. Cela peut être dû au fait que les images cibles fournissent plus d'informations sur l'achèvement des tâches.
Octo peut utiliser efficacement les données pour s'adapter à de nouveaux champs
Le Tableau 1 donne les résultats expérimentaux d'un réglage fin efficace des données.
Vous pouvez voir qu'un réglage fin d'Octo donne de meilleurs résultats qu'un entraînement à partir de zéro ou un pré-entraînement avec des poids VC-1 pré-entraînés. Sur 6 paramètres d'évaluation, l'avantage moyen d'Octo par rapport à la deuxième place est de 52 % !
Et je dois mentionner : pour toutes ces tâches d'évaluation, les recettes et hyperparamètres utilisés lors du réglage fin d'Octo étaient tous les mêmes, ce qui montre que l'équipe a trouvé une très bonne configuration par défaut.
Décisions de conception pour une formation généraliste aux politiques robotiques
Les résultats ci-dessus montrent qu'Octo peut en effet être utilisé comme un contrôleur multi-robot à tir nul et peut également être utilisé comme base d'initialisation pour le réglage fin des politiques . Ensuite, l'équipe a analysé l'impact de différentes décisions de conception sur les performances de la stratégie Octo. Plus précisément, ils se concentrent sur les aspects suivants : l'architecture du modèle, les données de formation, les objectifs de formation et la taille du modèle. Pour ce faire, ils ont mené des études d’ablation.
Le tableau 2 présente les résultats de l'étude d'ablation sur l'architecture du modèle, les données de formation et les objectifs de formation.
La figure 6 montre l'impact de la taille du modèle sur le taux de réussite de l'échantillon zéro. On peut voir que les modèles plus grands ont de meilleures capacités de perception visuelle de la scène.
Dans l’ensemble, l’efficacité des composants d’Octo a été prouvée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!