Unsupervised RL:METRA: Scalable Unsupervised RL with Metric-Aware Abstraction

ICLR 2024 Oral
paper

Intro

无监督RL旨在发现潜在的行为帮助提高下游任务效率以往方法集中于探索以及基于互信息的技能发现(skill)。然而去前者在高危复杂空间实现困难,后者也容易因为缺乏激励导致探索能力不足。本文提出METRA核心观点认为与其在复杂状态空间处理,不如构造一个更紧凑的隐空间z,类似于PCA将复杂状态空间简化: ϕ : S → Z \phi:\mathcal{S}\rightarrow\mathcal{Z} ϕ:SZ,而z可以通过时间距离(temporal distances)度量metric d链接到状态空间。
在这里插入图片描述
采用时间距离度量(状态间转换的最小交互步数)的原因是其对状态表征是不变的,因此该度量适用于pixel-based的任务。因此,通过最大化Z空间中的覆盖,可以获得近似覆盖整个状态空间的各种行为,便可实现扩展到高维、复杂的环境。

Method

METRA的目标是基于Z空间实现状态空间的最大化覆盖。类似于Skill-based的无监督方法,提出如下优化目标
I W ( S ; Z ) = W ( p ( s , z ) , p ( s ) p ( z ) ) , I_{\mathcal W}(S;Z)=\mathcal{W}(p(s,z),p(s)p(z)), IW(S;Z)=W(p(s,z),p(s)p(z)),
上式计算了状态与skills之间的Wasserstein dependency measure (WDM)。为了让上述目标简介且易于计算,采用Kantorovich-Rubenstein duality提供一种可计算的方式最大化WDM。
I W ( S ; Z ) = sup ⁡ ∥ f ∥ L ≤ 1 E p ( s , z ) [ f ( s , z ) ] − E p ( s ) p ( z ) [ f ( s , z ) ] v \begin{aligned}I_{\mathcal{W}}(S;Z)=\sup_{\|f\|_{L}\leq1}\mathbb{E}_{p(s,z)}[f(s,z)]-\mathbb{E}_{p(s)p(z)}[f(s,z)]\end{aligned}v IW(S;Z)=fL1supEp(s,z)[f(s,z)]Ep(s)p(z)[f(s,z)]v
直观来说更希望采样联合分布的(s,z)而非边际分布的(s,z)。上述目标是可计算的,可以设置f为1阶李普希兹连续的函数,通过梯度下降优化,而z-condition的策略 π ( a ∣ s , z ) \pi(a|s,z) π(as,z)可以通过RL算法优化,其奖励函数表示为: r ( s , z ) = f ( s , z ) − N − 1 ∑ i = 1 N f ( s , z i ) r(s,z)=f(s,z)-N^{-1}\sum_{i=1}^Nf(s,z_i) r(s,z)=f(s,z)N1i=1Nf(s,zi)。而对每一个状态都需要从z的先验分布中采集N个 z i z_i zi,这样计算量增加。

