Offline Reinforcement Learning
- 又称: batch reinforcement learning, batch RL, offline RL
- 类别: Learning & autonomy › RL & simulation
- 标签: reinforcement-learning, offline-learning, datasets, distribution-shift, robot-learning
从一个固定的、事先采集好的状态转移数据集中进行的强化学习,训练期间不再与环境交互。
定义
离线强化学习(Offline reinforcement learning)完全从一个静态数据集中学习策略,数据集由状态、动作、奖励和下一状态组成,事先由人、脚本控制器或早先的策略采集。与标准的在线 RL 不同,智能体在训练过程中不能尝试新的动作并观察结果。这种设定对机器人学很有吸引力,因为真实世界中的交互缓慢、昂贵,有时还不安全,而且可能已经存在大量机器人数据日志。与模仿学习不同,离线 RL 利用数据中的奖励,因此原则上可以学到比生成数据的行为更好的策略,例如把不同轨迹中好的部分组合起来。
核心难点是学习得到的策略与数据之间的分布偏移。基于价值的方法通过对学习策略将会选择的下一个动作的价值进行自举(bootstrapping)来估计 Q(s, a)。如果这个动作在数据集中很少出现或根本没有出现,它的价值估计就不受约束,而最大化操作恰恰倾向于挑出那些价值被错误高估的动作。在线 RL 通过尝试这些动作来纠正这类误差;离线 RL 则做不到。因此,离线方法以以下几种方式之一贴近数据:把策略约束在行为策略附近(如 BCQ,Fujimoto 等,2019),惩罚未见过的动作的价值(如保守 Q 学习,Kumar 等,2020),完全避免查询分布外动作(如隐式 Q 学习,Kostrikov 等,2021),或在离策略 actor-critic 损失中加入一个行为克隆项。
结果在很大程度上取决于数据集:它对状态和动作的覆盖程度、产生它的行为的质量,以及奖励是否已有、还是必须事后标注。一种常见的工作流程是先进行离线预训练,再进行有限的在线微调。离线 RL 与离策略(off-policy)RL 相关但不同:离策略算法从其他策略生成的数据中学习,但通常会持续采集新数据,而一旦停止采集,它们往往表现不佳。
为何重要
大多数机器人承受不起在硬件上进行数百万次试错回合,但许多团队都有遥操作、脚本运行和早期实验的日志。离线 RL 正是为了把这类数据安全地转化为策略而设计的一类方法,它也解释了为什么直接在固定数据集上运行标准的离策略算法常常失败。
主要应用
- 从记录下来的遥操作数据和脚本数据中学习操作策略
- 在有限的在线微调之前预训练机器人策略
- 利用奖励标签改进次优示范
- 在探索不安全的场景(如驾驶)中从数据学习
- 复用早期实验的数据,而不是将其丢弃
实际应用
一个仓储团队拥有一个脚本化抓取系统数月来记录的抓取尝试日志,每一次都标注了成功或失败。他们没有进行新的试验,而是在这些日志上训练一个保守 Q 学习智能体,以图像和夹爪状态作为输入。部署之前,他们把学习得到的策略所选的抓取与数据分布进行比较,并在一个有人监督的测试工作单元中,用一小组留出的物体对它进行评估。随后,他们允许进行一段短时间的在线微调,期间有人可以随时让机器人停下,这样纠正了在少见情形中残留的错误。
常见误解
- 离线 RL 只是在数据集上做行为克隆 — 它利用奖励并能超越数据,而行为克隆只是照搬其中的动作
- 任何离策略算法都能离线运行 — 没有新数据时,标准的离策略方法会高估未见动作的价值,并且常常崩溃
- 数据越多,离线策略就越好 — 覆盖范围和质量才是关键;一个由几乎相同的行为组成的大数据集几乎没有改进空间
- 离线 RL 不需要在真实系统上评估 — 对策略性能的离线估计并不可靠,因此仍然需要真实测试或经过仔细设计的仿真测试
谁需要了解
- 使用大规模日志数据集的机器人学习研究人员
- 拥有产生运行数据的机器人车队的工程师
- 从仿真转向硬件的强化学习从业者
- 自动驾驶和操作领域的 ML 团队
相关技术
- 保守 Q 学习(Conservative Q-Learning,CQL)
- 隐式 Q 学习(Implicit Q-Learning,IQL)
- 批约束 Q 学习(Batch-Constrained Q-Learning,BCQ)
- D4RL
- Decision Transformer
相关术语
- Reinforcement Learning
- Behavior Cloning
- Covariate Shift
- Soft Actor-Critic
- Markov Decision Process (MDP)
- Imitation 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
视频
- Offline Reinforcement Learning: RAIL
- NeurIPS 2020 Tutorial on Offline RL: Part 1: RAIL