Self-Supervised Exploration via Disagreement论文笔记

通过分歧进行自我监督探索

0、问题

使用可微的ri直接去更新动作策略的参数的,那是不是就不需要去计算价值函数或者critic网络了?

1、Motivation

高效的探索是RL中长期存在的问题。以前的大多数方式要么陷入具有随机动力学的环境,要么效率太低,无法扩展到真正的机器人设置。

2、Introduction

然而,在学习无噪声模拟环境之外的预测模型时,有一个关键的挑战:如何处理代理-环境交互的随机性? 随机性可能由以下几个来源引起:(1)嘈杂的环境观察(例如,电视播放噪声);(2)智能体动作执行中的噪声(例如,滑动);(3)作为智能体动作输出的随机性(例如,智能体抛硬币)。

尽管有几种方法可以在低维状态空间中构建随机模型,但将其扩展到高维输入(例如图像)仍然具有挑战性。另一种方法是建立确定性模型,但在随机不变的特征空间中对输入进行编码。最近的工作提出在逆模型特征空间中构建这样的模型,它可以处理随机观测,但当代理本身是噪源时(例如带有遥控器的电视)会失败。

文章提出训练前向动力学模型的集合,并激励智能体探索该集合中模型预测之间存在最大分歧或方差的动作空间。

3、方法

该模型利用预测的不确定性来激励策略访问不确定性最大的状态。

本文模型的核心思想是:歧义

模型利用采样到的transitions,训练一批前向模型:
{ f θ 1 , f θ 2 … , f θ k } \{f_{\theta_1},f_{\theta_2}\ldots,f_{\theta_k}\} {fθ1,fθ2,fθk}
这个前向模型与ICM中的forward dynamics model一致,通过最小化loss来更新参数:
l o s s = ∥ f ( x t , a t ; θ ) − x t + 1 ∥ 2 loss=\begin{aligned}\|f(x_t,a_t;\theta)-x_{t+1}\|_2\end{aligned} loss=f(xt,at;θ)xt+12
而本文提出的歧义的核心思想是,对于智能体已经很好地探索过的状态空间,将会收集到足够的数据来训练所有模型,从而导致模型之间的一致,而对于新领域和未探索的领域,所有模型仍然具有很高的预测误差,从而导致对下一个状态预测的分歧。

本文模型将intrinsic reward定义为这种分歧,即不同模型的输出之间的方差:
r t i ≜ E θ [ ∥ f ( x t , a t ; θ ) − E θ [ f ( x t , a t ; θ ) ] ∥ 2 2 ] \begin{aligned}r_t^i\triangleq\mathbb{E}_\theta\Big[\|f(x_t,a_t;\theta)-\mathbb{E}_\theta[f(x_t,a_t;\theta)]\|_2^2\Big]\end{aligned} rtiEθ[f(xt,at;θ)Eθ[f(xt,at;θ)]22]
在实践中,为了所有的预测目的,我们将状态x编码到嵌入空间φ(x)中。

在这里插入图片描述

本文提出的智能体代理是自我监督的,不需要任何外部奖励来进行探索。

本文方法与ICM不同,ICM在足够大的样本后,将趋于平均值。由于均值不同于个体的真实随机状态,预测误差仍然很高,使得智能体永远对随机行为感到好奇。

本模型提出的内在奖励作为一个可微函数,以便使用似然最大化来执行策略优化,这很像监督学习而不是强化学习。来自模型的内在奖励可以非常有效地通知智能体在前向预测损失高的方向改变其行动空间,而不是像强化学习那样提供标量反馈。纯粹是基于当前状态和智能体预测动作的模型集合的心理模拟。

与其通过PPO (RL)最大化期望中的内在奖励,我们可以通过将ri 视为可微损失函数来使用直接梯度来优化策略参数θ:
min ⁡ θ 1 , … , θ k ( 1 / k ) ∑ i = 1 k ∥ f θ i ( x t , a t ) − x t + 1 ∥ 2 \begin{aligned}\min_{\theta_1,\dots,\theta_k}&(1/k)\sum_{i=1}^k\|f_{\theta_i}(x_t,a_t)-x_{t+1}\|_2\end{aligned} θ1,,θkmin(1/k)i=1kfθi(xt,at)xt+12

