NovelD: A Simple yet Effective Exploration Criterion论文笔记

NovelD:一种简单而有效的探索准则

1、Motivation

针对稀疏奖励环境下的智能体探索问题,许多工作中采用各种内在奖励(Intrinsic Reward)设计来指导困难探索环境中的探索 ,例如:

  • ICM:基于前向动力学模型的好奇心驱动探索
  • RND:基于随机网络蒸馏驱动的探索
  • Count-Based:基于伪计数驱动的探索

但是本文作者从实验中观察到,如果有多个感兴趣的区域,这些方法有时会很快使智能体被困在一个区域,而无法充分探索其他区域。

2、Introduction

算法使用轨迹中连续状态的NovelD,这个标准在探索和未探索区域之间的边界上提供了很大的内在奖励。

NovelD有以下几点优势:

  1. 几乎没有超参数
  2. 是一种单阶段方法,可以很容易地与任何策略学习方法(例如PPO)相结合
  3. NovelD是渐近一致的:在充分探索之后,它的IR会消失,而RIDE和AMIGo这样的方法则不会。
  4. 与基于计数的方法和RND相比,NovelD优先考虑未探索的边界状态,产生更有效和更广泛的探索模式。

3、方法

在本篇文章中,每一次执行动作后得到的reward表示为:
r t = r t e + α r t i r_t=r_t^e+\alpha r_t^i rt=rte+αrti
intrinsic reward被定义为:
r i ( s t , a t , s t + 1 ) = max ⁡ [ novelty ( s t + 1 ) − α ⋅ novelty ( s t ) , 0 ] r^i(\mathbf{s}_t,\mathbf{a}_t,\mathbf{s}_{t+1})=\max\left[\text{novelty}(\mathbf{s}_{t+1})-\alpha\cdot\text{novelty}(\mathbf{s}_t),0\right] ri(st,at,st+1)=max[novelty(st+1)αnovelty(st),0]
其中α是比例因子,定义一个被探索过的区域为:
{ s : n o v e l t y ( s ) ≤ m } \{\mathbf{s}:\mathrm{novelty}(\mathbf{s})\leq m\} {s:novelty(s)m}
当智能体的探索超过这个区域的边界时,NovelD会给予intrinsic reward。从公式(2)可以看出,当智能体从新状态转回熟悉的状态时,会截取IR以避免负IR。

从等式(2)可以看出,只有当智能体跨越边界时才会关系到IR,当st和st+1都是熟悉的或者陌生的状态时,它们的区别会很小。

但是简单的使用等式(1)会导致智能体在新状态st+1和旧状态st之间来回切换,对此NovelD设置了更为激进的限制:智能体只有在一个episode里第一次访问状态s时才会获得奖励。于是NovelD的intrinsic reward为:
r i ( s t , a t , s t + 1 ) = max ⁡ [ novelty ( s t + 1 ) − α ⋅ novelty ( s t ) , 0 ] ∗ I { N e ( s t + 1 ) = 1 } r^i(\mathbf{s}_t,\mathbf{a}_t,\mathbf{s}_{t+1})=\max\left[\text{novelty}(\mathbf{s}_{t+1})-\alpha\cdot\text{novelty}(\mathbf{s}_t),0\right]*\mathbb{I}\{N_e(\mathbf{s}_{t+1})=1\} ri(st,at,st+1)=max[novelty(st+1)αnovelty(st),0]I{Ne(st+1)=1}
Ne代表一个episode中的状态s的计数,每个episode会重置这个计数。而novelty算子是life-long的。

novelty使用RND方法来计算:
n o v e l t y ( s t ) = n o v e l t y ( s t ; w ) : = ∥ ϕ ( s t ) − ϕ w ′ ( s t ) ∥ 2 \mathrm{novelty}(\mathbf{s}_t)=\mathrm{novelty}(\mathbf{s}_t;\boldsymbol{w}):=\|\phi(\mathbf{s}_t)-\phi_{\boldsymbol{w}}^{\prime}(\mathbf{s}_t)\|_2 novelty(st)=novelty(st;w):=ϕ(st)ϕw(st)2
计算出st的novelty后,就对w执行一次更新来最小化novelty(st;w)。

NovelD是一个一致性算法,经过充分的探索,内在奖励收敛于0。

对于将intrinsic reward定义为:
∥ ψ ( s t ) − ψ ( s t + 1 ) ∥ \|\psi(\mathbf{s}_t)-\psi(\mathbf{s}_{t+1})\| ψ(st)ψ(st+1)
的方法,通常会面临渐进不一致性问题,这是因为在足够多的探索使ψ收敛后,由于神经网络无法完全拟合的特性,智能体总是可以获得非零IR,即当N—>∞时IR永远不—>0。因此,学习策略没有最大化外部奖励re,偏离了强化学习的目标。

但是NovelD方法是渐进一致的。

4、实验

1、对于所有实验,使用PPO作为基础RL算法,同时将NovelD与其他各种生成intrinsic reward的方法进行比较。