因此本文简化计算量提出参数化 f ( s , a ) = ϕ ( s ) ⊤ ψ ( z ) f(s,a)=\phi(s)^{\top}\psi(z) f(s,a)=ϕ(s)ψ(z)。上述优化目标转化为:
I W ( S ; Z ) ≈ sup ⁡ ∥ ϕ ∥ L ≤ 1 , ∥ ψ ∥ L ≤ 1 E p ( s , z ) [ ϕ ( s ) ⊤ ψ ( z ) ] − E p ( s ) [ ϕ ( s ) ] ⊤ E p ( z ) [ ψ ( z ) ] . I_{\mathcal{W}}(S;Z)\approx\operatorname*{sup}_{\|\phi\|_{L}\leq1,\|\psi\|_{L}\leq1}\mathbb{E}_{p(s,z)}[\phi(s)^{\top}\psi(z)]-\mathbb{E}_{p(s)}[\phi(s)]^{\top}\mathbb{E}_{p(z)}[\psi(z)]. IW(S;Z)ϕL1,ψL1supEp(s,z)[ϕ(s)ψ(z)]Ep(s)[ϕ(s)]Ep(z)[ψ(z)].
原文给出证明,在隐空间维度D趋于正无穷时 f ( s , a ) f(s,a) f(s,a) ϕ ( s ) ⊤ ψ ( z ) \phi(s)^{\top}\psi(z) ϕ(s)ψ(z)等价。然后考虑状态为最后T时刻的设定
I W ( S T ; Z ) ≈ sup ⁡ ∥ ϕ ∥ L ≤ 1 , ∥ ψ ∥ L ≤ 1 E p ( τ , z ) [ ϕ ( s T ) ⊤ ψ ( z ) ] − E p ( τ ) [ ϕ ( s T ) ] ⊤ E p ( z ) [ ψ ( z ) ] = sup ⁡ ϕ , ψ ∑ t = 0 T − 1 ( E p ( τ , z ) [ ( ϕ ( s t + 1 ) − ϕ ( s t ) ) ⊤ ψ ( z ) ] − E p ( τ ) [ ϕ ( s t + 1 ) − ϕ ( s t ) ] ⊤ E p ( z ) [ ψ ( z ) ] ) , \begin{aligned}I_{\mathcal{W}}(S_T;Z)&\approx\sup_{\|\phi\|_L\leq1,\|\psi\|_L\leq1}\mathbb{E}_{p(\tau,z)}[\phi(s_T)^\top\psi(z)]-\mathbb{E}_{p(\tau)}[\phi(s_{T})]^{\top}\mathbb{E}_{p(z)}[\psi(z)]\\&=\sup_{\phi,\psi}\sum_{t=0}^{T-1}\big(\mathbb{E}_{p(\tau,z)}\big[(\phi(s_{t+1})-\phi(s_t))^\top\psi(z)\big]-\left.\mathbb{E}_{p(\tau)}[\phi(s_{t+1})-\phi(s_{t})]^{\top}\mathbb{E}_{p(z)}[\psi(z)]\right),\end{aligned} IW(ST;Z)ϕL1,ψL1supEp(τ,z)[ϕ(sT)ψ(z)]Ep(τ)[ϕ(sT)]Ep(z)[ψ(z)]=ϕ,ψsupt=0T1(Ep(τ,z)[(ϕ(st+1)ϕ(st))ψ(z)]Ep(τ)[ϕ(st+1)ϕ(st)]Ep(z)[ψ(z)]),
其中 p ( s 0 ) p(s_0) p(s0) p ( z ) p(z) p(z)独立分布,设 ψ ( z ) = z \psi(z)=z ψ(z)=z, 约简优化目标为
I W ( S T ; Z ) ≈ sup ⁡ ∥ ϕ ∥ L ≤ 1 E p ( τ , z ) [ ∑ t = 0 T − 1 ( ϕ ( s t + 1 ) − ϕ ( s t ) ) ⊤ ( z − z ˉ ) ] I_{\mathcal{W}}(S_T;Z)\approx\sup\limits_{\|\phi\|_L\leq1}\mathbb{E}_{p(\tau,z)}\left[\sum\limits_{t=0}^{T-1}(\phi(s_{t+1})-\phi(s_t))^\top(z-\bar{z})\right] IW(ST;Z)ϕL1supEp(τ,z)[t=0T1(ϕ(st+1)ϕ(st))(zzˉ)]
且其中 z ˉ = E p ( z ) [ z ] {\bar{z}}={\mathbb{E}}_{p(z)}[z] zˉ=Ep(z)[z],若是z均值为0那该问题可看作奖励函数 r ( s , z , s ′ ) = ( ϕ ( s ′ ) − ϕ ( s ) ) ⊤ z \begin{aligned}r(s,z,s^{\prime})=(\phi(s^{\prime})-\phi(s))^{\top}z\end{aligned} r(s,z,s)=(ϕ(s)ϕ(s))z的RL问题,联合优化 ϕ \phi ϕ π ( a ∣ s , z ) \pi(a|s,z) π(as,z)

METRA

