Diffusers documentation
Планирование на основе ценности
Планирование на основе ценности
🧪 Это экспериментальный конвейер для обучения с подкреплением!
This pipeline is based on the Planning with Diffusion for Flexible Behavior Synthesis paper by Michael Janner, Yilun Du, Joshua B. Tenenbaum, Sergey Levine.
Аннотация из статьи:
Методы обучения с подкреплением на основе моделей часто используют обучение исключительно для оценки приближённой модели динамики, перекладывая остальную работу по принятию решений на классические оптимизаторы траекторий. Несмотря на концептуальную простоту, эта комбинация имеет ряд эмпирических недостатков, что указывает на возможную несовместимость обученных моделей со стандартной оптимизацией траекторий. В данной статье мы рассматриваем, как выглядело бы включение как можно большей части конвейера оптимизации траекторий в задачу моделирования, чтобы выборка из модели и планирование с её использованием стали практически идентичными. Ядро нашего технического подхода заключается в диффузионной вероятностной модели, которая планирует, итеративно удаляя шум из траекторий. Мы показываем, как выборка с наведением классификатора и инпейнтинг изображений можно переосмыслить как согласованные стратегии планирования, исследуем необычные и полезные свойства методов планирования на основе диффузии и демонстрируем эффективность нашего фреймворка в задачах управления, где акцент делается на принятии решений с длинным горизонтом и гибкости на этапе тестирования.
Дополнительную информацию о модели можно найти на странице проекта, в исходном коде или попробовать в демо-ноутбуке.
Скрипт для запуска модели доступен здесь.
Обязательно ознакомьтесь с руководством по планировщикам, чтобы узнать, как исследовать баланс между скоростью и качеством планировщика, а также с разделом повторное использование компонентов в разных конвейерах, чтобы узнать, как эффективно загружать одни и те же компоненты в несколько конвейеров.
ValueGuidedRLPipeline
класс diffusers.experimental.ValueGuidedRLPipeline
< source >( value_function: UNet1DModelunet: UNet1DModelscheduler: DDPMSchedulerenv )
Параметры
- value_function (UNet1DModel) — Специализированная UNet для дообучения траекторий на основе вознаграждения.
- unet (UNet1DModel) — архитектура UNet для удаления шума из закодированных траекторий.
- scheduler (SchedulerMixin) —
планировщик, используемый в связке с
unetдля удаления шума из закодированных траекторий. По умолчанию для этого приложения используется DDPMScheduler. - env () — среда, соответствующая API OpenAI gym, в которой выполняется действие. На данный момент предобученные модели доступны только для Hopper.
Пайплайн для выборки с направлением по значению из диффузионной модели, обученной предсказывать последовательности состояний.
Эта модель наследуется от DiffusionPipeline. Общую документацию по методам, реализованным для всех пайплайнов (загрузка, сохранение, запуск на конкретном устройстве и т. д.), см. в документации родительского класса.