离线强化学习新范式!京东科技&清华提出解耦式学习算法
来源:51CTO.COM
时间:2023-05-01 19:01:12 469浏览 收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《离线强化学习新范式!京东科技&清华提出解耦式学习算法》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
离线强化学习算法 (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)论文和代码均已开源。
- 论文:https://arxiv.org/abs/2210.08323
- 代码:https://github.com/ryanxhr/POR
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) 重新学习指导策略,作者实验说明了更多的数据可以增强指导策略的择优性和泛化能力,同时保持行为策略不变,从而实现了执行策略的提升。
4. 当面对新任务的时候,因为执行策略是和任务无关的,只需要重新学习指导策略。
为此,作者提出了三个任务分别是 (a): four-room: 要求 agent 从绿色方块到红色方块。(b) 除了完成任务(a) 之外,要求 agent 不能触碰河流。(c)除了完成任务(a),(b)之外,要求 agent 必须获得钥匙才算完成任务。
上图,是完成策略学习之后,对策略进行 50 次的 rollout 的轨迹,在任务 (b) 和任务 (c) 作者沿用任务 (a) 的执行策略,只重新学习了指导策略。从上图可以看出,解耦的学习方式可以在使用尽可能少的计算资源之下,完成任务的迁移。
理论要掌握,实操不能落!以上关于《离线强化学习新范式!京东科技&清华提出解耦式学习算法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
197 收藏
-
340 收藏
-
401 收藏
-
174 收藏
-
284 收藏
-
327 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习