Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Inverse Reinforcement Learning

  • 又称: IRL, inverse RL
  • 类别: Learning & autonomy › Learning from demonstration
  • 标签: reward-learning, imitation-learning, reinforcement-learning, robot-learning, learning-from-demonstration

学习能够解释专家演示行为的奖励函数,然后用强化学习或规划训练一个优化该奖励的策略。

定义

逆强化学习(Inverse reinforcement learning,IRL)把通常的强化学习问题反过来。学习者不是被给定一个奖励并被要求找出好的策略,而是被给定良好行为的演示,并被要求找出一个奖励函数,使得该行为在这个奖励下是最优的或接近最优的。然后用学到的奖励来训练策略,有时是在新的情境中或在不同的机器人上,其前提假设是:与演示的动作相比,奖励能更好地刻画任务的意图。Andrew Ng 和 Stuart Russell 于 2000 年较早地对该问题给出了形式化的论述。

这个问题是病态的:许多奖励函数都能解释同样的行为,包括一个处处为零的奖励。各种方法以不同方式消除这种歧义。学徒学习(apprenticeship learning)使学习者的期望特征计数与专家的相匹配。最大熵 IRL 由 Brian Ziebart 及其同事于 2008 年提出,它把专家建模为以与轨迹奖励的指数成正比的概率来选择轨迹,这给出了定义良好的似然,并能容忍不完美的演示。对抗式方法训练一个判别器来区分专家数据与策略自身的数据,并把它的输出用作训练信号;GAIL 这样做时不返回显式的奖励,而 AIRL 则被设计为能恢复出奖励。

经典 IRL 在更新奖励与在该奖励下求解一个完整的强化学习问题之间交替进行,这代价很高。因此,实际的机器人系统常常使用更简单的奖励学习方案,例如基于与演示帧相似度的奖励,或在成功样例上训练的分类器,同时保留从样例中得出训练信号这一核心思想。在控制理论中,从观测到的最优轨迹中恢复代价函数这一密切相关的问题称为逆最优控制。

为何重要

为机器人任务手工编写奖励既慢又容易出错,而且策略会利用奖励与预期行为之间的任何差距。IRL 转而从演示中获得奖励,这种奖励可以迁移到照搬演示动作会失败的条件下,并且它把模仿学习和强化学习联系了起来。

主要应用

  • 从演示中为操作任务学习奖励
  • 为自动驾驶车辆建模驾驶员和行人的行为
  • 从专家路径中学习导航代价地图
  • 在人机交互中推断人的偏好
  • 为真实机器人上的强化学习提供训练奖励

实际应用

一个团队希望机械臂像人一样擦桌子。他们录制了一组遥操作演示,然后与策略一起训练一个奖励模型:判别器学习为状态转移打分,判断其是否像专家,而策略先在仿真中用强化学习训练以最大化该分数,再在机器人上进行微调。为了防止策略利用学到的奖励中的缺陷,他们对判别器进行正则化,加入一个用于任务完成的小型手写项,并用肉眼检查执行结果(rollout)。后来,当他们把任务转移到一张不同高度的桌子上时,学到的奖励被用来为调整后策略的执行结果打分。

常见误解

  • IRL 与行为克隆相同 — 行为克隆直接复制动作,而 IRL 先恢复一个奖励,再训练一个策略去优化它
  • 恢复出的奖励就是真实奖励 — 许多奖励都能解释相同的演示,IRL 返回的是在其自身假设下拟合数据的一个奖励
  • IRL 需要完美的演示 — 早期的表述假设专家是最优的,但最大熵方法及后来的方法能容忍有噪声或次优的演示

谁需要了解

  • 机器人学习研究人员
  • 设计奖励函数的强化学习工程师
  • 自动驾驶行为建模团队
  • 人机交互研究人员

相关技术

  • 最大熵 IRL(Maximum Entropy IRL)
  • 生成对抗模仿学习(Generative Adversarial Imitation Learning,GAIL)
  • 对抗逆强化学习(Adversarial Inverse Reinforcement Learning,AIRL)
  • 逆最优控制(Inverse Optimal Control)
  • 学徒学习(Apprenticeship Learning)

相关术语

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

相关项目

  • 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

视频

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

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。