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

APRIL 2022-Explanation-Aware Experience Replay in Rule-Dense Environments的更多相关文章

  1. 论文阅读之:PRIORITIZED EXPERIENCE REPLAY

    PRIORITIZED EXPERIENCE REPLAY ICLR 2016 经验回放使得 online reinforcement learning agent 能够记住并且回放过去的经验.在先前 ...

  2. (zhuan) Prioritized Experience Replay

    Prioritized Experience Replay JAN 26, 2016 Schaul, Quan, Antonoglou, Silver, 2016 This Blog from: ht ...

  3. 【深度强化学习】Curriculum-guided Hindsight Experience Replay读后感

    目录 导读 目录 正文 Abstract[摘要] Introduction[介绍] 导读 看任何一个领域的文章,一定要看第一手资料.学习他们的思考方式,论述逻辑,得出一点自己的感悟.因此,通过阅读pa ...

  4. 强化学习中的经验回放(The Experience Replay in Reinforcement Learning)

    一.Play it again: reactivation of waking experience and memory(Trends in Neurosciences 2010) SWR发放模式不 ...

  5. Revisiting Fundamentals of Experience Replay

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! ICML 2020 Abstract 经验回放对于深度RL中的异策算法至关重要,但是在我们的理解上仍然存在很大差距.因此,我们对Q学习方法 ...

  6. 强化学习(十一) Prioritized Replay DQN

    在强化学习(十)Double DQN (DDQN)中,我们讲到了DDQN使用两个Q网络,用当前Q网络计算最大Q值对应的动作,用目标Q网络计算这个最大动作对应的目标Q值,进而消除贪婪法带来的偏差.今天我 ...

  7. 【转载】 强化学习(十一) Prioritized Replay DQN

    原文地址: https://www.cnblogs.com/pinard/p/9797695.html ------------------------------------------------ ...

  8. (转) Deep Reinforcement Learning: Playing a Racing Game

    Byte Tank Posts Archive Deep Reinforcement Learning: Playing a Racing Game OCT 6TH, 2016 Agent playi ...

  9. (转) Deep Learning in a Nutshell: Reinforcement Learning

    Deep Learning in a Nutshell: Reinforcement Learning   Share: Posted on September 8, 2016by Tim Dettm ...

  10. (zhuan) Deep Deterministic Policy Gradients in TensorFlow

          Deep Deterministic Policy Gradients in TensorFlow AUG 21, 2016 This blog from: http://pemami49 ...

随机推荐

  1. 关于Android开发工具的下载之ADT篇

    ADT的下载 首先可以选择下面推荐的两个网站去下载相应的安装包,网址如下: http://tools.android-studio.org/index.php/adt-bundle-plugin 或者 ...

  2. Spring:现代Java开发的必备框架

    目录 Spring:现代Java开发的必备框架 Spring创建bean的生命周期以及对应的接口和注解 Spring使用三级缓存解决循环依赖的原理 Spring使用三级缓存创建bean的过程 Spri ...

  3. ARP协议:网络世界的临门一脚

    大家好,我是风筝. 各位同学肯定见过关于网络的面试题,什么TCP协议和UDP的区别啦,IP协议工作在哪层啊等等,这都是网络中定义的各种协议.这些标准化的协议就是网络分层模型标准化的核心部分.要想搞懂网 ...

  4. VirtualBox下宿主机和Linux虚拟机共享文件配置方法

    VirtualBox版本-5.2.8 Linux版本-Ubuntu16.04 2020.03.31 一.首先在宿主机上新建一个文件夹,这里命名为共享文件夹(如果读者自行命名记得后文全部替换),存放了一 ...

  5. 数仓如何进行表级控制analyze?

    摘要: 介绍如何设置采样大小和表级控制analyze. 本文分享自华为云社区<GaussDB(DWS) 如何表级控制analyze>,作者:leapdb. 一.控制采样大小 [设置全局采样 ...

  6. 基于el-cascader级联选择器实现只有最后一级可以多选(已发布到npm & github)

    github地址:地址 背景: 我们经常级联合选择器多选的需求,但是element UI提供的级联选择器并不能只多选最后一级,所以我考虑基于element UI的级联选择器优化一下,实现可以多选最后一 ...

  7. 白嫖一个月的ES,完成了与MySQL的联动

    前言 <腾讯云 x Elasticsearch三周年>活动来了.文章写之前的思路是:在腾讯云服务器使用docker搭建ES.但是理想很丰满,显示很骨感,在操作过程中一波三折,最后还是含着泪 ...

  8. java -- Stringbuild, Date, Calendar

    Stringbuild类 由于String类的对象内容不可改变,每次拼接都会构建一个新的String对象,既耗时,又浪费内存空间 这时需要通过java提供的StringBuild类解决这个问题 Str ...

  9. Python中,类的特殊方法与内置函数的关联

    目录 Python类 Python类的设计原则 特殊方法[Special methods] Duck typing 内置函数 English Version The key design princi ...

  10. Cesium案例(六) Time Dynamic Wheels

      Cesium.Ion.defaultAccessToken =         "token";       const viewer = new Cesium.Viewer( ...