Diffusers documentation
Planification guidée par la valeur
Planification guidée par la valeur
🧪 Il s'agit d'un pipeline expérimental pour l'apprentissage par renforcement !
Ce pipeline est basé sur l'article Planning with Diffusion for Flexible Behavior Synthesis de Michael Janner, Yilun Du, Joshua B. Tenenbaum, Sergey Levine.
L'abstract de l'article est :
Les méthodes d’apprentissage par renforcement basées sur des modèles utilisent souvent l’apprentissage uniquement pour estimer un modèle de dynamique approximatif, en déléguant le reste du travail de prise de décision à des optimiseurs de trajectoires classiques. Bien que conceptuellement simple, cette combinaison présente plusieurs lacunes empiriques, suggérant que les modèles appris peuvent ne pas être adaptés à l’optimisation standard des trajectoires. Dans cet article, nous envisageons ce que cela donnerait si l’on intégrait au problème de modélisation le maximum possible du pipeline d’optimisation des trajectoires, de sorte que l’échantillonnage à partir du modèle et la planification avec celui-ci deviennent quasi identiques. Le cœur de notre approche technique repose sur un modèle probabiliste de diffusion qui planifie en débruitant itérativement les trajectoires. Nous montrons comment l’échantillonnage guidé par un classifieur et l’image inpainting peuvent être réinterprétés comme des stratégies de planification cohérentes, nous explorons les propriétés inhabituelles et utiles des méthodes de planification basées sur la diffusion, et nous démontrons l’efficacité de notre cadre dans des contextes de contrôle qui mettent l’accent sur la prise de décision à long terme et la flexibilité au moment de l’inférence.
Vous trouverez des informations supplémentaires sur le modèle sur la page du projet, le code source original, ou essayez-le dans un notebook de démonstration.
Le script pour exécuter le modèle est disponible ici.
Pensez à consulter le guide des Schedulers pour apprendre à explorer le compromis entre la vitesse et la qualité du scheduler, et à consulter la section réutilisation des composants entre les pipelines pour apprendre à charger efficacement les mêmes composants dans plusieurs pipelines.
ValueGuidedRLPipeline
classe diffusers.experimental.ValueGuidedRLPipeline
< source >( value_function: UNet1DModelunet: UNet1DModelscheduler: DDPMSchedulerenv )
Paramètres
- value_function (UNet1DModel) — UNet spécialisé pour l’ajustement fin des trajectoires basé sur la récompense.
- unet (UNet1DModel) — Architecture UNet pour débruyer les trajectoires encodées.
- scheduler (SchedulerMixin) —
Un planificateur à utiliser en combinaison avec
unetpour débruyer les trajectoires encodées. La valeur par défaut pour cette application est DDPMScheduler. - env () — Un environnement suivant l'API OpenAI gym dans lequel agir. Pour l'instant, seul Hopper dispose de modèles pré-entraînés.
Pipeline pour l'échantillonnage guidé par la valeur à partir d'un modèle de diffusion entraîné à prédire des séquences d'états.
Ce modèle hérite de DiffusionPipeline. Consultez la documentation de la classe parente pour les méthodes génériques implémentées pour tous les pipelines (téléchargement, sauvegarde, exécution sur un appareil particulier, etc.).