Exploration by random network distillation论文笔记

news2025/1/12 1:07:25

Exploration by Random Network Distillation (2018)

随机网络蒸馏探索

0、问题

这篇文章提出的随机网络蒸馏方法与Curiosity-driven Exploration by Self-supervised Prediction中提出的好奇心机制的区别?

猜想:本文是基于随机网络蒸馏提出的intrinsic reward设计方式,好奇心是基于前向动力学模型的误差设计的intrinsic reward。

1、Motivation

依然旨在为智能体的探索提供一种有效的探索奖励,文章还提供一种灵活的结合intrinsic 和 extrinsic reward的方法。

论文使用随机网络蒸馏算法。

问题:以往的论文,探索奖励是基于智能体过去经验训练的网络的预测误差来量化新经验的新颖性,但是最大化这种预测误差的智能体,往往会被输入是随机的transition所吸引。举例来说就是,如果预测问题是在给定当前观察和动作(前向动态)的情况下预测下一个观察结果,那么对于一个transition(st,at,r,st+1),输入的st是例如电视雪花一样的随机噪声,那么预测出来的st+1肯定是误差最大的,因此智能体会陷入这种transition中。

于是本论文提出新的方案解决这种问题,即在当前观测值的基础上预测一个固定的随机初始化神经网络的输出。

为了结合exploration bonus和extrinsic rewards,文章引入了PPO算法的修改版本。

2、方法

Target网络:一个固定且随机初始化的网络。

Predictor网络:在智能体收集的数据上进行训练的网络。

Target网络对智能体的observation进行映射:
f : O → R k f:\mathcal{O}\to\mathbb{R}^k f:ORk
Predictor网络也对智能体的observation进行映射:
f ^ : O → R k \hat{f}:\mathcal{O}\to\mathbb{R}^k f^:ORk
并且通过梯度下降来最小化期望MSE:
∥ f ^ ( x ; θ ) − f ( x ) ∥ 2 \|\hat{f}(\mathrm{x};\theta)-f(\mathrm{x})\|^2 f^(x;θ)f(x)2
以此来更新Predictor网络的参数θ,如果observation是Predictor网络没有训练过的,那么预测出来的误差将比较高,以此可以来作为智能体的探索奖励来推动智能体探索新颖的环境。

3、预测误差的来源以及其他模型的问题

  1. 训练数据量。对于Predictor很少看到的类似的例子的observation,预测误差很高。
  2. 随机性。由于目标函数是随机的,因此预测误差很高。随机的Transition是前向动力学模型预测误差的来源。
  3. 模型错误规范。因为缺少必要的信息,或者模型类太有限,无法适应目标函数的复杂性,使得预测误差很高。
  4. 学习动力。因为优化过程未能在模型类中找到最接近目标函数的预测器,所以预测误差很高。

因素1是能用预测误差来作为exploration bonus的原因。因素2会导致基于forward dynamics model的预测误差为exploration bonus的智能体陷入局部熵源中,例如“noisy-TV”。

有论文提出了改进方法来避免因素2和3带来的不良影响问题,但是这些方法往往是计算昂贵的,难以扩展。

而RND方法消除了因素2和3带来的不良影响,因为Target网络是被固定下来的,并且在Predictor网络的模型类内。

tips:【伏羲讲堂】强化学习的探索方法简介 - 知乎 (zhihu.com)对此处有详细解释

4、奖励和Observation归一化

在不同的环境和不同的时间点,奖励的规模可能会有很大的不同,所以要对exploration bonus进行归一化处理。

对observation进行归一,如果缺乏归一化处理,嵌入的方差可能会非常低,并且携带的关于输入的信息很少。

