Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Inverse Reinforcement Learning

  • Também chamado: IRL, inverse RL
  • Categoria: Learning & autonomy › Learning from demonstration
  • Tags: reward-learning, imitation-learning, reinforcement-learning, robot-learning, learning-from-demonstration

Aprender a função de recompensa que explica o comportamento demonstrado por um especialista, para que depois uma política possa ser treinada para otimizar essa recompensa com aprendizado por reforço ou planejamento.

Definição

Aprendizado por reforço inverso (IRL) (inverse reinforcement learning) inverte o problema usual do aprendizado por reforço. Em vez de receber uma recompensa e ter de encontrar uma boa política, o aprendiz recebe demonstrações de bom comportamento e precisa encontrar uma função de recompensa sob a qual esse comportamento seja ótimo ou próximo disso. A recompensa aprendida é então usada para treinar uma política, às vezes em situações novas ou em um robô diferente, partindo do pressuposto de que a recompensa captura a intenção da tarefa melhor do que as ações demonstradas. Andrew Ng e Stuart Russell deram um tratamento formal pioneiro ao problema em 2000.

O problema é mal posto: muitas funções de recompensa explicam o mesmo comportamento, incluindo uma recompensa que vale zero em toda parte. Os métodos resolvem essa ambiguidade de formas diferentes. O aprendizado por aprendiz (apprenticeship learning) iguala as contagens esperadas de características do aprendiz às do especialista. O IRL de máxima entropia, introduzido por Brian Ziebart e colegas em 2008, modela o especialista como alguém que escolhe trajetórias com probabilidade proporcional à exponencial de sua recompensa, o que dá uma verossimilhança bem definida e tolera demonstrações imperfeitas. Os métodos adversariais treinam um discriminador para distinguir os dados do especialista dos dados da própria política e usam sua saída como sinal de treinamento; o GAIL faz isso sem retornar uma recompensa explícita, enquanto o AIRL foi projetado para recuperar uma.

O IRL clássico alterna entre atualizar a recompensa e resolver um problema completo de aprendizado por reforço sob ela, o que é caro. Por isso, sistemas robóticos práticos costumam usar esquemas mais simples de aprendizado de recompensa, como recompensas baseadas na similaridade com quadros de demonstração ou classificadores treinados com exemplos de sucesso, mantendo a ideia central de derivar o sinal de treinamento a partir de exemplos. Em teoria de controle, o problema intimamente relacionado de recuperar uma função de custo a partir de trajetórias ótimas observadas é chamado de controle ótimo inverso.

Por que importa

Escrever recompensas à mão para tarefas robóticas é lento e sujeito a erros, e as políticas exploram qualquer lacuna entre a recompensa e o comportamento pretendido. O IRL obtém as recompensas a partir de demonstrações, e elas podem se transferir para condições em que copiar as ações demonstradas falharia; além disso, ele liga o aprendizado por imitação ao aprendizado por reforço.

Principais aplicações

  • Aprendizado de recompensas para tarefas de manipulação a partir de demonstrações
  • Modelagem do comportamento de motoristas e pedestres para veículos autônomos
  • Aprendizado de mapas de custo de navegação a partir de caminhos de especialistas
  • Inferência de preferências humanas na interação humano-robô
  • Fornecimento de recompensas de treinamento para aprendizado por reforço em robôs reais

Na prática

Uma equipe quer que um braço robótico limpe uma mesa do jeito que uma pessoa faz. Ela grava um conjunto de demonstrações teleoperadas e depois treina um modelo de recompensa junto com a política: um discriminador aprende a pontuar transições de estado como parecidas ou não com as do especialista, e a política é treinada com aprendizado por reforço em simulação para maximizar essa pontuação antes de passar por ajuste fino no robô. Para impedir que a política explore falhas na recompensa aprendida, a equipe regulariza o discriminador, adiciona um pequeno termo escrito à mão para a conclusão da tarefa e revisa as execuções a olho. Mais tarde, quando leva a tarefa para uma mesa de altura diferente, a recompensa aprendida é usada para pontuar as execuções da política adaptada.

Equívocos comuns

  • IRL é o mesmo que clonagem de comportamento — a clonagem de comportamento copia as ações diretamente, enquanto o IRL recupera uma recompensa e depois treina uma política para otimizá-la
  • A recompensa recuperada é a recompensa verdadeira — muitas recompensas explicam as mesmas demonstrações, e o IRL retorna uma que se ajusta aos dados segundo suas próprias suposições
  • O IRL precisa de demonstrações perfeitas — as primeiras formulações supunham especialistas ótimos, mas o de máxima entropia e os métodos posteriores toleram demonstrações ruidosas ou subótimas

Quem deve saber

  • Pesquisadores de aprendizado de robôs
  • Engenheiros de aprendizado por reforço que projetam funções de recompensa
  • Equipes de modelagem de comportamento para direção autônoma
  • Pesquisadores de interação humano-robô

Tecnologias relacionadas

  • IRL de máxima entropia (Maximum Entropy IRL)
  • Generative Adversarial Imitation Learning (GAIL)
  • Adversarial Inverse Reinforcement Learning (AIRL)
  • Controle ótimo inverso (Inverse Optimal Control)
  • Aprendizado por aprendiz (Apprenticeship Learning)

Termos relacionados

  • Reinforcement Learning
  • Imitation Learning
  • Behavior Cloning
  • DAgger
  • Residual Reinforcement Learning

Projetos relacionados

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim

Vídeos

  • CS 285: Lecture 20, Inverse Reinforcement Learning, Part 1: RAIL
  • Inverse Reinforcement Learning Explained: Edan Meyer

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.