O2O:Offline Meta-Reinforcement Learning with Online Self-Supervision

ICML 2022
paper

Introduction

元强化学习(Meta RL)结合O2O。元RL需要学习一个探索策略收集数据,同时还需学习一个策略快速适应新任务。由于策略是在固定的离线数据集上进行元训练的,因此在适应探索策略收集的数据时,它可能表现得不可预测,该策略与离线数据可能存在系统性差异,从而导致分布偏移。

本文提出两阶段的Meta offline RL算法SMAC,该算法利用带奖励的离线数据对策略进行元训练,然后收集额外无监督的、没有任何奖励信号的在线数据,来弥补这种分布上偏移。在模拟机器人运动与操作任务上,使用额外的无监督在线数据收集可以显着提高元训练策略的自适应能力。

Method

在这里插入图片描述

offline meta-training

采用Actor-crtitc架构的算法。最小化bellman误差优化价值函数:
L c r i t i c ( w ) = E ( s , a , r , s ′ ) ∼ D i , z ∼ q ϕ c ( z ∣ h ) , a ′ ∼ π θ ( a ′ ∣ s ′ , z ) [ ( Q w ( s , a , z ) − ( r + γ Q w ˉ ( s ′ , a ′ , z ) ) ) 2 ] . \begin{aligned} \mathcal{L}_{\mathrm{critic}}(w)& =\mathbb{E}_{(\mathbf{s},\mathbf{a},r,\mathbf{s}^{\prime})\sim\mathcal{D}_{\mathbf{i}},z\sim q_{\phi_{c}}(\mathbf{z}|\mathbf{h}),\mathbf{a}^{\prime}\sim\pi_{\theta}(\mathbf{a}^{\prime}|\mathbf{s}^{\prime},\mathbf{z})} \\ &\left[(Q_{w}(\mathbf{s},\mathbf{a},\mathbf{z})-(r+\gamma Q_{\bar{w}}(\mathbf{s}',\mathbf{a}',\mathbf{z})))^{2}\right]. \end{aligned} Lcritic(w)=E(s,a,r,s)Di,zqϕc(zh),aπθ(as,z)[(Qw(s,a,z)(r+γQwˉ(s,a,z)))2].

离线数据下对策略的优化若是采用SAC,将会困扰于off-policy的自举误差累积(bootstrapping error accumulation)。为解决该问题,采用类似AWAC的方法,对策略隐式约束让它保持在buffer数据附近。
L a c t o r ( θ ) = − E ⁡ s , a , s ′ ∼ D , z ∼ q ϕ c ( z ∣ h ) [ log ⁡ π θ ( a ∣ s ) × exp ⁡ ( Q ( s , a , z ) − V ( s ′ , z ) λ ) ] . \begin{gathered}\mathcal{L}_{\mathrm{actor}}(\theta)=-\operatorname{E}_{\mathbf{s},\mathbf{a},\mathbf{s}^{\prime}\sim\mathcal{D},\mathbf{z}\sim q_{\phi_c}(\mathbf{z}|\mathbf{h})}\bigg[\log\pi_\theta(\mathbf{a}\mid\mathbf{s})\times\\\exp\left(\frac{Q(\mathbf{s},\mathbf{a},\mathbf{z})-V(\mathbf{s}^{\prime},\mathbf{z})}\lambda\right)\bigg].\end{gathered} Lactor(θ)=Es,a,sD,zqϕc(zh)[logπθ(as)×exp(λQ(s,a,z)V(s,z))].
其中 V ( s , z ) = E a ∼ π θ ( a ∣ s , z ) Q ( s , a , z ) V(s,z)=\mathbb{E}_{\mathbf{a}\sim\pi_\theta(\mathbf{a}|\mathbf{s},\mathbf{z})}Q(\mathbf{s},\mathbf{a},\mathbf{z}) V(s,z)=Eaπθ(as,z)Q(s,a,z)

然而,元离线学习存在Z-空间漂移问题,这是由于元学习会训练探索策略 p i θ pi_\theta piθ生成数据。然而元离线学习只使用离线数据训练行为策略 π β \pi_\beta πβ。这样会导致两种策略在训练数据 h = h = { s i , a i , r i , s i ′ } i = 1 N e n c h=\mathbf{h}=\{\mathbf{s}_{i},\mathbf{a}_{i},r_{i},\mathbf{s}_{i}^{\prime}\}_{i=1}^{N_{\mathrm{enc}}} h=h={si,ai,ri,si}i=1Nenc以及其表征的空间 z ∼ q ϕ c ( z ∣ h ) . \mathbf{z}\sim q_{\phi_{c}}(\mathbf{z}\mid\mathbf{h}). zqϕc(zh).的不匹配。