到目前为止,上述问题没有指定距离函数 d d d, 本文提出两个状态时间距离 d t e m p ( s 1 , s 2 ) d_{\mathrm{temp}}(s_{1},s_{2}) dtemp(s1,s2), 即从 s 1 s_1 s1 s 2 s_2 s2最小环境交互步数。那么优化问题为
sup ⁡ π , ϕ E p ( τ , z ) [ ∑ t = 0 T − 1 ( ϕ ( s t + 1 ) − ϕ ( s t ) ) ⊤ z ] s . t . ∥ ϕ ( s ) − ϕ ( s ′ ) ∥ 2 ≤ 1 , ∀ ( s , s ′ ) ∈ S adj , \begin{aligned}\sup_{\pi,\phi}\mathbb{E}_{p(\tau,z)}\left[\sum_{t=0}^{T-1}(\phi(s_{t+1})-\phi(s_{t}))^{\top}z\right]\\\mathrm{s.t.}\|\phi(s)-\phi(s')\|_2\leq1,\forall(s,s')\in\mathcal{S}_{\text{adj}},\end{aligned} π,ϕsupEp(τ,z)[t=0T1(ϕ(st+1)ϕ(st))z]s.t.ϕ(s)ϕ(s)21,(s,s)Sadj,
其中 S adj \mathcal{S}_{\text{adj}} Sadj为相邻状态对的集合,因此d=1。直观来说,上述目标迫使策略 π ( a ∣ s , z ) \pi(a|s,z) π(as,z)尽可能向着由z指定的方向进行探索,但是由于 ∥ ϕ ( s 1 ) − ϕ ( s 2 ) ∥ 2 \|\phi(s_{1})-\phi(s_{2})\|_{2} ϕ(s1)ϕ(s2)2存在一个upper bound。这样潜在空间应该将其(有限的)维度分配给原始状态空间中流形最大限度“展开”的状态。从某种意义上说,状态集中的最短路径应该尽可能长
在这里插入图片描述

在这里插入图片描述

Zero-shot goal-reaching with METRA

得益于 ϕ ( s ) \phi(s) ϕ(s)考虑时间距离上的状态抽象,可以方便的实现Zero-shot goal-reaching 。只需将方向设置 z = ( ϕ ( g ) − ϕ ( s ) ) / ∥ ϕ ( g ) − ϕ ( s ) ∥ 2 z=(\phi(g)-\phi(s))/\|\phi(g)-\phi(s)\|_{2} z=(ϕ(g)ϕ(s))/∥ϕ(g)ϕ(s)2(连续技能)或者 z = arg ⁡ max ⁡ dim ⁡ ( ϕ ( g ) − ϕ ( s ) ) z=\arg\max_{\dim}\left(\phi(g)-\phi(s)\right) z=argmaxdim(ϕ(g)ϕ(s))(离散技能)

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

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

相关文章

[leetcode~dfs]1261. 在受污染的二叉树中查找元素

给出一个满足下述规则的二叉树: root.val 0 如果 treeNode.val x 且 treeNode.left ! null,那么 treeNode.left.val 2 * x 1 如果 treeNode.val x 且 treeNode.right ! null,那么 treeNode.right.val 2 * x 2 现在这个二叉树受到「污…

python apscheduler添加监听器listener,用于自动化任务的反馈

apscheduler可以通过添加监听器,得到定时任务的反馈。监听会监听到的是apscheduler.events,进入apscheduler/events.py文件中可以看到,使用常量对事件的定义: EVENT_SCHEDULER_STARTED EVENT_SCHEDULER_START 2 ** 0 EVENT_SCH…

Games101笔记-计算机图形学概述

光栅化:把三维空间的几何形体显示在屏幕上 实时:每秒30帧的画面 曲线和曲面: 如何表示一条光滑曲线,如何表示曲面如何用简单的曲面通过细分的方法得到更复杂的曲面在形状发生变化时,面要如何变化,如何保…

深入学习默认成员函数——c++指南

前言:类和对象是面向对象语言的重要概念。 c身为一门既面向过程,又面向对象的语言。 想要学习c, 首先同样要先了解类和对象。 本节就类和对象的几种构造函数相关内容进行深入的解析。 目录 类和对象的基本概念 封装 类域和类体 访问限定符…

力扣235. 二叉搜索树的最近公共祖先

思路:要利用好二叉搜索树的特性,中序遍历是有序的,也就是说最近的公共祖先 大小一定落在区间 [p,q] 或[q,p]。 1、当p和q都大于当前root值时,说明当前root值太小,需要更大才能让它落入区间范围,所以要往右子…

@Insert注解是怎么用的?

