Données épisodiques contre trajectoires robotiques en flux continu

Données épisodiques ou flux continu ? Le choix de cadrage qui sous-tend chaque jeu de données de trajectoires robotiques, et qui détermine ce qu’une policy peut réellement apprendre.

7 min de lecture

Un jeu de données robotiques n’arrive presque jamais sous la forme d’un seul long enregistrement. Il est prédécoupé en épisodes : atteindre, saisir, poser, réinitialiser, répéter. Quelqu’un, ou un script, a décidé où chaque clip commence et se termine. Cette décision est prise bien avant le moindre pas de gradient, et elle façonne discrètement ce qu’une policy (politique) entraînée sur ces données peut apprendre, et ce qu’elle ne peut pas.

L’alternative est un flux : un journal ininterrompu d’observations et d’actions qui s’étend sur des minutes, voire des heures, sans rupture nette. Les deux décrivent la même activité physique. Ils ne sont pas interchangeables. Le cadre retenu, épisodique ou en flux continu, détermine comment les données sont stockées, comment elles sont annotées, quels algorithmes peuvent les exploiter, et ce que signifie réellement un chiffre de benchmark.

C’est l’une des décisions les plus discrètes de l’apprentissage robotique. C’est aussi l’une des plus lourdes de conséquences. Voici pourquoi elle compte.

Ce qu’un épisode présuppose en silence

Un épisode est une trajectoire bornée : un état de départ, une séquence de paires observation-action, et une condition terminale, qu’il s’agisse d’un succès, d’un échec, ou d’un horizon temporel fixe. Le mot « réinitialisation » masque l’essentiel du travail. Entre deux épisodes, quelqu’un ramène la scène à un état de départ neuf, à la main, par script, ou à l’aide d’un second bras. Cette réinitialisation est un privilège de laboratoire. Un humanoïde qui travaille sur un site réel n’est jamais téléporté vers une pose canonique entre deux tâches.

La plupart des corpus d’apprentissage par imitation sont épisodiques par construction. Open X-Embodiment agrège de l’ordre d’un million de trajectoires, chacune étant une démonstration bornée assortie d’une étiquette de tâche connue. DROID rassemble des épisodes téléopérés collectés dans des centaines de scènes. RH20T s’organise autour d’épisodes de tâches riches en contacts. Cette structure est pratique à entraîner. Elle constitue aussi une hypothèse forte sur l’endroit où une tâche commence et où elle s’arrête.

Ce qu’un flux conserve et qu’un épisode élimine

Regardons maintenant les corpus vidéo à la première personne. Ego4D et son successeur multivue Ego-Exo4D sont pour l’essentiel des flux : des milliers d’heures d’activité égocentrique qui s’écoulent sans réinitialisation. Une personne essuie un plan de travail, marque une pause, tend la main vers un chiffon, le laisse tomber, le ramasse, puis glisse vers la tâche suivante. Rien de tout cela n’est coupé au montage.

Le flux conserve « l’entre-deux ». Il conserve la transition d’une compétence à la suivante, les secondes d’inactivité, le faux pas et la façon de s’en sortir. Le découpage épisodique supprime généralement précisément ce matériau, parce qu’une démonstration propre est plus facile à annoter et fait meilleure figure dans un montage de moments forts. Or c’est justement dans cet entre-deux que se logent la plupart des échecs en déploiement.

Les moments d’inactivité et d’échec ne sont pas non plus du gaspillage. Un flux qui conserve un chiffon tombé et le geste pour le récupérer enseigne la récupération gratuitement, exactement le comportement qu’une policy entraînée sur des succès épurés ne voit jamais. Découper de façon trop agressive ne se limite pas à raccourcir des clips. C’est sélectionner un monde où rien ne tourne jamais mal, puis s’étonner que le robot se fige la première fois que quelque chose tourne mal.

Un épisode est une hypothèse sur l’endroit où une tâche commence et se termine. Un flux refuse de deviner. C’est dans l’écart entre les deux que se cachent la plupart des échecs d’une policy dans le monde réel.

Les deux cadrages, côte à côte

