NeurIPS2022|离线强化学习新范式!京东&清华解耦式学习算法
机器之心专栏
机器之心编辑部
新方法 POR 对离线强化学习算法的策略评估和策略提升过程进行解耦式学习,完成了状态连接的思想。POR 既拥有了训练的稳定性,也拥有了稳定的逻辑范围内的数据外的泛化能力,在 Benchmark 上表现惊人,并提出了该解耦式学习范式的潜在好处。
离线强化学习算法 (Offline RL) 是当前强化学习最火的子方向之一。离线强化学习不与环境交互,旨在从以往记录的数据中学习目标策略。在面临数据收集昂贵或危险等问题,但是可能存在大量数据领域(例如,机器人、工业控制、自动驾驶),离线强化学习对比到在线强化学习(Online RL)尤其具有吸引力。
![](/uploads/pic/20230906/d058ccbf6c81800ad23a759d522607f1838b4761.png)
在利用贝尔曼策略评估算子进行策略评估时,根据 X 的不同可以把当前的离线强化学习算法分为 RL-based (x=π)和 Imitation-based (x=μ), 其中π为目标策略,μ为行为策略 (注:目标策略:进行学习更新的策略;行为策略:离线数据中的策略)。当前,不管是 RL-based 还是 Imitation-based, 都有各自优势以及劣势:
1.RL-based 优势:可以进行数据外的泛化,最后达到学习到超越行为策略的目标策略。劣势:需要在策略评估中准确的价值估计(更多的行为正则化)和策略提升(更少的行为正则化)之间进行权衡。在策略评估过程中,如果选取了数据分布外的动作,无法准确估计动作价值函数(action-state value),最后导致的目标策略学习失败。
2.Imitation-based 优势:因为在策略评估的过程中都是数据分布内的动作,既可以带来训练的稳定性,又避免了数据分布外的策略评估,可以学习到接近行为策略库中最好的策略。劣势:因为都是采取数据分布内的动作,所以很难超越原数据中存在的行为策略。
![](/uploads/pic/20230906/6609c93d70cf3bc746da394723138eaacc112a66.png)
POR 基于此,既能避免策略评估过程中的权衡,也能拥有数据外泛化的能力。该工作已被 NeurIPS 2022 接收,并被邀请进行口头汇报(oral presentation)论文和代码均已开源。
![](/uploads/pic/20230906/3c6d55fbb2fb431671074c53c4b7722809f7d399.png)
论文:https://arxiv.org/abs/2210.08323
代码:https://github.com/ryanxhr/POR
任务:走格子,终点在右上角,起点在右下角。找到最短从起点到终点的路径。
规则:智能体可以在任何一个格子选择它周围的八个格子,走到终点给与奖励 1,其他所有的行为奖励都是 0。
数据:绿色的行走路径是已有的路径数据。
之前的 imitation-based 算法都是使用 action-stitching: 拼凑数据中可用的轨迹以达到目标策略的学习。如视频中蓝色的轨迹,是在 action-stitching 下能够学习到的最好轨迹,但是在数据外无法进行有效的泛化,从而学习到超越数据中行为策略的目标策略。但是,POR 通过解耦式的学习范式,能够让目标策略进行有效的泛化,从而超越行为策略的表现。
如何实现 state-stitching?
Policy-guided Offline RL (POR)的学习过程分为三步,这三步是分别解耦的,互不影响。值得注意的是,POR 全程都是基于 imitation-based 的学习,也就是样本内的学习(in-sample learning),不会对数据分布外的动作进行价值评估。
![](/uploads/pic/20230906/e4dde71190ef76c6f7dad1637505c9f1af516708.png)
1. 利用分位数回归学习价值函数的置信上界。
2. 利用已经学习到的价值函数学习指导策略,该指导策略可以在给定当前的状态下,生成到样本内的下一步最优的状态位置(s')。后面一项作为约束项保证生成的状态满足 MDP 条件。
3. 利用数据中所有的样本进行学习一个执行策略,该执行策略在给定当前状态(s)和下一步的状态 (s') 之后,能够采取正确的动作从当前状态(s)移动到下一步状态(s')。
![](/uploads/pic/20230906/2f738bd4b31c8701acef5bbcd16caa240708ff2a.png)
在测试过程,根据当前状态信息(s),先通过指导策略给出下一步的最优状态(s')。
给定(s, s'),执行策略能够进行动作选取和执行。虽然 POR 的整个学习过程都是样本内的学习,但是可以利用神经网络的泛化性能进行数据外的泛化学习,最后实现 state-stitching。
![](/uploads/pic/20230906/42a98226cffc1e17cef937e2b183c208728de9ba.png)
实验
作者对比了 POR 和其他算法在 D4RL Benchmark 上的表现。从表格来上看,POR 在次优数据上的表现非常亮眼,在具有更大难度 Antmaze 任务上的表现均取得最优的算法性能。
![](/uploads/pic/20230906/1f178a82b9014a9007f3863343640d19b21bee0b.png)
同时,作者对比了 POR(state-stitching) 和 IQL(action-stitching)的训练曲线,以表现 state-stitching 的优势。
![](/uploads/pic/20230906/55e736d12f2eb93897b111ad3071b13ee4dd6fab.png)
解耦有哪些额外的好处
1. 重新学习指导策略以实现算法的性能提高。
真实的世界中往往存在量的次优甚随机的数据集 (D_o),如果直接引入到正在学习的原始数据集 (D_e) 上可能会导致学到个较差的策略,但是对于解耦式学习算法来讲,针对到不同的组件,学习不同的数据集来提升表现。在学习价值函数的时候往往是越多的数据集越好,因为可以把价值函数可以学得更准确;相反,策略的学习是不希望引入 (D_o)。
作者对比了三个不同的算法在不同训练场景下的表现:
1. Main : 在原始数据集上 (D_e) 进行学习,不引入额外次优数据集。
2. More:把原始数据集 (D_e) 和新数据集(D_o)进行混合,作为新的数据集进行学习。
3. Mix: 对于解耦的算法,对于不同的学习部分,可以用不同的数据集进行学习,所以只有 POR 可以有 Mix 的学习范式。
![](/uploads/pic/20230906/96dda144ad34598294f2e12eefe705a6cbef8434.png)
从上图可以看到,当加入新的次优数据一起训练过后(More),可能会导致比原来的只用原始数据集(Main)表现更好或者更差,但是针对到可以解耦的训练形式,用以 (D_o+D_e) 重新学习指导策略,作者实验说明了更多的数据可以增强指导策略的择优性和泛化能力,同时保持行为策略不变,从而实现了执行策略的提升。
2. 当面对新任务的时候,因为执行策略是和任务无关的,只需要重新学习指导策略。
为此,作者提出了三个任务分别是 (a): four-room: 要求 agent 从绿色方块到红色方块。(b) 除了完成任务(a) 之外,要求 agent 不能触碰河流。(c)除了完成任务(a),(b)之外,要求 agent 必须获得钥匙才算完成任务。
![](/uploads/pic/20230906/b219ebc4b74543a91f7d8c99f404be89b901141b.png)
上图,是完成策略学习之后,对策略进行 50 次的 rollout 的轨迹,在任务 (b) 和任务 (c) 作者沿用任务 (a) 的执行策略,只重新学习了指导策略。从上图可以看出,解耦的学习方式可以在使用尽可能少的计算资源之下,完成任务的迁移。
- 免责声明
- 本文所包含的观点仅代表作者个人看法,不代表新火种的观点。在新火种上获取的所有信息均不应被视为投资建议。新火种对本文可能提及或链接的任何项目不表示认可。 交易和投资涉及高风险,读者在采取与本文内容相关的任何行动之前,请务必进行充分的尽职调查。最终的决策应该基于您自己的独立判断。新火种不对因依赖本文观点而产生的任何金钱损失负任何责任。
热门文章
![](https://www.xhz.cn/uploads/20240904/sbuqqw5v1v1.jpg)