max ⁡ θ P ( 1 / k ) ∑ i = 1 k [ ∥ f θ i ( x t , a t ) − ( 1 / k ) ∑ j = 1 k f θ j ( x t , a t ) ∥ 2 2 ] \begin{aligned}\max_{\theta_P}&(1/k)\sum_{i=1}^k\left[\|f_{\theta_i}(x_t,a_t)-(1/k)\sum_{j=1}^kf_{\theta_j}(x_t,a_t)\|_2^2\right]\end{aligned} θPmax(1/k)i=1k[fθi(xt,at)(1/k)j=1kfθj(xt,at)22]

a t = π ( x t ; θ P ) a_t=\pi(x_t;\theta_P) at=π(xt;θP)

4、实验

实验包括三个部分:a)验证在标准非随机环境下的性能; B)在过渡动力学和观测空间中具有随机性的环境的比较; c)验证我们的目标所促进的可微分政策优化的效率。

  1. 设计实验测试了Disagreement方法在标准非随机环境下的性能。比较了雅达利游戏的近确定性和非随机标准基准的不同内在奖励公式。基于分歧的方法优于最先进的方法,而不会在非随机情况下失去准确性。
  2. 在随机性较高的环境下进行测试,基于集合的分歧方法在智能体看到足够的样本后,收敛到几乎为零的内在奖励,而基于预测误差的模型在收敛时也会为具有较高随机性的观测值(即标签为1的图像)分配更多的奖励。基于分歧的方法在存在随机性的情况下表现更好。
  3. 实验显示可微探索加速了智能体的学习,表明了直接梯度优化的有效性。现在在短期和大结构的行动空间设置中评估仅可微分探索(无强化)的性能。
    实验显示可微探索加速了智能体的学习,表明了直接梯度优化的有效性。现在在短期和大结构的行动空间设置中评估仅可微分探索(无强化)的性能。
  4. 在真实世界的机器手臂实验上,基于分歧的可微分策略优化探索展示出了极高的性能。

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

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

相关文章

C++之模版初阶(简单使用模版)

前言 在学习C的模版之前,咱们先来说一说模版的概念,模版在我们的日常生活中非常常见,比如我们要做一个ppt,我们会去在WPS找个ppt的模版,我们只需要写入内容即可;比如我们的数学公式,给公式套值&…

Linux:配置Ubuntu系统的镜像软件下载地址

一、原理介绍 好处:从国内服务器下载APT软件,速度快。 二、配置 我这里配置的是清华大学的镜像服务器地址 https://mirrors.tuna.tsinghua.edu.cn/ 1、备份文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2、清空sources.list ec…

软件测评中心进行安全测试有哪些流程?安全测试报告如何收费?

在当今数字化时代,软件安全测试是每个软件开发团队都不能忽视的重要环节。安全测试是指对软件产品进行系统、全面的安全性评测与检测的过程。它旨在发现并修复软件中存在的漏洞和安全隐患,以确保软件能够在使用过程中保护用户的数据和隐私不被非法访问和…

RabbitMQ 的网页界面操作说明

启动 上面给用户添加了角色和权限, 我们就可以登录了 先手动创建两个队列,然后再把这两个队列和交换机绑定,就可以发布消息 回到队列中看看有什么变化 队列中显示绑定了交换机 再看一下队列中发生的变化 可以看到队列中收到了信息

gitlab

Gitlab 安装git yum安装 [rootgit ~]# yum -y install git编译安装 Git官网 #安装依赖关系 [rootgit ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel autoconf gcc perl-ExtUtils-MakeMaker # 编译安装 [rootgit ~]# tar -zxf git-2.0…

【算法】FFT-1(递归实现)(不包括IFFT)

