L’apprentissage actif : collecter les bonnes données robotiques, pas simplement davantage
Les démonstrations robotiques coûtent cher : mieux vaut collecter celles dont une policy apprend le plus. L’apprentissage actif par incertitude, désaccord et échecs en déploiement.
Une policy de pick-and-place tourne sur la ligne et réussit un peu plus de quatre-vingt-dix pour cent de ses tentatives sans accroc. Puis vous regardez les échecs, et ils ne sont pas dispersés. Ils se regroupent : la coque transparente que les caméras n’arrivent pas à localiser, la pièce qui arrive tournée au-delà d’un certain angle, le bac à l’extrême limite de portée du bras. La même poignée de situations, encore et encore, tandis que tout le reste fonctionne sans problème.
Le réflexe, dans la plupart des laboratoires, est de collecter davantage de démonstrations et de réentraîner. C’est le mauvais réflexe, ou du moins un réflexe coûteux. Chaque démonstration robotique doit être exécutée par un humain, en temps réel, sur du matériel réel, et un nouveau lot de dix mille prises retombera surtout sur des situations que la policy gère déjà. Vous aurez payé dix mille démonstrations pour grignoter trois modes de défaillance que quelques centaines de démonstrations ciblées auraient suffi à refermer.
La bonne question n’est pas quelle quantité de données collecter. C’est de savoir de quelles démonstrations la policy apprendra le plus, et si vous pouvez aller capturer exactement celles-là. C’est cela, l’apprentissage actif : une idée vieille de plusieurs décennies, issue de l’apprentissage automatique classique, que la robotique n’est contrainte de prendre au sérieux que maintenant, car ici l’annotation n’est pas un clic de souris. C’est une personne qui exécute une tâche.
« Plus » est le mauvais axe
Commençons par le prix d’une seule démonstration. Dans un pipeline de texte, un exemple d’entraînement supplémentaire est quasiment gratuit : déjà écrit, posé sur une page web. Dans un pipeline robotique, une démonstration supplémentaire, c’est une heure de temps humain qualifié, un rig, et un objet physique à remettre en place entre chaque prise. Le coût marginal est élevé et à peu près fixe, si bien que le seul levier qui reste est la valeur marginale : ce que chaque démonstration apprend au modèle et que les précédentes n’avaient pas appris.
Pour une policy qui réussit déjà la plupart du temps, un lot échantillonné uniformément a une valeur marginale déplorable. Il répète surtout des états que la policy maîtrise, approfondissant une compétence qui n’a jamais été en cause. L’information vit dans la queue de distribution, dans les préhensions qui échouent et les états que la policy n’a jamais visités. L’argument selon lequel couvrir cette queue vaut mieux que des heures brutes est désormais bien rodé. L’apprentissage actif en est la moitié manquante : non pas l’observation que la queue compte, mais une méthode pour la trouver.
Demandez au modèle où il n’est pas sûr de lui
Le geste central de l’apprentissage actif consiste à laisser le modèle désigner lui-même ses données d’entraînement. Plutôt qu’un humain décide à l’avance de ce qui semble mériter d’être collecté, vous lisez sur la policy actuelle un signal qui pointe vers les états où elle est faible, et vous allez collecter là. Deux signaux font l’essentiel du travail.
L’incertitude. Une policy de manipulation prédit une action, ou une distribution sur les actions, à chaque état qu’elle voit. Quand cette distribution est piquée, la policy est sûre d’elle ; quand elle est large et à forte entropie, la policy ne fait guère que deviner. L’échantillonnage par incertitude classe les états candidats selon cette entropie et collecte des démonstrations là où elle est la plus élevée. En pratique, cela fait remonter l’objet réfléchissant que la policy n’arrive pas à cerner et le bac encombré où trois préhensions semblent également plausibles, précisément là où sa confiance est mince.
Le désaccord. L’incertitude issue d’un seul réseau est facile à tromper, car une policy peut se tromper avec assurance. L’interrogation par comité (query-by-committee) contourne ce problème en entraînant un ensemble de policies sur les mêmes données et en observant où elles divergent. Si cinq modèles s’accordent sur l’action, l’état est bien déterminé et une démonstration de plus y est gaspillée. S’ils se dispersent, les données les ont laissés sous-contraints, et une seule démonstration lève une ambiguïté réelle. Le désaccord est souvent un meilleur signal de collecte que la confiance brute, car il mesure ce que les données n’ont pas su fixer plutôt que ce qu’un réseau se trouve croire.
Les stratégies d’échantillonnage, côte à côte
Ces signaux ne sont pas exclusifs, et aucun ne convient à tous les cas. Le tableau met en regard les stratégies courantes, ce que chacune vise et quand elle justifie son coût.
| Stratégie | Ce qu’elle vise | Quand elle aide |
|---|---|---|
| Uniforme / aléatoire | Toute la distribution des états, uniformément | Au début, avant que la policy n’ait une compétence à exploiter ; une base de référence sûre |
| Échantillonnage par incertitude | Les états dont les actions prédites sont à forte entropie | Quand la policy est globalement bonne et que vous visez les états où elle hésite ; faible face aux erreurs commises avec assurance |
| Désaccord (query-by-committee) | Les états où un ensemble diverge | Quand la confiance d’un modèle unique n’est pas fiable ; capte les lacunes que les données ont laissées sous-contraintes |
| Échantillonnage sur échecs en déploiement | Les états où la policy déployée échoue réellement ou nécessite une reprise en main humaine | Quand vous pouvez faire tourner la policy en conditions réelles et journaliser ses interventions ; le signal le plus précis qui soit |
| Nouveauté / hors distribution | Les états éloignés de tout ce que contient le jeu de données actuel | Quand c’est la couverture qui inquiète ; prémunit contre les angles morts dont la policy n’a même pas conscience |
La démonstration la moins chère à collecter et la plus précieuse à collecter ne sont presque jamais la même. L’apprentissage actif est la discipline qui consiste à les distinguer, et il ne vaut rien sans un programme de capture capable d’aller chercher la précieuse.
Boucler la boucle sur les échecs en déploiement
Le signal d’apprentissage actif le plus pur en robotique n’est pas du tout calculé hors ligne. Il vient du fait de faire tourner la policy et d’observer où elle casse. Un robot sur une tâche réelle émet un flux exactement composé des états qui comptent : ceux dans lesquels il s’est lui-même engagé et qu’il n’a pas su gérer. Lorsqu’un humain doit intervenir et reprendre la main, cette intervention est un exemple annoté : un état que la policy n’a pas su résoudre, associé à l’action qui le résout. C’est l’intuition derrière la lignée de travaux sur l’imitation interactive, DAgger et ses nombreux successeurs, où le jeu de données grandit en déployant de façon répétée la policy actuelle et en la corrigeant, au lieu de collecter d’emblée un lot fixe.
La raison pour laquelle cela l’emporte sur l’incertitude hors ligne tient à la distribution. Hors ligne, vous devinez quels états la policy visitera réellement. En déploiement, la policy vous le montre : elle dérive vers ses propres états d’échec et accumule ses propres erreurs, si bien que les corrections que vous recueillez se situent précisément sur la distribution que le robot induit. Les équipes travaillant sur robots réels, dans des laboratoires comme Berkeley BAIR et Stanford IRIS, se sont appuyées sur cette boucle interactive pour exactement cette raison : elle vise les états qu’une policy atteint sous son propre contrôle, c’est-à-dire ceux qu’un lot hors ligne a le moins de chances de contenir. Le Toyota Research Institute avance un point compatible du côté des données : ce qui fait avancer un grand modèle de comportement, ce n’est pas plus de ce qu’il fait déjà bien, mais des démonstrations couvrant ce qu’il ne fait pas bien.
Savoir quoi collecter n’est que la moitié du problème
C’est ici que la robotique se sépare de la version des manuels de l’apprentissage actif. Dans un pipeline d’annotation, une fois le pool non annoté classé, acquérir l’annotation revient à cliquer sur des données que vous détenez déjà. En robotique, le pool, c’est le monde physique, et l’annotation de l’état que la policy redoute le plus est une nouvelle démonstration de cette situation précise, mise en scène et exécutée à dessein. L’apprentissage actif fait remonter une requête. Il faut encore que quelque chose la satisfasse.
Cela scinde le problème opérationnel en deux. Il vous faut d’abord un moyen de faire remonter ce qu’il faut capturer ensuite : un banc d’évaluation qui regroupe les échecs, un score d’incertitude ou de désaccord calculé sur des états réels, une lecture honnête de la tranche de la distribution de déploiement qui reste maigre. Il vous faut ensuite un programme de capture capable d’agir vite sur la requête, de monter la scène de l’objet réfléchissant ou la préhension en extension maximale et d’en restituer quelques centaines de démonstrations propres tant que la découverte est encore chaude. Une équipe qui a le premier mais pas le second ne fait qu’accumuler une liste de souhaits. La littérature robotique regorge de manières ingénieuses de classer ce qu’il faut collecter et reste comparativement silencieuse sur la logistique de la collecte, qui est pourtant la part qui bloque réellement la plupart des programmes.
Les équipes qui prendront de l’avance ne seront pas celles qui ont les journaux les plus volumineux ou les mathématiques de l’incertitude les plus astucieuses prises isolément. Ce seront celles qui bouclent la boucle avec rigueur : déployer, observer où la policy n’est pas sûre d’elle ou se trompe, transformer cela en une requête de collecte précise, et avoir les démonstrations en main avant l’entraînement suivant. Collecter plus de données est facile, et le plus souvent inutile. Collecter les bonnes données, à dessein, un lot ciblé à la fois, est la discipline la plus difficile, et c’est celle qui paie.