NeurIPS 2022 Oral | 离线强化学习新范式!京东科技&清华提出解耦式学习算法

简介: NeurIPS 2022 Oral | 离线强化学习新范式!京东科技&清华提出解耦式学习算法

新方法 POR 对离线强化学习算法的策略评估和策略提升过程进行解耦式学习,完成了状态连接的思想。POR 既拥有了训练的稳定性,也拥有了稳定的逻辑范围内的数据外的泛化能力,在 Benchmark 上表现惊人,并提出了该解耦式学习范式的潜在好处。


离线强化学习算法 (Offline RL) 是当前强化学习最火的子方向之一。离线强化学习不与环境交互,旨在从以往记录的数据中学习目标策略。在面临数据收集昂贵或危险等问题,但是可能存在大量数据领域(例如,机器人、工业控制、自动驾驶),离线强化学习对比到在线强化学习(Online RL)尤其具有吸引力。



在利用贝尔曼策略评估算子进行策略评估时,根据 X 的不同可以把当前的离线强化学习算法分为 RL-based (x=π)和 Imitation-based (x=μ), 其中π为目标策略,μ为行为策略 (注:目标策略:进行学习更新的策略;行为策略:离线数据中的策略)。当前,不管是 RL-based 还是 Imitation-based, 都有各自优势以及劣势:


1.RL-based 优势:可以进行数据外的泛化,最后达到学习到超越行为策略的目标策略。劣势:需要在策略评估中准确的价值估计(更多的行为正则化)和策略提升(更少的行为正则化)之间进行权衡。在策略评估过程中,如果选取了数据分布外的动作,无法准确估计动作价值函数(action-state value),最后导致的目标策略学习失败。


2.Imitation-based 优势:因为在策略评估的过程中都是数据分布内的动作,既可以带来训练的稳定性,又避免了数据分布外的策略评估,可以学习到接近行为策略库中最好的策略。劣势:因为都是采取数据分布内的动作,所以很难超越原数据中存在的行为策略。



POR 基于此,既能避免策略评估过程中的权衡,也能拥有数据外泛化的能力。该工作已被 NeurIPS 2022 接收,并被邀请进行口头汇报(oral presentation)论文和代码均已开源。




,时长00:07

state-stitching vs. action-stitching


  • 任务:走格子,终点在右上角,起点在右下角。找到最短从起点到终点的路径。
  • 规则:智能体可以在任何一个格子选择它周围的八个格子,走到终点给与奖励 1,其他所有的行为奖励都是 0。
  • 数据:绿色的行走路径是已有的路径数据。


之前的 imitation-based 算法都是使用 action-stitching: 拼凑数据中可用的轨迹以达到目标策略的学习。如视频中蓝色的轨迹,是在 action-stitching 下能够学习到的最好轨迹,但是在数据外无法进行有效的泛化,从而学习到超越数据中行为策略的目标策略。但是,POR 通过解耦式的学习范式,能够让目标策略进行有效的泛化,从而超越行为策略的表现。


如何实现 state-stitching?


Policy-guided Offline RL (POR)的学习过程分为三步,这三步是分别解耦的,互不影响。值得注意的是,POR 全程都是基于 imitation-based 的学习,也就是样本内的学习(in-sample learning),不会对数据分布外的动作进行价值评估。



1. 利用分位数回归学习价值函数的置信上界。

