Randomisation de domaine

La randomisation de domaine (Domain Randomization, ou DR en anglais) est une méthode utilisée depuis les années 2020, qui a fait progresser l'apprentissage automatique, apprentissage par renforcement (RL), robotique et simulation numérique et plus largement l'intelligence artificielle. Elle consiste à modifier — de manière aléatoire — les paramètres d’un environnement simulé, afin d’améliorer la capacité d’adaptation des modèles d’IA entraînés en simulation dans cet environnement virtuel. Cette approche, devenue courante dans les années 2020, permet aux algorithmes d’être plus robustes lorsqu’ils sont ensuite déployés dans des conditions réelles, comblant ainsi le « fossé » entre la simulation et la réalité (le sim2real gap) sans nécessiter de données du monde réel pour l'entraînement.

C'est ainsi que le robot Tesla Optimus a pu acquérir des mouvements fluides (ainsi que grâce à des ajustements du profil énergétique et à des améliorations matérielles).

Sémantique

Principes

Un constat est qu'entraîner un modèle d'IA (a minima un réseau de neurones) uniquement sur un simulateur très réaliste peut entraîner un surapprentissage aux particularités de ce simulateur, ce qui rend ensuite difficile le transfert des résultats de l'apprentissage vers le monde réel.

L'algorithme de randomisation de domaine est de type transfert de simulation à réel (transfert Sim-to-real en anglais), c'est-à-dire visant le transfert d'apprentissage fait en simulation vers la réalité.
Il repose sur l'idée simple que, si un modèle peut d'abord apprendre à fonctionner correctement dans une grande variété de conditions simulées aléatoires, il sera alors plus tard capable de généraliser à des situations réelles qui peuvent être perçues comme une autre variation de ces conditions.

La « randomisation de domaine », en variant aléatoirement les caractéristiques des données synthétiques générées, rend le modèle moins sensible aux spécificités de la simulation et plus apte à gérer la variabilité et l'imprévu présente dans le monde réel ; elle agit comme un régulateur en « encourageant » le modèle à apprendre plutôt les caractéristiques fondamentales d'une tâche plutôt que de mémoriser des détails illusoires en réalité liés à la simulation.

En pratique, cela passe par une modification aléatoire de divers aspects de l'environnement de simulation, à chaque itération d'entraînement. Ces aspects peuvent inclure :

En entraînant un agent ou un modèle à réaliser une tâche malgré ces variations constantes, on l'oblige à se focaliser sur les caractéristiques essentielles à la résolution de la tâche plutôt que sur les détails spécifiques d'un environnement simulé particulier.

Historique

L'idée de varier les conditions d'entraînement pour améliorer la généralisation est ancienne, mais la randomisation de domaine n'a pu être mise en œuvre de manière poussée qu'avec les progrès de l'apprentissage profond et son application à la robotique.

Des travaux pionniers, notamment ceux menés par OpenAI, ont démontré que des politiques de contrôle ou des modèles de perception entraînés uniquement avec des données simulées randomisées pouvaient être directement transférés avec succès vers des robots réels sans nécessiter d'ajustement (approche dite « zero-shot transfer »).

Cette capacité à éviter la collecte coûteuse et fastidieuse de données réelles pour l'entraînement a fortement contribué à populariser la technique dans la communauté de la robotique et de l'apprentissage par renforcement.

Malgré les succès empiriques de cet algorithme, sa compréhension théorique reste limitée. Xiaoyu Chen et al. (2022) ont proposé un cadre théorique pour les transferts sim -> réel qui montre l’importance de l’utilisation de la mémoire dans le processus de randomisation de domaine.

Enjeux et défis

L'utilisation de la randomisation de domaine (RD) dans le développement de systèmes basés sur l'apprentissage, vise à éviter les écueils rencontrés par l'apprentissage par renforcement quand il est appliqué directement dans le monde réel. La RD a comme avantages :

Cependant, la randomisation de domaine pose encore des défis :

Le choix des paramètres et des plages de randomisation joue un rôle important, mais comment déterminer au mieux les paramètres à randomiser, et dans quelles plages (uniforme, gaussienne, etc.) ; ce choix peut être complexe et nécessiter des ajustements manuels basés sur l'intuition ou des essais-erreurs. Des plages trop étroites peuvent limiter la généralisation, tandis que des plages trop larges peuvent rendre l'apprentissage de la tâche difficile.

Un piège à éviter est l'inefficacité potentielle : l'apprentissage sur un échantillonnage uniforme sur un grand nombre de paramètres peut conduire à un entraînement inefficace et inutile (quand les configurations sont vraiment peu probables ou non pertinentes pour la tâche réelle, l'agent gaspille ses ressources et le temps).

Perspectives

La recherche actuelle et future dans ce domaine vise notamment à rendre la randomisation de domaine encore plus performante et plus facile à appliquer à une gamme plus large d'apprentissages et de tâches robotiques, avec des scénarii plus adaptés au monde réel.

Randomisation active ou adaptative

Au lieu de randomiser uniformément, on cherche à identifier et à générer les environnements simulés les plus « informatifs » ou les plus « difficiles » pour l'agent durant son entraînement.

Randomisation progressive ou continue

Ici, l'agent est formé en commençant par des randomisations faibles, puis en augmentant progressivement sa variabilité, ou en utilisant des techniques d'apprentissage continu pour s'adapter séquentiellement à de nouvelles randomisations.

Apprentissage de la distribution de randomisation

Dans ce cas, il s'agit de développer des méthodes pour que l'agent apprenne lui-même la distribution de paramètres de randomisation la plus efficace pour le transfert vers le monde réel.

Combinaison avec d'autres techniques de sim2real

Il est possible d'intégrer la randomisation de domaine avec l'adaptation de domaine ou l'identification de système pour combiner les avantages de ces approches.

Références

  1. 1 2 3 4 5 6 7 (en) Josh Tobin, Rachel Fong, Alex Ray et Jonas Schneider, « Domain randomization for transferring deep neural networks from simulation to the real world », 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE,‎ , p. 23–30 (DOI 10.1109/iros.2017.8202133, lire en ligne, consulté le ).
  2. ↑ « Les récentes démonstrations d'Optimus : un aperçu des avancées en robotique », sur ActuIA, (DOI 10.69777/342127, consulté le ).
  3. 1 2 3 4 5 6 7 8 9 10 (en) Fabio Muratore, Fabio Ramos, Greg Turk et Wenhao Yu, « Robot Learning From Randomized Simulations: A Review », Frontiers in Robotics and AI, vol. 9,‎ (ISSN 2296-9144, PMID 35494543, PMCID 9038844, DOI 10.3389/frobt.2022.799893, lire en ligne, consulté le ).
  4. ↑ (en) Xiaoyu Chen, Jiachen Hu, Chi Jin et Lihong Li, « Understanding Domain Randomization for Sim-to-real Transfer », arXiv.org,‎ (DOI 10.48550/arXiv.2110.03239, lire en ligne, consulté le ).
  5. 1 2 (en) Mehta A et al. (2020) Active Domain Randomization ; Proceedings of Machine Learning Research ; volume=100 ; pages=2406-2416 ; Ed : PMLR ; url=http://proceedings.mlr.press/v100/mehta20a/mehta20a.pdf ; consulté :2025-05-18.
  6. ↑ (en) Bhairav Mehta, Manfred Diaz, Florian Golemo et Christopher J. Pal, « Active Domain Randomization », arXiv.org,‎ (DOI 10.48550/arXiv.1904.04762, lire en ligne, consulté le ).

Articles connexes