APRIL 2022-Explanation-Aware Experience Replay in Rule-Dense Environments

I. INTRODUCTION

解释是人类智能的关键机制,这种机制有可能提高RL代理在复杂环境中的表现

实现这一目标的一个核心设计挑战是将解释集成到计算表示中。即使在最小的规则集变化下,将规则集(或部分规则集)编码到智能体的观察空间等方法也可能导致严重的重新训练开销,因为规则的语义被明确地作为输入提供。这最大限度地减少了与现有方法的兼容性,并可能掩盖性能差异是由于体系结构的更改还是规则集的复杂性。本文提出一种与显式设计状态和观察空间无关的解决方案,使用一种解释感知的经验回放机制。

这些解释不需要被智能体理解传统意义上的解释,但如果示例是在语义和有意义的过程中标记/解释的,则仍然可以传达含义。

所提出方法通过将回放缓冲区(或内存)划分为多个簇,每个簇代表与作为示例的经验集合相关的不同解释,从而修改了传统的经验回放结构。

解释者用解释e标记a state-transition τ

contributions:

  • 展示了** explanations的不同类型和实例**如何用于划分重播缓冲区并提高采样经验的规则覆盖率
  • 设计了离散和连续的环境(GridDrive和GraphDrive),与任意复杂度的模块化规则集(文化)兼容。
  • 引入了传统算法(如DQN、TD3和SAC)的xaer修改版本,并在我们提出的环境中测试了这些修改版本的性能

II. RELATED WORK

B. Explanations in RL

一般来说,许多向RL代理解释的基于规则的方法通常属于称为安全RL的子学科
安全强化学习包括以下两种技术:在最优性准则中编码规则 以及将这些外部知识纳入动作/状态空间

我们感兴趣的是对最有用的经验进行抽样,以弥补特定智能体的知识缺口。以智能体为中心的解释过程是一个迭代过程,它跟踪智能体的学习过程,并在每个时间步为其选择最有用的解释。

C. Prioritised Experience Replay

与我们的类似,旨在根据其explanatory content抽象地organise experience——被定义为回答相对于average experience的a sequence of state-transitions有多好/有多坏的能力。该工作只考虑对代理的直接表现的解释(即如何解释),而缺乏对其他更丰富类型(即为什么)以及课程优先化设施的考虑。

III. EXPLANATION-AWARENESS

本文转载于网络 如有侵权请联系删除