Comment les données robotiques épisodiques et en flux continu diffèrent tout au long du pipeline
DimensionDonnées épisodiquesDonnées en flux continu
Unité de donnéesTrajectoire bornée avec un terminalJournal continu, sans fin fixe
Réinitialisation entre tâchesSupposée et requiseAucune ; l’activité continue de s’écouler
Source typiqueTéléopération, démonstrations scriptéesDispositifs portables égocentriques, journaux de déploiement
Algorithmes les mieux adaptésClonage comportemental, RL hors ligne par épisodeRL sans réinitialisation, apprentissage continu et auto-supervisé
AnnotationLimites connues dès la captureNécessite une segmentation temporelle a posteriori
Échec et récupérationGénéralement coupés au montageConservés intégralement
Forme de stockageBeaucoup de petits fichiersQuelques fichiers très longs

Le stockage rend cette scission concrète. Les épisodes se fragmentent naturellement en une multitude de petits fichiers qu’un chargeur d’entraînement peut mélanger aléatoirement, exactement ce que veut la descente de gradient stochastique. Un flux est une poignée de fichiers très longs qui résistent au mélange et exigent un index rien que pour retrouver la minute intéressante. Aucune des deux formes n’est fautive. Chacune est calibrée pour un consommateur différent, et convertir de l’une à l’autre relève d’un véritable travail d’ingénierie, pas d’un simple indicateur de format.

Pourquoi le cadre change l’algorithme

Le clonage comportemental veut des épisodes. Il apprend une correspondance directe entre observation et action, et s’appuie sur une tâche clairement définie et un terminal pour savoir quand il a fini. Une grande partie de l’apprentissage par renforcement hors ligne hérite de la même hypothèse, en calculant les retours sur des épisodes aux fins bien définies. Donnez à ces méthodes un flux brut, et elles n’ont plus rien où s’ancrer.

L’apprentissage sans réinitialisation et l’apprentissage continu veulent des flux. Tout comme n’importe quel robot qui doit fonctionner pendant une heure sans qu’un humain ne redémarre la scène. Le déploiement produit des flux par défaut ; une flotte enregistre une expérience continue, pas des clips bien nets. Le décalage saute aux yeux dès qu’on le nomme : on entraîne sur des épisodes et on déploie dans des flux.

L’évaluation se scinde le long de la même ligne de fracture. Un benchmark épisodique rapporte un taux de réussite : combien de tentatives bornées se sont bien terminées. Un déploiement en flux continu s’intéresse à un autre chiffre, le temps moyen entre deux interventions humaines, c’est-à-dire combien de temps le robot a tourné avant que quelqu’un ne doive intervenir. Une policy peut sembler solide sur la première mesure et fragile sur la seconde, parce que des épisodes propres n’ont jamais testé sa capacité à continuer à travers des transitions désordonnées. Ne rapporter que le chiffre épisodique, c’est ainsi qu’un résultat de laboratoire devance la réalité du terrain.

Le pont entre les deux est la segmentation, et elle n’est pas gratuite. Transformer un long journal en épisodes réutilisables est un problème de segmentation temporelle des actions, et les erreurs se propagent en aval. Coupez une limite deux secondes trop tôt, et chaque démonstration que vous en tirez hérite d’une prise tronquée. Les travaux récents publiés sur arXiv Robotics reviennent sans cesse à l’auto-segmentation, précisément parce que c’est l’étape porteuse dont personne n’aime s’occuper.

Capturer en flux, entraîner sur des épisodes

Il ne s’agit pas d’une guerre de religion, et il n’est pas nécessaire de choisir un camp pour toujours. Le schéma qui fonctionne consiste à enregistrer en continu, à conserver chaque horodatage et chaque marqueur d’événement, puis à découper en épisodes en aval, là où l’on peut redécouper quand la définition de la tâche change. Jetez le flux brut, et cette option disparaît pour de bon. Conservez-le, et un même enregistrement peut alimenter aujourd’hui un entraînement de clonage comportemental, et le trimestre prochain une expérience sans réinitialisation. Un jeu de données que l’on peut redécouper vaut plus que celui que quelqu’un d’autre a déjà découpé à votre place.

trajectoryepisodic-datastreaming-datadatasets

Sources