2. 利用已经学习到的价值函数学习指导策略,该指导策略可以在给定当前的状态下,生成到样本内的下一步最优的状态位置(s')。后面一项作为约束项保证生成的状态满足 MDP 条件。

3. 利用数据中所有的样本进行学习一个执行策略,该执行策略在给定当前状态(s)和下一步的状态 (s') 之后,能够采取正确的动作从当前状态(s)移动到下一步状态(s')。



在测试过程,根据当前状态信息(s),先通过指导策略给出下一步的最优状态(s')。


给定(s, s'),执行策略能够进行动作选取和执行。虽然 POR 的整个学习过程都是样本内的学习,但是可以利用神经网络的泛化性能进行数据外的泛化学习,最后实现 state-stitching。



实验


作者对比了 POR 和其他算法在 D4RL Benchmark 上的表现。从表格来上看,POR 在次优数据上的表现非常亮眼,在具有更大难度 Antmaze 任务上的表现均取得最优的算法性能。



同时,作者对比了 POR(state-stitching) 和 IQL(action-stitching)的训练曲线,以表现 state-stitching 的优势。



解耦有哪些额外的好处


1. 重新学习指导策略以实现算法的性能提高。


真实的世界中往往存在⼤量的次优甚⾄随机的数据集 (D_o),如果直接引入到正在学习的原始数据集 (D_e) 上可能会导致学到⼀个较差的策略,但是对于解耦式学习算法来讲,针对到不同的组件,学习不同的数据集来提升表现。在学习价值函数的时候往往是越多的数据集越好,因为可以把价值函数可以学得更准确;相反,策略的学习是不希望引入 (D_o)。


作者对比了三个不同的算法在不同训练场景下的表现:


1. Main : 在原始数据集上 (D_e) 进行学习,不引入额外次优数据集。

2. More:把原始数据集 (D_e) 和新数据集(D_o)进行混合,作为新的数据集进行学习。

3. Mix: 对于解耦的算法,对于不同的学习部分,可以用不同的数据集进行学习,所以只有 POR 可以有 Mix 的学习范式。



从上图可以看到,当加入新的次优数据一起训练过后(More),可能会导致比原来的只用原始数据集(Main)表现更好或者更差,但是针对到可以解耦的训练形式,用以 (D_o+D_e) 重新学习指导策略,作者实验说明了更多的数据可以增强指导策略的择优性和泛化能力,同时保持行为策略不变,从而实现了执行策略的提升。


2. 当面对新任务的时候,因为执行策略是和任务无关的,只需要重新学习指导策略。


为此,作者提出了三个任务分别是 (a): four-room: 要求 agent 从绿色方块到红色方块。(b) 除了完成任务(a) 之外,要求 agent 不能触碰河流。(c)除了完成任务(a),(b)之外,要求 agent 必须获得钥匙才算完成任务。



上图,是完成策略学习之后,对策略进行 50 次的 rollout 的轨迹,在任务 (b) 和任务 (c) 作者沿用任务 (a) 的执行策略,只重新学习了指导策略。从上图可以看出,解耦的学习方式可以在使用尽可能少的计算资源之下,完成任务的迁移。

相关文章
|
4月前
|
机器学习/深度学习 算法 机器人
多代理强化学习综述:原理、算法与挑战
多代理强化学习是强化学习的一个子领域,专注于研究在共享环境中共存的多个学习代理的行为。每个代理都受其个体奖励驱动,采取行动以推进自身利益;在某些环境中,这些利益可能与其他代理的利益相冲突,从而产生复杂的群体动态。
410 5
|
1月前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
209 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
2月前
|
存储 人工智能 自然语言处理
Delta-CoMe:清华联合OpenBMB等高校开源的新型增量压缩算法
Delta-CoMe是由清华大学NLP实验室联合OpenBMB开源社区、北京大学和上海财经大学提出的新型增量压缩算法。该算法通过结合低秩分解和低比特量化技术,显著减少了大型语言模型的存储和内存需求,同时保持了模型性能几乎无损。Delta-CoMe特别适用于处理数学、代码和多模态等复杂任务,并在推理速度上有所提升。
103 6
Delta-CoMe:清华联合OpenBMB等高校开源的新型增量压缩算法
|
2月前
|
机器学习/深度学习 算法
强化学习之父Richard Sutton给出一个简单思路,大幅增强所有RL算法
Richard Sutton领导的团队提出了一种称为“奖励中心化”的方法,通过从观察到的奖励中减去其经验平均值,使奖励更加集中,显著提高了强化学习算法的性能。该方法在解决持续性问题时表现出色,尤其是在折扣因子接近1的情况下。论文地址:https://arxiv.org/pdf/2405.09999
97 15
|
3月前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法与应用
探索人工智能中的强化学习:原理、算法与应用
|
3月前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法及应用
探索人工智能中的强化学习:原理、算法及应用
|
6月前
|
机器学习/深度学习 算法 TensorFlow
深入探索强化学习与深度学习的融合:使用TensorFlow框架实现深度Q网络算法及高效调试技巧
【8月更文挑战第31天】强化学习是机器学习的重要分支,尤其在深度学习的推动下,能够解决更为复杂的问题。深度Q网络(DQN)结合了深度学习与强化学习的优势,通过神经网络逼近动作价值函数,在多种任务中表现出色。本文探讨了使用TensorFlow实现DQN算法的方法及其调试技巧。DQN通过神经网络学习不同状态下采取动作的预期回报Q(s,a),处理高维状态空间。
94 1
|
6月前
|
机器学习/深度学习 存储 算法
强化学习实战:基于 PyTorch 的环境搭建与算法实现
【8月更文第29天】强化学习是机器学习的一个重要分支,它让智能体通过与环境交互来学习策略,以最大化长期奖励。本文将介绍如何使用PyTorch实现两种经典的强化学习算法——Deep Q-Network (DQN) 和 Actor-Critic Algorithm with Asynchronous Advantage (A3C)。我们将从环境搭建开始,逐步实现算法的核心部分,并给出完整的代码示例。
485 1
|
6月前
|
JSON 算法 API
京东以图搜图功能API接口调用算法源码python
京东图搜接口是一款强大工具,通过上传图片即可搜索京东平台上的商品。适合电商平台、比价应用及需商品识别服务的场景。使用前需了解接口功能并注册开发者账号获取Key和Secret;准备好图片的Base64编码和AppKey;生成安全签名后,利用HTTP客户端发送POST请求至接口URL;最后解析JSON响应数据以获取商品信息。
|
6月前
|
测试技术 数据库
探索JSF单元测试秘籍!如何让您的应用更稳固、更高效?揭秘成功背后的测试之道!
【8月更文挑战第31天】在 JavaServer Faces(JSF)应用开发中,确保代码质量和可维护性至关重要。本文详细介绍了如何通过单元测试实现这一目标。首先,阐述了单元测试的重要性及其对应用稳定性的影响;其次,提出了提高 JSF 应用可测试性的设计建议,如避免直接访问外部资源和使用依赖注入;最后,通过一个具体的 `UserBean` 示例,展示了如何利用 JUnit 和 Mockito 框架编写有效的单元测试。通过这些方法,不仅能够确保代码质量,还能提高开发效率和降低维护成本。
75 0