Diffusers documentation
Planejamento guiado por valor
Planejamento guiado por valor
🧪 Este é um pipeline experimental para aprendizado por reforço!
Este pipeline é baseado no artigo Planning with Diffusion for Flexible Behavior Synthesis, de Michael Janner, Yilun Du, Joshua B. Tenenbaum e Sergey Levine.
O resumo do artigo é:
Métodos de aprendizado por reforço baseados em modelos frequentemente utilizam o aprendizado apenas para estimar um modelo de dinâmica aproximado, delegando o restante do trabalho de tomada de decisão a otimizadores clássicos de trajetórias. Embora conceitualmente simples, essa combinação apresenta diversas limitações empíricas, sugerindo que os modelos aprendidos podem não ser adequados para a otimização padrão de trajetórias. Neste artigo, consideramos como seria incorporar o máximo possível do pipeline de otimização de trajetórias no problema de modelagem, de modo que a amostragem do modelo e o planejamento com ele se tornem quase idênticos. O núcleo de nossa abordagem técnica reside em um modelo probabilístico de difusão que planeja por meio da desruidificação iterativa de trajetórias. Mostramos como a amostragem guiada por classificador e o inpainting de imagens podem ser reinterpretados como estratégias de planejamento coerentes, exploramos as propriedades incomuns e úteis dos métodos de planejamento baseados em difusão e demonstramos a eficácia de nossa estrutura em configurações de controle que enfatizam a tomada de decisão de longo prazo e a flexibilidade no momento da execução.
Você pode encontrar informações adicionais sobre o modelo na página do projeto, no repositório de código original ou experimentá-lo em um notebook de demonstração.
O script para executar o modelo está disponível aqui.
Certifique-se de consultar o guia de Schedulers para aprender a explorar o compromisso entre a velocidade e a qualidade do scheduler, e veja a seção reutilização de componentes entre pipelines para aprender a carregar eficientemente os mesmos componentes em vários pipelines.
ValueGuidedRLPipeline
classe diffusers.experimental.ValueGuidedRLPipeline
< source >( value_function: UNet1DModelunet: UNet1DModelscheduler: DDPMSchedulerenv )
Parâmetros
- value_function (UNet1DModel) — Um UNet especializado para ajuste fino de trajetórias com base na recompensa.
- unet (UNet1DModel) — Arquitetura UNet para desruidar as trajetórias codificadas.
- scheduler (SchedulerMixin) —
Um scheduler a ser usado em combinação com
unetpara desruidar as trajetórias codificadas. O padrão para esta aplicação é DDPMScheduler. - env () — Um ambiente seguindo a API do OpenAI gym para agir. Por enquanto, apenas o Hopper possui modelos pré-treinados.
Pipeline para amostragem guiada por valores a partir de um modelo de difusão treinado para prever sequências de estados.
Este modelo herda de DiffusionPipeline. Consulte a documentação da superclasse para os métodos genéricos implementados para todos os pipelines (download, salvamento, execução em um dispositivo específico, etc.).