苍穹外卖第二天有这段注解: Insert("insert into employee(name, username, password, phone, sex, id_number, create_time, update_time, create_user, update_user,status) " "values ""(#{name},#{username},#{password},#{phone},#{…

排列数字(DFS)

[Acwing 842.排列数字] 给定一个整数 n n n,将数字 1 ∼ n 1∼n 1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数 n n n 。 输出格式 按字典序输出所有排…

单词拆分-动态规划

// 单词拆分-动态规划// 输入: s "leetcode", wordDict ["leet", "code"]// 输出: true// 解释: 返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。public static boolean wordBreak(St…

如何下载安装chromium浏览器

下载安装chromium浏览器去这个网站下载: CNPM Binaries Mirror 参考链接:手写 Puppeteer:自动下载 Chromium - 知乎

手撸nano-gpt

nano GPT 跟着youtube上AndrejKarpathy大佬复现一个简单GPT 1.数据集准备 很小的莎士比亚数据集 wget https://raw.githubusercontent.com/karpathy/char-rnn/master/data/tinyshakespeare/input.txt 1.1简单的tokenize 数据和等下的模型较简单,所以这里用了个…

解决mybatis-plus新增数据自增ID与之前数据不匹配问题

实体类的例子 Data public class User {TableId(value "id", type IdType.AUTO)private Integer id;private String username;// 忽略,不传到前端JsonIgnoreprivate String password;private String nickname;private String email;private String phone;private …

css---定位

定位 1. 相对定位1.1 如何设置相对定位?1.2 相对定位的参考点在哪里?1.3 相对定位的特点: 2. 绝对定位2.1 如何设置绝对定位?2.2 绝对定位的参考点在哪里?2.3 绝对定位元素的特点: 3. 固定定位3.1 如何设置…

PostgreSQL教程(三十六):服务器管理(十八)之回归测试

回归测试是PostgreSQL中对于 SQL 实现的一组综合测试集。它们测试标准 SQL 操作以及PostgreSQL的扩展能力。 一、运行测试 回归测试可以在一个已经安装并运行的服务器上运行,或者在编译树中的一个临时安装上运行。此外,还有运行该测试的“并行”和“顺…

游戏免费下载平台模板源码

功能介绍 此游戏网站模板源码是专门为游戏下载站而设计的,旨在为网站开发者提供一个高效、易于维护和扩展的解决方案。 特点: 响应式设计:我们的模板可以自适应不同设备屏幕大小,从而为不同平台的用户提供最佳的浏览体验。 …

算法---滑动窗口练习-1(长度最小的子数组)

长度最小的子数组 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址:长度最小的子数组 2. 讲解算法原理 首先,定义变量n为数组nums的长度,sum为当前子数组的和,len为最短子数组的长度,初始值为INT_MAX&am…

javascript中的structuredClone()克隆方法

前言: structuredClone 是 JavaScript 的方法之一,用于深拷贝一个对象。它的语法是 structuredClone(obj),其中 obj 是要拷贝的对象。structuredClone 方法将会创建一个与原始对象完全相同但是独立的副本。 案例: 当使用Web Work…

阿里巴巴按关键字搜索商品 API 返回值说明

item_search-按关键字搜索商品API测试工具 alibaba.item_search 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,…

Shadertoy内置函数系列 - mod 取模运算

mod函数返回x % 3的结果 先看一个挑战问题题目: Create a pattern of alternating black and red columns, with 9 columns of each color. Then, hide every third column that is colored red.The shader should avoid using branching or conditional statemen…

2024年最新阿里云和腾讯云云服务器价格租用对比

2024年阿里云服务器和腾讯云服务器价格战已经打响,阿里云服务器优惠61元一年起,腾讯云服务器61元一年,2核2G3M、2核4G、4核8G、4核16G、8核16G、16核32G、16核64G等配置价格对比,阿腾云atengyun.com整理阿里云和腾讯云服务器详细配…

C语言分支和循环总结

文章目录 概要结构介绍不同结构的语句简单运用小结 概要 C语言中分为三种结构:顺序结构,选择结构,循环结构 结构介绍 顺序结构就是从上到下,从左到右等等;选择结构可以想象是Y字路口就是到了一个地方会有不同的道路…