解决办法就是使用额外的、没有奖励标签的在线数据,通过自监督方法生成奖励标签。生成奖励的模型则是使用离线数据集进行训练。
L r e w a r d ( ϕ d , ϕ c , h , z ) = ∑ ( s , a , r ) ∈ h ∥ r − r ϕ d ( s , a , z ) ∥ 2 2 + D K L ( q ϕ c ( ⋅ ∣ h ) ∣ ∣ p z ( ⋅ ) ) . \begin{aligned}\mathcal{L}_{\mathrm{reward}}(\phi_d,\phi_c,\mathbf{h},\mathbf{z})&=\sum_{(\mathbf{s},\mathbf{a},r)\in\mathbf{h}}\left\|r-r_{\phi_d}(\mathbf{s},\mathbf{a},\mathbf{z})\right\|_2^2\\&+D_{\mathrm{KL}}\left(q_{\phi_c}(\cdot\mid\mathbf{h})\right|\left|p_{\mathbf{z}}(\cdot)\right).\end{aligned} Lreward(ϕd,ϕc,h,z)=(s,a,r)hrrϕd(s,a,z)22+DKL(qϕc(h)pz()).
其中 p z p_z pz为z的先验分布。

Self-Supervised Online Meta-Training

首先使用离线训练的探索策略 π θ ( a ∣ s , z ) \pi_\theta(a|s,z) πθ(as,z)与环境交互收集没有奖励的在线数据,其中z采样于先验 p ( z ) p(z) p(z)

为了给在线数据打上奖励标签,算法从离线数据中采样 h o f f l i n e h_{offline} hoffline,从后验分布中采样 z ∼ q ϕ c ( z ∣ h o f f l i n e ) \mathbf{z}\sim q_{\phi_{c}}(\mathbf{z}\mid\mathbf{h}_{\mathrm{offline}}) zqϕc(zhoffline)。然后利用奖励生成模型标记:
r g e n e r a t e d = r ϕ d ( s , a , z ) , w h e r e z ∼ q ϕ e ( z ∣ h ) r_{\mathrm{generated}}=r_{\phi_{d}}(\mathbf{s},\mathbf{a},\mathbf{z}),\mathrm{~where~}\mathbf{z}\sim q_{\phi_{e}}(\mathbf{z}\mid\mathbf{h}) rgenerated=rϕd(s,a,z), where zqϕe(zh)
得到的奖励连同轨迹数据送入buffer执行offline meta learning,训练actor以及critic。在自监督过程中,由于没有观察到环境给出的奖励函数,不对奖励生成模型 r ϕ d r_{\phi_d} rϕd以及隐空间encoder q ϕ e q_{\phi_e} qϕe回传梯度更新,而是只更新策略与Q函数。

由于只有当encoder的数据来自在线数据才会出现Z-空间的分布偏移,而这里采样的来自于offline,所以解决Z变量分布偏移问题。

伪代码

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

97、我对 AI 模型调优的经验和认识

做 AI 算法调优一些年了,这些年中接触了不少模型,也做过不少在 ASIC 芯片进行模型加速的案例。 在接触的模型中,有一些模型有着非常奇怪的分支结构,有的还有奇怪的 tensor shape,还有的有这奇怪的自定义算法。但在模型优化时,为了将一个 AI 模型性能调到最优,也是无所不…

代码随想录三刷 day16 | 二叉树之104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数

三刷day16 104.二叉树的最大深度559.n叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数 104.二叉树的最大深度 题目链接 解题思路: 本题中根节点的高度就是最大深度 二叉树节点的深度: 指从根节点到该节点的最长简单路径边的条数或者节点数…

飞桨AI框架安装和使用示例

飞桨AI框架安装和使用示例 飞桨PaddlePaddle是非常流行的国产AI框架,让我们一起来动手实践吧! 安装 飞桨安装参考页面:https://www.paddlepaddle.org.cn/install/quick?docurl/documentation/docs/zh/install/pip/linux-pip.html 在这个安…

AttributeError: ‘SFTPClient‘ object has no attribute ‘exists‘问题解决

在使用paramiko库进行SFTP操作时,如果遇到AttributeError: SFTPClient object has no attribute exists错误,这意味着你尝试调用的.exists()方法并不直接存在于paramiko.SFTPClient对象中。 虽然SFTPClient类没有内置的.exists()方法,但你可…

【S32K3 MCAL配置】-1.2-GPIO配置及其应用-DIO之高低电平输入-按键(基于MCAL)

"><--返回「Autosar_MCAL高阶配置」专栏主页--> 目录(共11页精讲,基于评估板: NXP S32K312EVB-Q172,手把手教你S32K3从入门到精通) 实现的架构:基于MCAL层 前期准备工作:

垃圾分类网站|基于Springboot框架+java+MYSQL数据库的垃圾分类网站开发设计与实现(可运行源码+数据库+文档)

目录 1.摘 要 2.系统结构设计 3.系统顺序图设计 4.数据库设计 5.系统详细设计 用户前台功能模块 管理员功能模块 垃圾分类管理员功能模块 论文参考 文末获取源码 1.摘 要 本论文主要论述了如何使用JAVA语言开发一个垃圾分类网站 &#xff0c;本系统将严格按照软件开发…

「雷神加速器」pubg m登陆不上去、连接超时、无法进入游戏解决方法