FFT 多项式多项式乘法复数及运算导数泰勒公式及展开式欧拉公式单位根 FFTCode IFFT 多项式 我们从课本中可以知道,一个 n − 1 n-1 n−1 次的多项式可以写成 a 0 a 1 x a 2 x 2 a 3 x 3 ⋯ a n − 1 x n − 1 a_{0}a_{1}xa_{2}x^2a_{3}x^3\dotsa_{n-1}x^{n-…

智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝴蝶算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

简易版扫雷+代码分析

前言: 实验一个简易版的扫雷,也要两百来行的代码,因此为了代码整洁,维护起来方便,这里我们和前期实现的三子棋一样,也弄一个游戏的头文件game.h用来装各种头文件以及函数的声明以及宏定义、预处理信息&…

windows的bat文件(学习笔记)

简介 通过windows的cmd执行的批处理,扩展名可以是.bat或.cmd(类似linux的shell脚本) 所有语句符号不区分大小写 帮助提示信息:命令 /? 1 基本语法 (1) 注释:rem 注释文本不执行 (2) 关闭盘符输出:e…

最新AI创作系统ChatGPT网站运营源码、支持GPT-4-Turbo模型,图片对话识图理解,支持DALL-E3文生图

一、AI创作系统 SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧!本系统使用NestjsVueTypescript框架技术,持续集成AI能力到本系统。支持OpenAI DALL-E3文生图,…

技术面时,一定要掌握这3个关键点

前言 现在有这么多优秀的测试工程师,大家都知道技术面试是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察你的技术功底与基础理论知识。 如果你参加过一些大厂面试,肯定会遇到一些这样的问题: 1、看你项目都用到了…

HttpRunner原来还能这么用,大开眼界!!!

hook机制 Httprunner 框架中的 hook 机制相当于unittest框架中的 setup , teardown 函数,用来进行测试用例执行之前的环境初始化以及测试用例执行完毕之后的环境清理操作。 httprunner 中的 hooks 机制可以用在测试用例层级也可以用在测试步骤层级,其关键…

北邮22级信通院数电:Verilog-FPGA(10)第十周实验 实现移位寄存器74LS595(仿真方法验证)

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 使用FPGA开发板验证的教程,请参考 北邮…

数据在内存中的存储练习题

数据在内存中的存储练习题 文章目录 数据在内存中的存储练习题1. 练习一2.练习二3. 练习三4. 练习四5. 练习五6. 练习六7. 总结 1. 练习一 #include <stdio.h>int main() {char a -1;signed b -1;unsigned char c -1;printf("a %d b %d c %d", a, b, c)…

MySQL InnoDB 引擎底层解析(二)

6.2.InnoDB 的表空间 表空间是一个抽象的概念&#xff0c;对于系统表空间来说&#xff0c;对应着文件系统中一个或多个实际文件&#xff1b;对于每个独立表空间来说&#xff0c;对应着文件系统中一个名为表名.ibd 的实际文件。大家可以把表空间想象成被切分为许许多多个页的池…

华为云IoT与OpenHarmony深度协同,加速设备上鸿即上云【云驻共创】

本次专题论坛探讨了华为云IoT与Open Harmony的深度协同、边缘屏蔽硬件差异、实现智慧隧道全方位智能化管理&#xff0c;以及华为云与Open Harmony生态的合作。同时也介绍了华为云物联网卡平台、HTTP2协议以及华为物联网在交通领域的应用。 一&#xff0e;华为云IoT与Open Harm…

Interactive Visual Data Analysis

Words&Contents Home | Interactive Visual Data Analysis Book Outline 这本书对视觉、互动和分析方法进行了系统而全面的概述&#xff0c;作为数据可视化方面比较好的读物&#xff1b; 目录 Words&Contents Book Outline &#xff08;一&#xff09;Introduct…

Jina AI 的 8K 向量模型上线 AWS Marketplace,支持本地部署!

在当前多模态 AI 和大模型技术风头正劲的背景下&#xff0c;Jina AI 始终领跑于创新前沿&#xff0c;技术领先。2023 年 10 月 30 日&#xff0c;Jina AI 隆重推出 jina-embeddings-v2&#xff0c;这是全球首款支持 8192 输入长度的开源向量大模型&#xff0c;其性能媲美 OpenA…

【uni-app】uniapp中弹出输入框的示例

uni.showModal({title: 请输入企业名称,content: ,editable: true, //是否显示输入框placeholderText: 请输入企业名称, //输入框提示内容confirmText: 确认,cancelText: 取消,success: (res) > {if (res.confirm) {this.checkDesc.name res.content;// console.log(输入的…

vue3(二)-基础入门之列表循环、数组变动检测、filter模糊查询、事件修饰符

一、列表循环 of 和 in 都是一样的效果 html代码&#xff1a; <div id"app"><ul><li v-for"item of datalist">{{ item }}</li></ul><ul><li v-for"item in dataobj">{{ item }}</li></u…