5、实验

  1. 在纯intrinsic reward的实验中,发现non-episodic agent比episodic agent表现得更好,探索到的房间更多。

  2. 针对状态价值结合方式:
    V = V E + V I V=V_{E}+V_{I} V=VE+VI
    实验得出结论,在使用两个状态价值函数,即状态Extrinsic reward价值函数和状态intrinsic reward价值函数的情况下,使用non-episodic的intrinsic reward结合episodic的extrinsic reward这种组合要优于都是episodic的intrinsic reward和extrinsic reward的组合。

    而在episodic的设置中,使用单个的状态价值函数来直接估计VE和VI的结合,分别使用两个状态价值函数分别估计VE和VI效果差不多,但是文章的实验还是基于两个状态价值函数,这样做是为了将VE和VI与各自不同的特征结合起来。

  3. 实验研究extrinsic reward和intrinsic reward折扣因子的性能,发现外部奖励的折扣因子越高,性能越好,而对于内在奖励,它会损害探索。实验发现当extrinsic reward的折扣因子γE为0.999,intrinsic reward的折扣因子γI为0.99时,性能最好,但是当γI增加到0.999时,性能反而受到了损害。

  4. 实验表明在使用不同数量并行环境进行实验时,通过调整批次大小并保持内在奖励递减速率恒定,能够帮助策略模型有效地利用那些临时的、随着时间消失的内在奖励,以促进对于新颖状态的探索和学习。

  5. 实验表明基于RNN的策略要更频繁地优于基于CNN的策略,因为基于RNN的策略可以保持总结过去的状态。

6、结论

RND探索奖励足以处理局部探索,即探索短期决策的结果,如是否与特定对象互动或避免它。然而,涉及长期协调决策的全局勘探超出了RND方法的范围。

文章指出未来仍然有需要继续研究的地方:举了个例子,在Montezuma’s Revenge游戏的第一关中,智能体要想通关必须打开进入一个由两扇门锁着的房间,这就需要两把钥匙。但是整个环境中,一共有6扇门和4把钥匙,这就意味着智能体需要保留4把钥匙中的2把,以留到最后的两扇门中来打开,但是打开前面4扇门又能够立即获得外部奖励,这意味着智能体需要有足够的内在奖励来使智能体放弃打开前4扇门中的2扇,以平衡由于早期使用密钥而失去的外部奖励。可是RND方法并不能很好的实现这种策略。

7、RND+PPO算法的伪代码在这里插入图片描述

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

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

相关文章

在GORM中使用并发

一个全面的指南,如何安全地使用GORM和Goroutines进行并发数据处理 效率是现代应用程序开发的基石,而并发在实现效率方面发挥着重要作用。GORM,这个强大的Go对象关系映射库,使开发人员能够通过Goroutines embrace并行性。在本指南…

Docker进阶——再次认识docker的概念 Docker的结构 Docker镜像结构 镜像的构建方式

前言 在微服务大量应用的互联网时代,经常能看到docker的身影。作为docker的爱好者(在服务器安装MySQL,Redis。。。我用的都是docker),我也会持续深入学习和认识docker。 本篇博客再次介绍docker的基本概念&#xff0…

在ubuntu sudo apt-get update 更新报错

sudo apt-get update 更新报错 解决办法: 用你自己的key 根据上图自己找 sudo gpg --keyserver keyserver.ubuntu.com --recv-keys **********运行完成有一个ok 见下图 运行命令,中间的还是上面的key复制下来即可 sudo gpg --export --armor **********…

DAY50 309.最佳买卖股票时机含冷冻期 + 714.买卖股票的最佳时机含手续费

309.最佳买卖股票时机含冷冻期 题目要求:给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不…

补偿 FIR 滤波器引入的延迟

补偿 FIR 滤波器引入的延迟 对信号进行滤波会引入延迟。这意味着相对于输入,输出信号在时间上有所偏移。此示例向您说明如何抵消这种影响。 有限冲激响应滤波器经常将所有频率分量延迟相同的时间量。这样,我们就很容易通过对信号进行时移处理来针对延迟…

动态规划学习——多状态dp(打家劫舍问题)

一,打家劫舍I 题目: 一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自…

【科研绘图】MacOS上的LaTeX公式插入工具——LaTeXiT

在Mac上经常用OmniGraffle绘图,但是有个致命缺点是没办法插入LaTeX公式,很头疼。之前有尝试用Pages文稿插入公式,但是调字体和颜色很麻烦。并且,PPT中的公式插入感觉也不太好看。 偶然机会了解到了LaTeXiT这个工具,可…