Pubg Mobile(简称pubg m)作为人气吃鸡端游绝地求生PUBG的正版授权手游,完美保留了游戏中跳伞、跑毒、缩圈、捡装备的经典要素玩法,在手游玩家中有着极高的人气。近期,不少老玩家在登陆启动pubg m时出现登陆不上去、连接超时、无法进入游戏的情况,这里为大家整理汇总了几种常用解…

一款高输出电流 PWM 转换器

一、产品描述 TPS543x 是一款高输出电流 PWM 转换器&#xff0c;集成了低电阻、高侧 N 沟道 MOSFET。具有所列的特性的基板上还包括高性能电压误差放大器&#xff08;可在瞬态条件下提供高稳压精度&#xff09;、欠压锁定电路&#xff08;用于防止在输入电压达到 5.5V 前启动&…

【Oracle】oracle中sql给表新增字段并添加注释说明;mysql新增、修改字段

oracle中sql给表新增字段并添加注释说明 ALTER TABLE 表名 ADD 字段名 类型 COMMENT ON COLUMN 表面.字段名 IS ‘注释内容’ ALTER TABLE GROUP ADD T NUMBER(18) COMMENT ON COLUMN GROUP.T IS ‘ID’ mysql新增、修改字段、已有字段增加默认值 ALTER TABLE 表名 ADD COL…

ps aux | grep xxxx和ps ef | grep xxxx这两个命令有什么区别

命令实例 ps aux | grep nexus和ps ef | grep nexus ps aux | grep nexus 和 ps ef | grep nexus 这两个命令都用于在 Unix 或 Linux 系统中查找与 nexus 相关的进程&#xff0c;但它们在展示进程信息时有细微的区别。 ps aux | grep nexus: ps aux 是一种显示系统上所有运行进…

Java 获取元素坐标详情

获取整个页面的高度 int window_height driver.manage().window().getSize().height; 获取整个页面的宽度 int window_height driver.manage().window().getSize().width; 获取元素大小 高度 int height afghanistanIdItem.getSize().getHeight(); 获取元素大小 宽度 …

中间件 | Redis - [基本信息]

INDEX 1 常规用法2 QPS3 pipeline 1 常规用法 分布式锁 最常见用法&#xff0c;需要注意分布式锁的redis需要单点 分布式事务 分布式事务中&#xff0c;核心的技术难点其实是分布式事务这个事本身作为数据的持久化 2PC&#xff0c;比如 seata 的 AT 模式下&#xff0c;将 un…

HYBBS 表白墙网站PHP程序源码

安装教程 上传程序安装&#xff0c;然后设置账号密码&#xff0c;登陆后台切换模板手机PC都要换开启插件访问前台。 安装完成后如果不能正常访问就删除install安装文件夹 安装完成后右上角登录后点击头图进入后台 找到插件 安装表白墙配置插件 找到模板 将表白墙模板同时设…

Linux 开发工具 yum、git、gdb

目录 一、yum 1、软件包 2、rzsz 3、注意事项 4、查看软件包 5、安装软件 6、卸载软件 二、git操作 1、克隆三板斧 2、第一次使用会出现以下情况&#xff1a; 未配置用户名和邮箱&#xff1a; push后弹出提示 三、gdb使用 1、背景 2、使用方法 例一&#xff1a…

MyBatis的#{}和${}:安全与灵活并存的SQL之道

MyBatis的#{}和${}&#xff1a;安全与灵活并存的SQL之道 MyBatis是一款广泛使用的Java持久化框架&#xff0c;提供了强大的SQL映射和数据库操作功能。在编写MyBatis的SQL语句时&#xff0c;我们经常会遇到#{}和${}两种不同的占位符语法。本文将详细解析#{}和${}的区别以及它们在…

ASML或许正在考虑离开荷兰

《荷兰电讯报》报道称&#xff0c;鉴于全球最大晶圆制造设备生产商阿斯麦尔&#xff08;ASML&#xff09;可能向海外扩张&#xff0c;荷兰政府正在秘密制定计划确保该公司留在本国。这项代号为“贝多芬”的行动旨在解决ASML对于荷兰商业环境的顾虑&#xff0c;包括针对外籍员工…

Day30-Linux基础阶段总复习

Day30-Linux基础阶段总复习 1. 运维人员的三个核心职责&#xff08;了解&#xff09;2. 企业网站和应用的可用性的衡量标准&#xff08;重点&#xff09;2.1 高并发企业业务写入流程图2.2 中小型企业案例 3. Linux系统诞生发展过程中的关键代表人物4. 企业场景如何针对不同的业…

详解动态规划(算法村第十九关青铜挑战)

不同路径 62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finis…

HubSpot出海CRM智能化营销,创造无限商机

随着企业的全球化发展&#xff0c;营销的挑战也在不断增加。如何有效地管理多样化的市场、提升客户互动和参与度&#xff0c;成为了全球企业必须面对的重要问题。在这一挑战背景下&#xff0c;HubSpot出海CRM的营销自动化功能成为了企业的强大利器&#xff0c;为实施全球化营销…

力扣题库第3题:最长连续序列

题目内容&#xff1a; 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 &#xff1a; 输入&#xff1a;nums [100,4,200,1,3,…