相关文章

  • 2万字图解map

    map是什么❝incomputerscience,anassociativearray,map,symboltable,ordictionaryisanabstractdatatypecomposedofacollectionof(key,value)pairs,suchthateachpossiblekeyappearsatmostonceinthecollection. ❞上面引用的是维基百科对map的定义,意思是说,在计算机学科中,map是一种抽象的数据结构,它由key和value组成组成键值对的集合,在集合中每个key最多出现一次。像关联数组、符号表、字典数据结构都是map的一种具体实现map数据结构在实际的项目使用的非常频繁,很多语言都提供了mpa数据结构,像Java语言的HashMap,Go语言中的map和sync.Map数据类型。map基本操作包含添加key和value键值对,获取key对应的value,删除key,遍历操作。map实现方法map的实现主要有两种方法:hashtable(哈希表)和searchtree(搜索树)哈希表哈希表背后的基本思想是通过索引访问数组元

  • 100个Python练手小程序[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去       掉不满足条件的排列。 2.程序源代码:foriinrange(1,5): forjinrange(1,5): forkinrange(1,5): if(i!=k)and(i!=j)and(j!=k): print(i,j,k)1 2 3 4 5复制【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高    于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提    成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于    40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5

  • Mac下安卓模拟器使用Burpsuite抓包方法

    0x01引言最初从windows系统换到Macos大概近一年了,首先是用不惯,慢慢习惯之后,开始着手配置Macos下的渗透工具,于是乎发现了诸多个坑,而最近的一个坑便是Mac下安卓抓包的方法。我真的是查了巨久的资料,请教了很多很多的人。。。0x02坑我在网上搜到的基本上现在比较好用的安卓模拟器大概两种:雷电模拟器和夜神模拟器,但是因为雷电模拟器不支持Mac系统,所以网上很多人都会推荐夜神模拟器,我遇到的坑便是夜神模拟器,并不是不好用,而是对渗透测试人员来说,想用Burpsuite抓模拟器的包,基本上行不通。。。网上我查到的资料这是作者引用另外一位大佬的文章,自己也说了引用,但是为啥引用的东西该作者修改了。。。(这就是一个巨坑的地方)原大佬说的是mumu模拟器不支持charles抓包,但作者搬过来之后就把里面的文字修改掉了,从不支持charles抓包直接变成了不支持抓包。。。。关键就在与作者引用之后还写了一个个人的错误总结(这也是让我深信不疑作者的确抓到包的一个地方)于是,我下载重复安装多次夜神模拟器mac版,重复的去试,从证书位置再到抓包,在这里总结遇到的第一个坑。0x02第一个坑:A

  • 2020 美国大选在即,假新闻也在路上了

    By超神经场景描述:出于宣传、牟利等目的,互联网上充满了各种虚假、误导性消息,这类消息被称之为「假新闻」。如何鉴别假新闻,防止被骗,一直以来困扰着大众。为此,一家英国初创公司研发人工智能算法来识别假新闻,防止其进一步传播。关键词:假新闻自然语言处理事实检查近年来,「假新闻」一词的出现频率开始攀升,尤其在2016年的美国大选,更是将「假新闻」推至舆论中心,让其使用率增加了三倍多。据统计,当时在Facebook上,有利于特朗普的假新闻的互动次数达到830多万次,而主流媒体的真实新闻相应数字为730多万。2016美国大选中,假新闻称现任教皇支持川普的新闻,获得近百万互动,后续辟谣阅读量却寥寥无几今年美国大选在即,受席卷全球的新冠疫情、经济衰退、地区争端等问题影响,可想而知,大选必定面临着比以往更严峻、复杂的假新闻的挑战。创作竞选假新闻,养活一城年轻人创作假新闻的理由千千万,或出于偏见,或暗藏政治目的,有些纯粹为了经济利益。2016年,美国大选活动的最后三个月里,突然涌现了一百多个和特朗普有关的网站,发布的都是支持特朗普的新闻,还都使用美国网站域名。各类假新闻涵盖经济政策、党派黑料、候选人八卦

  • 【ZOJ 3844】Easy Task

    题意每次把序列中最大的数a的一个和最小的数b的一个变成a-b。求最后是否能使序列里的数全部相同,能则输出这个相同的数。分析一定是有解的,不断减少最大数的个数,最大数减少为0个时,就是减少了不同数字的个数,最后就只剩一种数字了。可以直接暴力模拟。代码#include<cstdio> intok(inta[],intn) { inti; for(i=1;i<n;i++) if(a[i]!=a[i+1])break; returni==n; } intmain() { intt; scanf("%d",&t); while(t--) { intn; inta[12]; intmaxi,mini; scanf("%d",&n); for(inti=1;i<=n;i++) { scanf("%d",&a[i]); } while(!ok(a,n)) { maxi=mini=1; for(inti=1;i<=n;i++) { if(a[i]>a[maxi]) { maxi=i;

  • Navicat

    本文旨在将Navicat激活学习使用第一步:官网下载Navicat并安装第二步:Github上下载一个zip包下载解压后是:第三步:接下来就是永久激活了(前方高能)1.管理员运行cmd,命令进入激活工具文件夹。cd.\Users\asasa\Downloads\navicat-keygen-for-x64\2.输入navicat-patcher.exe"<Navicat安装目录的路径>",回车。如:navicat-patcher.exe"C:\ProgramFiles\PremiumSoft\NavicatPremium12",回车,再回车。出现信息如下:*************************************************** *NavicatPatcherby@DoubleLabyrinth* *Version:4.0* *************************************************** PressEntertocontinueorCtrl+Ctoabort. [

  • nextcloud性能调优

    本文由腾讯云+社区自动同步,原文地址https://stackoverflow.club/article/nextcloud_speed_up/1.定时任务将定时任务从ajax换到cron输入以下命令在宿主机上增加cron任务:crontab-uwww-data-e复制然后在出现的编辑框中复制粘贴下列命令*/15****dockerexec--userwww-datanextcloud_nextcloud_1phpcron.php复制列出cron任务:crontab-uwww-data-l复制你可以直接在宿主机运行后面的命令,dockerexec--userwww-datanextcloud_nextcloud_1php/var/www/html/cron.php复制还可以查看cron执行记录:tail-f/var/log/cron.log复制参考:官方推荐给出了几点建议2.使用nginx默认的nextcloud是Apacheweb,我们将其换为nginx,通过搭配nextcloud-fpm和nginx两个docker完成。实测用nginx可以解决页面卡死的问题。参考:nginxrew

  • (已结束)TencentOS tiny线上移植大赛,王者机器人、定制开发板等礼品等你来拿 !

    一、产品介绍TencentOStiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOStiny提供精简的RTOS内核,内核组件可裁剪可配置,可快速移植到多种主流MCU(如STM32全系列)及模组芯片上。而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。二、活动规则目前TencentOStiny已于2019年9月18日在github上正式对外开源,开源后获得了较好的影响力,上线一个星期内,登录github热榜第二名,目前已累计获得star数量超3000+,fork数量超680+。开发者生态发展良好,微信群吸引开发者800+,QQ群开发者680+,技术交流氛围活跃,目前已经吸引多名开发者参与代码贡献。为了促进TencentOStiny和腾讯IoT生态进一步发展,现启动TencentOStiny线上移植比赛活动,鼓励广大开发者一起来丰富TencentOSt

  • 到底什么是面向对象编程?

    Java知己前几天网上看到一个有趣的面试问题:农场有头大母牛,每年生头小母牛,小母牛五年后生小母牛,问20年后农场一共有多少头牛?(使用面向对象编程思维解答)这个面试问题让我想到了面向过程与面向对象编程的区别,咱们先简单了解下这两者定义上区别:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。看了定义,是不是感觉还是没明白这两者之间的区别,(我信你个鬼,糟老头子坏的很),那咱们就用图片来作下对比吧:Java知己Java知己然后我就写了两套代码来作对比,一套是面向过程编程,一套是面向对象编程。咱们一起来看看这两者这间到底有何区别?正是金九银十跳槽季,为大家收集了2019年最新的面试资料,有文档、有攻略、有视频。有需要的同学可以来在公众号【Java知己】,发送【面试】领取最新面试资料攻略!面向过程:publicstaticvoidmain(String[]args){ //所有牛的集合 List<I

  • 最大信息系数(MIC)

    MIC(Maximalinformationcoefficient)一个很神奇的东西,源自于2011年发在sicence上的一个论文。学过统计的都知道,有相关系数这么一个东西,通常叫做r。但是其实应该叫做线性相关系数,应用领域还是很窄的。而MIC这个东西呢,首先比较general,不管是什么函数关系,都可以识别,换句话说,正弦函数和双曲线函数和直线,对这个系数而言是一样的。此外还有一点,那就是,如果没有噪音的直线关系和没有噪音的正弦函数关系,他们的MIC都是1,加上相同的噪音之后,如果线性关系的MIC变成0.7了,那么正弦函数关系的MIC也变成0.7,换句话说,噪音对MIC造成的影响与变量之间的函数关系无关。当然这一论证在一篇论文中被反驳了,或者说部分反驳了。为了说明白这个方法,首先引入一个Mutualinforamtion的东西:是这么定义的。这里x和y是两个联系的随机变量,这个系数也可以用来衡量相关性,但是有很多缺点。比如,非均一性。不过这点在后面的论文中被推翻了,或者说,局部推翻。 p(x,y)是联合概率密度分布函数,想想就很难计算对不对,所以我们就要找一个办法来做这个事。怎么办

  • 2022年工业级EDR绕过蓝图

    2022年工业级EDR绕过蓝图  https://mp.weixin.qq.com/s/6sC-z_QiYfFMr2UaQHD_4Q VirtualCC 看雪学苑 2022-11-1517:59 发表于上海 收录于合集#“雪花”创作激励计划219个 本文为看雪论坛优秀文章 看雪论坛作者ID:VirtualCC   两年前我成为一个全职红队人员。这是一个我内心十分喜欢的专业。就在几周前,我开始找寻一个新的副业,我决定开始捡起我的红队爱好——开始研究绕过端点保护方案。这篇文章中我会列出一些技术用于绕过企业级端点保护方案。出于教育目的,我不会放出相关源码。为了让广大安全行业受众能理解文中的内容,我不会详细讲解每种技术的细节。但是我会引用其他的人的文章,帮助读者深入理解其细节。在模拟对抗中,初始访问阶段最核心的挑战就是绕过企业级EDR。商业的C2框架提供了不可修改的shellcode和二进制给红队人员使用,但是这些大部分都被工业级端点保护给特征了。为此就需要将shellcode的静态特征和行为特征给混淆掉。这篇博客中会涉及如下的技术用于最

  • HDU1004 ZOJ2104 Let the Balloon Rise【MAP】

    LettheBalloonRise TimeLimit: 2Seconds     MemoryLimit: 65536KB Contesttimeagain!Howexciteditistoseeballoonsfloatingaround.Buttotellyouasecret,thejudges'favoritetimeisguessingthemostpopularproblem.Whenthecontestisover,theywillcounttheballoonsofeachcolorandfindtheresult. Thisyear,theydecidetoleavethislovelyjobtoyou. Input Inputcontainsmultipletestcases.EachtestcasestartswithanumberN(0<N<1000)--thetotalnumberofballoonsdistributed.ThenextNlinescontaino

  • 【Linux】记一次xfs分区数据恢复

    项目有一块磁盘无法挂载,而且还没有做RAID.... #mount/dev/sda/xxx报错 mount:specialdevice/dev/sda/doesnotexist     (apathprefixisnotadirectory) 复制 #dmesg|tail-n100 .... -XFS:badmagicnumber -XFS:SBvalidatefailed -XFS:badmagicnumber -XFS:SBvalidatefailed复制 查看messages也没有特别有用的信息 查看/etc/fstab里面的配置也正确没有问题 #cat/etc/fstab ... /dev/sda        /xxx        xfs  defaults    11复制 尝试使用mount-a直接挂在还是报错 #

  • SQL Server 批量插入数据的两种方法 - 转

       在SQLServer中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍SQLServer支持的两种批量数据插入方法:Bulk和表值参数(Table-ValuedParameters)。 运行下面的脚本,建立测试数据库和表值参数。   [c-sharp] viewplain copy   --Create DataBase   create database BulkTestDB;   go   use BulkTestDB;   go   --Create Table   Create table BulkTestTable(   Id int primary key,&nb

  • I/O系统 (输入/输出)

    I/O系统 1:流:    (1)判断到底是输入,还是输出;永远站在程序的立场上;    (2)判断传递的到底是字节还是字符,从而决定管道的粗细;       字节管道可以传递所有数据,字符管道专门用来传递文本数据(1个字符等于2个字节)   2:java流四大父类:     流的分类:字符流;字节流(对象流)         字节流(用于输出文件、影音等存储较大的输出方式“2进制输出全类型”,尽量不传输文本文件,):       InputStream(输入)确定输入是字节管道,InputStream子类前面的单词作为节点(File:是文件的意思,作为数据源输出),通过查阅API文档;       OutputStream(输出)确定输入是字节管道,OutputStream子类前面的单词作为节点(File:是文件的意思,作为数据源输入),通过查阅API文档;     字符流(用于输出文本文件等存储较小的输出方式):      

  • 全栈测试 一 | py3基础 二 : 函数练习和强化

    函数基础  1.速查笔记 #--函数相关的语句和表达式 myfunc('spam')#函数调用 defmyfunc():#函数定义 returnNone#函数返回值 globala#全局变量 nonlocalx#在函数或其他作用域中使用外层(非全局)变量 yieldx#生成器函数返回 lambda#匿名函数复制   2.函数的好处 代码复用、保持代码一致性、可扩展性   函数的参数 1.速查笔记 #--函数参数,不可变参数通过“值”传递,可变参数通过“引用”传递 deff(a,b,c):print(a,b,c) f(1,2,3)#参数位置匹配 f(1,c=3,b=2)#参数关键字匹配 deff(a,b=1,c=2):print(a,b,c) f(1)#默认参数匹配 f(1,2)#默认参数匹配 f(a=1,c=3)#关键字参数和默认参数的混合 #Keyword-Only参数:出现在*args之后必须用关键字进行匹配 defkeyOnly(a,*b,c):print('')#c就为keyword-only匹配必须使用关键字c=value匹配 defk

  • pycharm常用快捷键

    详见连接:https://www.cnblogs.com/chris-jia/p/9449016.html,以下是原文内容:   CTRL+SHIFT +上/下(方向箭)    ===========》 将光标所在行的代码向上或向下移动 CTRL+SHIFT+J        ===========》将光标所在行代码和下一行代码连接为一行,并移除不必要的空格,匹配你的代码样式 CTRL+Y    =============>  删除光标所在行代码 或选中的行 SHIFT+Delete  ==========》删除光标所在行代码颧选中的行 CTRL+SHIFT+Backspace(Navigate|LastEditLocation)bringsyoutothelastplacewhereyoumadechangesinthecode. P

  • python 使用sorted将字典按照其value大小排序

    ''' 如下列表 people=[ {“name”:”yoyo”,“age”:20}, {“name”:”admin”,“age”:28}, {“name”:”zhangsan”,“age”:25}, ] 按年龄age从⼩到⼤排序 sorted函数按key值对字典排序 sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。 其中iterable表示可以迭代的对象也就是需要排序的变量,例如可以是dict.items()、dict.keys()等, key是一个函数,用来选取参与比较的元素, reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。 使用sorted将字典按照其value大小排序 sorted(iterable,key=lambdax:x['value'],reverse=True) ''' people=[ {"name":"yoyo","age":20}, {"name":"admin"

  • 用户代理检测与浏览器Ua详细分析

    body{margin:0} div#mainBox{width:100%} div#mainBoxdiv.rowBox{width:100%;padding:50px0} div#mainBoxdiv.rowBoxCenter{width:1024px;margin:0auto;text-align:center} div#mainBoxdiv.rowBoxCenterh2,div#mainBoxdiv.rowBoxCenterp{text-align:center;margin:0} div#mainBoxdiv.rowBoxCenterh2,div#mainBoxdiv.rowBoxCenterh2a{font-size:35px;padding:25px020px;text-decoration:none;color:inherit;-webkit-transition:all.5sease-out;-o-transition:all.5sease-out;transition:all0.5sease-out} div#mainBoxdiv.rowBoxCenterh2a:ho

  • 201521123110 java课程设计

    一、需求分析 功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。排行榜存放到文件中。 复制 二、本组课题及本人任务 •码云截图: •本人任务:编写开始以及操作界面代码,以及完成开始和操作界面。 三、总体设计(概要设计) 猜数游戏主界面应该分为三个,开始,退出,以及排行榜模块。开始游戏后要有输入和输出界面。当猜中游戏后应该录入玩家名称,同时获得所用的时间,并且对所用时间进行升序排列,输出前三名。在排行榜界面后应该还有退出按钮。 四、本人负责的主要功能展示与代码分析 1.使用netbeans进行软件界面的设计,再进行界面间的切换以及联系。 2.对生成随机比较数以及输入输出数据功能代码进行编写。 packagegame; importjava.io .FileNotFoundException; importjava.util.Random; publicclassGNBextendsjavax.swing.JFrame{ publicGNB(){ initComponents(); }

  • 第二周总结

    主要工作 1、调试代码   遇到的问题:https://www.cnblogs.com/zymei/p/10721931.html   怎么提升模型精度(还有待解决) 2、学习用python绘制词图   https://www.cnblogs.com/zymei/p/10741510.html 3、看相关论文,为自己写论文做准备  

相关推荐

推荐阅读