在实验的一半任务中,所有的基线结果都是零奖励。在《NetHack》中,NovelD取得了SOTA。

实验主要使用MiniGird中的三个具有挑战性的环境:多房间(MR),关键走廊(KC)和受阻迷宫(OM)。

在这里插入图片描述

可以从图中看到,NovelD设法解决了MiniGrid中的所有静态环境。相比之下,所有的基线只能解决中等水平的任务,而不能在更困难的任务上取得任何进展。

2、仅在环境中使用IR进行探索(无外部奖励),NovelD导致了更集中的边界探索和更广泛的状态覆盖。

为了研究NovelD是否在MiniGrid中产生更广泛的状态覆盖,实验在一个固定的MRN7S8环境中测试了NovelD和RND。同时,定义了两个指标来衡量勘探策略的有效性:

  1. 每个状态的探视次数都超过训练次数

  2. 每个房间的访问熵:
    H ( ρ ′ ( s ) )  where  ρ ′ ( s ) = N ( s ) ∑ s ∈ S r N ( s ) \mathcal{H}(\rho'(\mathbf s))\text{ where }\rho'(\mathbf s)=\frac{N(\mathbf s)}{\sum_{\mathbf s\in\mathcal{S}_r}N(\mathbf s)} H(ρ(s)) where ρ(s)=sSrN(s)N(s)

实验结果显示,NovelD的每个房间熵分布大于RND。这表明与RND相比,NovelD鼓励对状态进行更统一的探索。

实验说明,当两个房间之间的门成为探索的瓶颈时,NovelD的IR专注于解决这个问题。

3、消融实验

文章设计实验寻找最佳的比例和裁剪系数,公式:
r i ( s t , a t , s t + 1 ) = max ⁡ [ novelty ( s t + 1 ) − α ⋅ novelty ( s t ) , β ] r^i(\mathbf{s}_t,\mathbf{a}_t,\mathbf{s}_{t+1})=\max\left[\text{novelty}(\mathbf{s}_{t+1})-\alpha\cdot\text{novelty}(\mathbf{s}_t),\beta\right] ri(st,at,st+1)=max[novelty(st+1)αnovelty(st),β]
实验得出当α=0.5,β=0时效果最好。

文章设计实验验证不同特征提取方式对NovelD效果的影响,分别有:ICM、Random、DBC以及Successor Features。最终发现只有Random和Successor Features表现得还不错。

5、结论

NovelD方法也适用于随机环境,虽然到达随机环境的边界本身是一个难题,但通过在边界状态上设置高IR并使用RL算法训练代理,策略将更频繁地到达这些边界状态。

NovelD方法由于采用RND方法来进行新颖性度量,所以对于白噪声问题有一定的缓解,而实验也表明在《MiniGrid》、《Atari Games》和《NetHack》中,都没有看到由于电视噪音问题导致的NovelD的性能下降。

在多种环境中,NovelD显示了更广泛的状态覆盖,并将IR的重点放在边界状态上。

6、留存的问题

没有在一些连续RL领域测试NovelD的性能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode】每日一题 2023_11_15 K 个元素的最大和(脑筋急转弯+数学)

文章目录 刷题前唠嗑K 个元素的最大和题目描述代码与解题思路 结语 刷题前唠嗑 LeetCode? 启动!!! 首先声明一点啊,这个脑筋急转弯的题目标签可不是我想的啊,这个是 LeetCode 官方给这道题标注的啊 K 个元素的最大和…

spring cloud alibaba之nacos

spring cloud nacos 安装和启动nacos # 解压nacos安装包 # tar -zvxf nacos-server-1.4.1.tar.gz# nacos默认是以集群的模式启动,此处先用单机模式 # cd /usr/local/mysoft/nacos/bin # sh startup.sh -m standalone# nacos 日志 # tail -f /usr/local/mysoft/na…

国产企业级低代码开发哪个最好?这一款超好用

低代码开发平台(Low-code Development Platform)正在迅速崛起,成为未来软件技术发展的主导趋势。通过使用低代码开发平台,企业能够显著提高开发效率,降低对专业开发人员的依赖,并实现更快速的软件交付和使用…

PC6410 DC-DC降压调整器低纹波高效率低功耗

PC6410是一款由基准电压源、振荡电路、比较器、PWM/PFM 控制电路等构成的CMOS降压DC/DC调整器。利用PWM/PFM自动切换控制电路达到可调占空比,具有全输入电压范围内的低纹波、高效率和大输出电流等特点。PC6410内置功率MOSFET,使用过压、过流、过热、短路…

高防IP是什么?如何隐藏源站IP?如何进行防护?

高防IP是针对互联网服务器遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务。用户在数据不转移的情况下,就可以通过配置高防IP , 将攻击流量引流到高防|P,确保源站的稳定可靠。高防IP采用的技术手段包括DDoS防护、WAF ( Web应用程序防火墙)等,它能够有效抵御来…

印刷企业使用数字工厂管理系统前后有什么变化

随着科技的飞速发展,数字工厂管理系统已经逐渐渗透到印刷企业的各个环节。本文将通过分析印刷企业在使用数字工厂管理系统前后的变化,探讨这一技术如何为印刷行业带来革新。 一、使用前的状况 在使用数字工厂管理系统之前,印刷企业的生产方式…

(四)、MySQL查询优化

《高性能MySQL》第三版,第六章学习笔记 一、优化数据的访问 查询性能低下最基本的原因是访问的数据太多。可以通过下列两个步骤进行分析: 1、确认应用程序是否在检索大量超过需要的数据。这通常意味着访问了太多的行,但雨哦时候也可能访问了…

element ui + echarts点击表格显示对应的图形

一、vue封装饼图、树状图、雷达图等组件 目录 resize.js需要utils.js utils.js import { parseTime } from ./yunhis/*** 表格时间格式化*/ export function formatDate(cellValue) {if (cellValue null || cellValue "") return "";var date new Da…

文心生物计算大模型重磅升级,构象预测准确度全面提升!

文心生物计算大模型家族又迎来了重磅的升级:蛋白质-小分子对接构象预测模型HelixDock,以及蛋白-蛋白复合物结构预测模型HelixFold-Multimer准确度全面提升。这两项新技术可以大幅提升蛋白质-小分子的对接构象及蛋白-蛋白复合物结构预测的精度&#xff0c…

2023年亚太杯APMCM数学建模大赛数据分析题MySQL的使用

2023年亚太杯APMCM数学建模大赛 以2022年C题全球变暖数据为例 数据分析: 以2022年亚太杯数学建模C题为例,首先在navicat建数据库然后右键“表”,单击“导入向导”,选择对应的数据格式及字符集进行数据导入 导入之后&#xff0c…

外贸客户管理系统是什么?推荐的管理软件?

外贸客户管理系统哪个好用?海洋建站如何选管理系统? 外贸客户管理系统,是一款专为外贸企业设计的客户关系管理系统,旨在帮助外贸企业建立与维护客户关系,提高客户满意度和忠诚度,提升企业业绩。海洋建站将…

005.终端信息、日期、调试

编写命令行shell脚本时,总是免不了处理当前终端的相关信息,比如行数、列数、光标位置、遮盖的密码字段等。tput和stty是两款终端处理工具。 1、获取终端信息 a. tput 命令 获取终端行数 tput cols 获取终端列数 tput lines 打印当前的终端名 tput…

java创造对象

java创造对象主要分为以下几个步骤 获取对应的类,查看是否加载,如果没有加载把类进行加载根据类的信息可以直接获取到实例的大小,分配对应内存调用实例的方法 比如说 class bb implements Serializable {private String bb; }class aa ext…

【C#学习】给FormClosing增加消息响应函数

第一步:增加消息句柄 第二步:编写消息函数 private void Form1_FormClosing(object sender, FormClosingEventArgs e) {//add your code hereserialPort1.Close();}

【23真题】懒得出题!连续两年试卷相同!

连续两年出题一样,老师都懒得出题的院校又被我抓到一所!(上次是天津工业22和21年一模一样),这次沈阳工业的老师多多少少改了几个数,但是也大差不差,考这所院校,猛刷真题,…

亚马逊鲲鹏系统可全自动化批量操作亚马逊买家号

亚马逊鲲鹏系统可以注册买家号、智能养号、自动下单、自动留评、QA等,是一款从注册到下单于一体的软件。 如果想要自动化注册,那么准备好账号所需要的邮箱、ip、手机号之后就可以进行自动注册了,注册时可以自动输入账号密码信息、自动接收验证…

11.3SpringMVC

一.概念 1.SpringMvc: a.构建在Servlet(api)基础上. b.是一个Web框架(HTTP). c.来自于Spring webMVC模块. 2.MVC 二.注册路由的注解 1.RequestMapping("/test") // 路由注册 注意: 这个注解在类和方法上都要使用,代表不同等级的路由. 2.RestController a)R…

ALPC_Natural_Selection

刚刚结束的ICPC2023沈阳是自然选择号的最后一场 XCPC 区域赛,很高兴也很幸运能拿到校排名 rk4,圆了一个这半年才开始做的梦。在这里讲一下这支队伍的故事。 组队、训练 本来和wjy666(aka maple)打完 EC Final 之后是想要退役的&…

“程序员们的奔溃瞬间”——分享你最令你哭笑不得的程序员经历

文章目录 每日一句正能量前言编程趣事后记 每日一句正能量 每件事最后都会是好事。如果不是好事,说明还没到最后。 前言 作为程序员,我们时常会遇到各种奇怪的错误和挑战,有时候我们会崩溃,但更多的时候,我们会从中学…

从0开始学习JavaScript--JavaScript基础

JavaScript作为一门前端编程语言,在现代web开发中扮演着不可替代的角色。它不仅为网页增添了动态和交互性,而且随着Node.js的崛起,也在服务器端开发中占据了重要地位。在本章节中,我们将探讨JavaScript的作用、重要性以及与其他前…