当前位置: 首页 > news >正文

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. 在真实世界的机器手臂实验上,基于分歧的可微分策略优化探索展示出了极高的性能。

相关文章:

Self-Supervised Exploration via Disagreement论文笔记

通过分歧进行自我监督探索 0、问题 使用可微的ri直接去更新动作策略的参数的,那是不是就不需要去计算价值函数或者critic网络了? 1、Motivation 高效的探索是RL中长期存在的问题。以前的大多数方式要么陷入具有随机动力学的环境,要么效率…...

【网络奇幻之旅】那年我与区块链技术的邂逅

🌺个人主页:Dawn黎明开始 🎀系列专栏:网络奇幻之旅 ⭐每日一句:追光的人,终会光芒万丈 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录 &#…...

1.5.1 git/svn日志格式规范

文章目录 git日志规范一 基本原则二 日志格式1 type:2 keys3 subject4 body5 footergit日志规范 一 基本原则 《规则1》小步提交,每个功能模块分别提交 《规则2》源文件与修改文件,分别提交 《规则3》 二 日志格式 type:keys:subject:body:footer 1 type: - `feat`: 新…...

[autojs]ui线程中更新控件的值的问题

"ui"; ui.layout(<vertical><button id"autoFloatWindow" text"开启悬浮窗" textSize"15sp" /><button id"autoService" text"开启无障碍服务" textSize"15sp" /><button id"…...

机器视觉技术在现代汽车制造中的应用

原创 | 文 BFT机器人 机器视觉技术&#xff0c;利用计算机模拟人眼视觉功能&#xff0c;从图像中提取信息以用于检测、测量和控制&#xff0c;已广泛应用于现代工业&#xff0c;特别是汽车制造业。其主要应用包括视觉测量、视觉引导和视觉检测。 01 视觉测量 视觉测量技术用于…...

学习视频剪辑方法:AI智剪助力,批量处理短视频无忧

随着短视频的兴起&#xff0c;越来越多的人开始关注如何有效地制作和发布这些内容。但是&#xff0c;短视频的制作并不容易&#xff0c;要耗费大量的时间和精力。现在有很多AI智能剪辑工具可以快速、高效地制作短视频。其中&#xff0c;AI智剪是一款非常受欢迎的视频剪辑功能&a…...

振南技术干货集:制冷设备大型IoT监测项目研发纪实(3)

注解目录 1.制冷设备的监测迫在眉睫 1.1 冷食的利润贡献 1.2 冷设监测系统的困难 &#xff08;制冷设备对于便利店为何如何重要&#xff1f;了解一下你所不知道的便利店和新零售行业。关 于电力线载波通信的论战。&#xff09; 2、电路设计 2.1 防护电路 2.1.1 强电防护…...

1143. 最长公共子序列

给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以…...

EASYEXCEL(一)

1.读取excel 读监听器 Slf4j public class StudentReadListener extends AnalysisEventListener<Student> {// 每读一样&#xff0c;会调用该invoke方法一次Overridepublic void invoke(Student data, AnalysisContext context) {System.out.println("data "…...

竞赛YOLOv7 目标检测网络解读

文章目录 0 前言1 yolov7的整体结构2 关键点 - backbone关键点 - head3 训练4 使用效果5 最后 0 前言 世界变化太快&#xff0c;YOLOv6还没用熟YOLOv7就来了&#xff0c;如果有同学的毕设项目想用上最新的技术&#xff0c;不妨看看学长的这篇文章&#xff0c;学长带大家简单的…...

第一类曲线积分@对弧长的曲线积分

文章目录 abstract对弧长的曲线积分曲线形构件的质量第一类曲线积分曲线积分存在性利用曲线积分的定义描述曲线形构件质量问题推广曲线积分可加性闭曲线积分 曲线积分性质曲线积分的计算方法证明(部分推导) 小结曲线弧显函数形式方程下的曲线积分公式推广例例例 abstract 在积…...

【TypeScript】常见数据结构与算法(二):链表

文章目录 链表结构&#xff08;LinkedList&#xff09;链表以及数组的缺点数组链表的优势 什么是链表?封装链表相关方法源码链表常见面试题237-删除链表中的节点206 - 反转链表 数组和链表的复杂度对比 链表结构&#xff08;LinkedList&#xff09; 链表以及数组的缺点 链表…...

原型模式 (Prototype Pattern)

定义&#xff1a; 原型模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;它用于创建重复的对象&#xff0c;同时保持性能。这种模式的核心思想是通过复制一个已存在的实例来创建新的实例&#xff0c;而不是新建实例并对其进行初始化。原型模式适…...

项目总结报告(案例模板)

软件项目总结报告模板套用&#xff1a; 项目概要项目工作分析经验与教训改进建议可纳入的项目过程资产 --------进主页获取更多资料-------...

C++ Qt QByteArray用法介绍

作者:令狐掌门 技术交流QQ群:675120140 csdn博客:https://mingshiqiang.blog.csdn.net/ 文章目录 一、QByteArray的基本用法1、初始化和赋值2、访问和修改元素3、 常用方法4、数据转换二、QByteArray与文件操作三、QByteArray与网络编程四、QByteArray数据编码1、Base64 编解…...

蓝桥杯物联网竞赛_STM32L071_3_Oled显示

地位&#xff1a; 对于任何一门编程语言的学习&#xff0c;print函数毫无疑问是一种最好的调试手段&#xff0c;调试者不仅能通过它获取程序变量的运行状态而且通过对其合理使用获取程序的运行流程&#xff0c;更能通过关键变量的输出帮你验证推理的正确与否&#xff0c;朴素的…...

python-opencv轮廓检测(外轮廓检测和全部轮廓检测,计算轮廓面积和周长)

python-opencv轮廓检测&#xff08;外轮廓检测和全部轮廓检测&#xff0c;计算轮廓面积和周长&#xff09; 通过cv2.findContours&#xff0c;我们可以进行轮廓检测&#xff0c;当然也有很多检测模式&#xff0c;我们可以通过选择检测模式&#xff0c;进行外轮廓检测&#xff…...

LeetCode [简单] 1. 两数之和

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…...

C++设计模式之工厂模式(下)——抽象工厂模式

抽象工厂模式 介绍示例示例使用运行结果抽象工厂模式的优缺点优点缺点 总结 介绍 抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一种封装一组相关或相互依赖对象的方式&#xff0c;而无需指定它们具体的类。它允许客户端使用抽象接口来创建一系列相关的对象&#xff…...

2023亚太杯数学建模A题思路分析 - 采果机器人的图像识别技术

1 赛题 问题A 采果机器人的图像识别技术 中国是世界上最大的苹果生产国&#xff0c;年产量约为3500万吨。与此同时&#xff0c;中国也是世 界上最大的苹果出口国&#xff0c;全球每两个苹果中就有一个&#xff0c;全球超过六分之一的苹果出口 自中国。中国提出了一带一路倡议…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...