Diffusion Policies
Découvre comment les Diffusion Policies façonnent la robotique moderne. Apprends comment elles modélisent les actions via le débruitage et s'intègrent avec Ultralytics YOLO26 pour une perception intelligente.
Les Diffusion Policies représentent un changement de paradigme en robotics et en machine learning où la politique visuomotrice d'un AI agent est modélisée comme un processus de diffusion par suppression de bruit conditionnel. Traditionnellement, le behavior cloning — une forme d'imitation learning — repose sur une régression directe pour prédire une action déterministe unique à partir d'entrées sensorielles. Bien qu'efficace pour des tâches simples, la régression directe échoue souvent lorsque plusieurs actions valides existent, ce qui entraîne des mouvements moyennés instables ou non sécurisés. Les politiques de diffusion résolvent ce problème en formulant la génération d'actions comme une tâche de raffinement de séquence. En partant de bruit purement aléatoire, l'algorithme supprime le bruit du signal de manière itérative — conditionné par des observations sensorielles telles que des images ou des données d'état spatial — pour produire des séquences d'actions hautement précises, robustes et multimodales.
Comment fonctionnent les Diffusion Policies#
La mécanique fondamentale repose sur les mathématiques de la generative modeling, en adaptant des techniques initialement développées pour la synthèse d'images haute fidélité dans le original visuomotor diffusion policy paper. Pendant la phase d'entraînement, appelée processus direct, de petites quantités de bruit sont progressivement ajoutées aux trajectoires d'actions d'experts optimales. Un neural network est ensuite entraîné à prédire et à inverser ce bruit en fonction d'un contexte d'observation donné.
Pendant l'inférence, lorsque le robot interagit avec son environnement, il observe son environnement, initialise une séquence d'actions aléatoire et en supprime le bruit à l'aide de la Langevin dynamics stochastique. Cette optimisation itérative produit des commandes motrices fluides et précises, capables de gérer des espaces d'actions complexes à haute dimension.
Applications concrètes#
En représentant avec précision des distributions complexes sans mode collapse, les politiques de diffusion transforment activement l'artificial intelligence physique moderne.
- Robotic Manipulation: Dans les environnements industriels, les bras robotisés utilisent ces politiques pour des tâches complexes et riches en contacts, telles que la saisie d'objets de formes irrégulières, l'assemblage de composants électroniques complexes ou l'exécution de mouvements de versement fluides.
- Autonomous Navigation: Les systèmes de conduite autonome et les drones combinent l'depth estimation avec des politiques de diffusion pour planifier des trajectoires continues et sécurisées dans des environnements dynamiques, en s'adaptant avec fluidité à des obstacles soudains qui perturberaient autrement les modèles de reinforcement learning standard.
Différencier les termes clés#
Pour clarifier la fonction spécifique des Diffusion Policies, il est utile de les distinguer des architectures génératives étroitement apparentées :
- Diffusion Policies vs. Diffusion Models: Les Diffusion Models désignent de manière générale l'architecture générative sous-jacente utilisée pour créer des données statiques telles que la synthèse texte-image. Les Diffusion Policies appliquent ce mécanisme spécifique pour prédire des commandes motrices continues sous forme de séries temporelles pour des robots actifs.
- Diffusion Policies vs. Diffusion Forcing: Le Diffusion Forcing est un cadre général de génération de séquences qui entraîne des causal transformers en utilisant des niveaux de bruit variables par jeton. Bien que liés, le diffusion forcing se concentre principalement sur la prédiction autorégressive, tandis que les politiques de diffusion désignent strictement la stratégie d'apprentissage par imitation pour le contrôle visuomoteur.
Avancées récentes dans l'apprentissage de politiques#
La recherche menée par de grandes institutions, notamment les OpenAI research initiatives et Google DeepMind robotics, continue de repousser les limites de ce que ces algorithmes peuvent accomplir. Notamment, la politique de diffusion 3D (DP3), published on arXiv in 2024, a introduit une avancée majeure en conditionnant les politiques sur des 3D point cloud representations compactes plutôt que sur de simples images 2D. Cela a considérablement amélioré la conscience spatiale des robots tout en réduisant considérablement le nombre de démonstrations d'experts nécessaires. D'autres innovations telles que D3P: Dynamic Denoising Diffusion Policy ont commencé à remédier à la lenteur d'inférence de la diffusion standard en ignorant dynamiquement les étapes de suppression du bruit pour les actions de routine, permettant ainsi une réactivité en temps réel.
Mise en œuvre pratique avec la vision par ordinateur#
Avant qu'une diffusion policy puisse générer une action, elle a besoin d'une compréhension claire et structurée de son environnement. Les ingénieurs combinent fréquemment des modèles de object detection robustes avec des algorithmes de policy pour former un computer vision pipeline complet. Par exemple, un modèle perceptuel rapide comme Ultralytics YOLO26 peut isoler des objets cibles en temps réel, en transmettant des coordonnées spatiales à une diffusion policy basée sur une PyTorch library.
import torch
from ultralytics import YOLO
# Load the Ultralytics YOLO26 Nano model for high-speed robotic perception
model = YOLO("yolo26n.pt")
# Predict bounding boxes on the robot's active camera feed
results = model.predict("robot_camera_feed.jpg")
# Condition the policy by extracting the bounding box center coordinate
if len(results[0].boxes) > 0:
box = results[0].boxes[0].xyxy.squeeze()
center_x = (box[0] + box[2]) / 2.0
center_y = (box[1] + box[3]) / 2.0
# Create a spatial observation tensor to condition the PyTorch Diffusion Policy.
# This directly guides the denoising process to generate accurate motor actions.
observation_state = torch.tensor([center_x, center_y])
print(f"Conditioning action trajectory on object center: {observation_state}")Pour rationaliser ce workflow, tu peux utiliser la Ultralytics Platform afin de profiter d'outils d'auto-annotation tools rapides pour des datasets personnalisés. Ce support de bout en bout accélère le model deployment à partir de flux de caméras bruts vers une intelligence robotique exploitable.






