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[1].

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)[2].

Sémantique

  • Randomisation : la randomisation désigne ici un procédé aléatoire consistant à modifier ou sélectionner certains éléments de façon imprévisible.
  • Domaine : dans le présent contexte, le mot « domaine » fait référence à l'environnement dans lequel un modèle d'intelligence artificielle apprend et évolue. Il s'agit dans le cas de la randomisation de domaine d'un monde virtuel et simulé, où l'IA s'entraîne avant d'être utilisée dans la réalité.

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[3].

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 :

  • des paramètres physiques. Exemples : masses, coefficients de frottement, rigidité des articulations, forces appliquées, etc.[3].
  • des paramètres visuels. Exemples : textures des objets, éclairage, position et orientation des caméras, ajouts d'objets perturbateurs (distracteurs), bruit sur les images, couleurs, etc.[1],[3] ;
  • des paramètres de dynamique. Exemples : délais de communication, erreurs de capteurs, etc.[3].

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[1].

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 »)[1].

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[4].

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 :

  • une réduction du Sim2Real Gap : C'est probablement l'enjeu principal ; en entraînant dans une distribution large de domaines simulés, on augmente la probabilité que le monde réel soit inclus dans cette distribution, permettant un transfert efficace[1],[3] ;
  • une réduction du coût et du temps d'entraînement : l'utilisation de simulateurs permet de générer de grandes quantités de données d'entraînement rapidement et à moindre coût par rapport à la collecte de données réelles[1],[3] ;
  • une amélioration de la robustesse : les modèles ainsi entraînés sont intrinsèquement plus robustes aux variations et aux perturbations qu'ils pourront rencontrer dans le monde réel[3] ;
  • une simplification de la simulation : on n'a plus besoin d'un simulateur parfaitement réaliste ; simuler une distribution suffisamment large de paramètres suffit[1].

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[3].

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)[5].

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[6].

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[5].

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[3].

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[3].

Références

  1. (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. (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. (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

  • Portail de la robotique
  • Portail de l’intelligence artificielle