11月份 四川汽车托运报价已经上线

中国人不骗中国人!! 国庆小长假的高峰期过后 放假综合症的你还没痊愈吧 今天给大家整理了9条最新线路 广州到四川的托运单价便宜到💥 核算下来不过几毛钱💰 相比起自驾的漫长和疲惫🚗 托运不得不说真的很省事 - 赠送保险 很多客户第一次运车 …

上海亚商投顾:沪指缩量震荡 龙字辈个股掀跌停潮

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数全天窄幅震荡,沪指最终微幅收红,深成指、创业板指小幅下跌。煤炭板块集体大涨…

pip无法下载moviepy -无法联网

猜测是无法联网 尝试更新匹配 ——失败 尝试1:从网络下载whl文件——还需要下载相关依赖,过于麻烦 但应该可行 下载地址 https://pypi.tuna.tsinghua.edu.cn/simple/对应的包名/ 可能会出现如下,然后继续挨个找 尝试2:使pip联网…

基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 这个章节来完成并行网关,前端无需修改,直接后端修改就可以了。 1、并行网关后端修…

实在智能入选《2023年中国AI软件市场指南》同年再获Gartner重点推荐

近日,全球权威IT研究与咨询机构Gartner发布2023年《中国AI软件市场指南(Market Guide for AI Software, China, October 2023 )》报告,实在智能依托自研垂直TARS大模型旗下的产品Intelligence Indeed IDP产品在人工智能技术领域的…

iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤

目录 iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤 摘要 引言 一、APP加固的概念 二、APP加固方案的比较 三、保护iOS应用的安全 四、总结 参考资料 摘要 本文介绍了移动应用程序(App)加固的概念和流程,以及市…

2020年五一杯数学建模A题煤炭价格预测问题解题全过程文档及程序

2020年五一杯数学建模 A题 煤炭价格预测问题 原题再现 煤炭属于大宗商品,煤炭价格既受国家相关部门的监管,又受国内煤炭市场的影响。除此之外,气候变化、出行方式、能源消耗方式、国际煤炭市场等其他因素也会影响煤炭价格。请完成如下问题。…

AI机器人小奥,学习不再填鸭

在这个充满科技魅力的时代,一款专为孩子学习量身打造的AI机器人“小奥”正式与大家见面! 它是一款集全球领先的人工智能、语音识别、语义理解、情感陪伴为一体的高科技教育产品,旨在帮助孩子提高学习兴趣、拓宽知识面,以科技创新助…

Windows 安装 Maven

Maven 安装 Maven 下载地址:https://maven.apache.org/download.cgi 下载 apache-maven-3.9.5-bin.zip 到本地解压到 D:\Software\apache-maven-3.9.5 配置阿里云镜像 配置阿里云远程仓库镜像地址,打开配置文件 D:\Software\apache-maven-3.9.5\conf\s…

根据DataFrame指定的列该列中如果有n个不同元素则将其转化为n行显示explode()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 根据DataFrame指定的列 该列中如果有n个不同元素 则将其转化为n行显示 explode() 选择题 以下代码两次输出结果分别为几行? import pandas as pd df pd.DataFrame({种类:[蔬菜,水…

软件工程一些图的画法

软件工程一些图的画法 【一】数据库设计:ER图【1】ER图简介【2】实体之间的关系【3】ER图绘制常见问题【4】ER图转关系模式 【二】流程图【1】流程图的作用【2】流程图中使用的符号【3】三种循环的流程图画法【4】流程图的基本结构【5】流程图常用的形式 【一】数据…

图书网站信息采集

首先,你需要安装Haskell的HTTP库,比如http-conduit。你可以使用cabal包管理器来安装它。 然后,你需要定义一个函数来处理HTTP请求。这个函数需要接受一个URL和一个代理服务器的地址作为参数。 import Network.HTTP.ConduitgetURL :: String…

classification_report分类报告的含义

classification_report分类报告 基础知识混淆矩阵(Confusion Matrix)TP、TN、FP、FN精度(Precision)准确率(Accuracy)召回率(Recall)F1分数(F1-score) classi…