[论文笔记]Episodic Curiosity through Reachability

本文介绍了Google、Deepmind和苏黎世联邦理工学院在ICLR 2019提出的一种强化学习新方法——Episodic Curiosity through Reachability,通过可达性计算观测的新颖性,降低强化学习中的不良行为。这种方法利用好奇心驱动,结合记忆缓冲区和奖励机制,提升模型性能,尤其在稀疏奖励环境中表现优越。
摘要由CSDN通过智能技术生成

目前解决稀疏奖励下的强化学习主要有两类方法:一是,利用数据改进 agent 的学习 ,包括已有数据、外部数据等;二是,改进模型,提升模型在大状态、大动作空间下处理复杂问题的能力。具体的,利用数据改进 agent 学习的方法包括好奇心驱动(Curiosity Driven)、奖励重塑(Reward Shaping)、模仿学习(Imitation Learning)、课程学习(Curriculum Learning)等等。改进模型的方法主要是执行分层强化学习(Hierarchical Reinforcement Learning),使用多层次的结构分别学习不同层次的策略来提高模型解决复杂问题的能力,以及元学习(Meta-Learning)的方法。

Episodic Curiosity through Reachability

本文是 Google、Deepmind 和苏黎世联邦理工学院的研究人员提出「好奇心驱动」的强化学习新方法,发表在 ICLR 2019 中。该方法改变了 agent「好奇心」的生成方式和奖励机制,将 agent 对环境信息观察的记忆信息引入奖励机制中,有效降低了 agent「原地兜圈」、「拖延」等不良行为,提升了强化学习模型的性能。

下图给出了通过可达性(Reachability)来说明行动的新颖性(Novelty)的概念。图中的节点是观测值,边是可能的转换。蓝色的节点已经在记忆内存中,绿色的节点可以在 k=2 步内从记忆内存中到达(不新颖),橙色的节点距离较远—需要超过 k 步才能到达(新颖)。

请添加图片描述

在实践中,完整的可能性转换图是没有给出的,因此训练神经网络逼近器来预测观察点之间的步数是大于k,还是小于k。

本文方法的工作原理如下。Agent 在一个周期(Episode)开始时从一个空的记忆内存开始,在每一步都将当前观察结果与记忆中的观察结果进行比较,以通过可达性来确定新颖性。如果当前观察确实是新颖的,即从记忆中的观察到达到阈值需要更多的步骤,则 agent 会奖励自己并将当前观察添加到记忆内存中。这个过程一直持续到当前周期结束,且将内存清空。

本文讨论的 agent 在有限的持续时间 T 的周期内以离散时间步长与环境进行交互。在 t 时刻,基于观察环境空间 O,环境提供给 agent 一个观察值 o_t,以概率策略π(o_t)从一系列动作 A 中采样到动作 a_t,同时收获奖励 r_t、新的观察结果 o_t+1 以及周期结束的标识。agent 的目标是优化奖励的加权组合期望。

请添加图片描述

在存在稀疏奖励 r_t 的情况下,本文引入一个周期好奇性(Episodic Curiosity,EC)模块。EC 模块的目的是在生成奖励 r_t 的同时生成一个奖励红利:b_t,从而得到增强奖励:
请添加图片描述

从 RL 的角度分析,该增强奖励是一个密集奖励(Dense Reward)。在这样的密集奖励下学习,速度更快、更稳定,往往能获得更好的最终任务累积奖励 S。

EPISODIC CURIOSITY MODULE

EC 模块的输入是当前的环境 o,输出为增强奖励 b。EC 模块包括参数组件和非参数组件。其中,参数组件包括一个嵌入网络 E 和一个比较网络 C。E 和 C 同时训练以预测可达网络,具体见下图。

请添加图片描述

此外,图 2 中的 EC 模块中还包括两个非参数组件:一个周期性一个记忆缓冲区 M 和一个奖励红利估计函数 B。完整的 EC 模块见图 3。该模块将当前的观测值作为输入,并计算出一个奖励红利。对于新的观测值,该奖励红利会更高。这个红利随后与任务奖励相加,用于训练 RL 的 agent。

请添加图片描述

Embedding and comparator networks
请添加图片描述

这两个网络被设计成共同作用于估计一个观测 o_i 从另一个观测 o_j 在 k 步内可达性。

R 网络是一个用逻辑回归来作为训练损失(logistic regression lost)的分类器网络:如果两个观测值在 k 步内可以相互到达的概率低,它预测的值接近于 0。当这个概率高时,它预测的值接近于 1。

Episodic memory记忆缓冲区 M 存储了使用嵌入网络 E 计算得到的当前事件中过去观测值的嵌入,记忆缓冲区的容量 K 有限,以避免内存和性能问题。每一个计算步骤中,当前观察的嵌入可能会被添加到内存中。超出容量时怎么办?作者发现一个在实践中行之有效的解决方案是用当前元素替换内存中的随机元素。这样一来,内存中的新元素仍然比旧元素多,但旧元素并没有被完全忽略。

Reward bonus estimation module该模块的目的是检查内存中是否有可达到的观测,如果没有发现,则为当前时间步分配更大的奖励。该检查是通过比较器网络将内存中的观测与当前观测进行比较。本质上,这种检查保证了在内存中没有任何观测值可以通过从当前状态中只采取几个动作来达到,这也是本文对新颖性(Novelty)的描述

奖励计算

每个时间步 当前观测 o 输入Embedding网络得到一个嵌入值请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值