后见之明经验回放:样本目标的奖励意味着什么

数据挖掘 强化学习
2022-02-16 01:50:27

参考关于Hindsight Experience Replay的论文

为了让代理学习,访问状态的采样目标应该跟随积极(或非消极)奖励是否正确?

在论文的第 5 页,“算法 1 后见之明体验重放 (HER)”方案特别写道:

for t = 0, T-1 do
    r_t := r(s_t, a_t, g)                     
    Store the transition (s_t || g, a_t, r_t, s_(t+1) || g) in R    


    Sample a set of additional goals for replay G := S(current episode)
    for g' ∈ G do
        r' := r(s_t, a_t, g')
        Store the transition (St||g', a_t, r', s_(t+1)||g') in R
    end for
end for

在哪里:

g:当前目标
R:重播缓冲区

所有其他带有破折号的符号表示除了当前情节中的实际当前目标之外,它们是被采样的。


这意味着(据我了解)对于采样目标(g'),奖励现在是在给定采样目标的状态下采取的行动的函数。如果奖励仍然是旧函数(对于与最终目标不同的所有状态都是非正的),代理是否会学习任务还不是很清楚。

举个例子,在一个网格世界中,一个代理在其目的地的最后一个单元格中获得 -1 奖励,但是随着新目标的引入,代理相对于其当前状态的奖励不是 r,而是 r'(奖励达到目标后)。

说明性示例(网格世界):

在此处输入图像描述

1个回答

...奖励现在是在给定采样目标的状态下采取的行动的函数。

我相信所采取的行动是从最初的目标开始的,而不是从新抽样的目标开始的(正如你所说的你理解的那样)。否则,我认为您的一切或多或少都是正确的。


我们在算法的第一个块中看到,每个动作at,给定当前目标g,得到奖励,rt(照常)。这与新状态一起存储st+1与当前目标连接(由||符号显示)。这被强调为标准体验回放

在第二个块中,使用采样的(虚拟)目标g,我们使用与以前相同的动作获得虚拟奖励at. 对于通过抽样策略选择的一些模拟目标重复此操作,其中几个将在 4.5 节中讨论。

我自己想知道有多少回放被采样,因为似乎关键是采样足够多,以便缓冲区本身看到额外目标的正确平衡(以降低奖励密度),但不是虚拟 HER第二个 for 循环中的记录不会超过第一个循环中实际执行的目标-动作对。在论文(第 4.5 节)中,这似乎是围绕k=8标记,在哪里k是采样/虚拟目标与原始目标的比率。

因此,我相信从原始目标确实访问过的采样目标确实会获得非负奖励。


我认为以下是有助于解释直觉的关键陈述:

请注意,所追求的目标会影响智能体的行为,但不会影响环境动态,因此我们可以用任意目标重播每个轨迹,假设我们有一个像 DQN 这样的离策略 RL 算法......

这在生活中是非常真实的。想象一下,您尝试将飞盘直接穿过田野扔给朋友。它没有成功,而是向右飞去。虽然你失败了,但你可以知道风可能是从左到右吹的。如果这恰好是手头的任务,您会因此获得一些积极的回报!作者抽样了许多其他目标,在我的类比中,可能是特定飞盘的飞行动力学、空气密度/湿度等。

本文的主要贡献是一种增加奖励函数密度的方法,即减少模型在训练时奖励的稀疏程度。在每次尝试(失败或其他)之后对这些额外目标进行抽样,使框架有机会在每一集中向模型教授一些东西。


在基于网格的示例中,例如,如果代理没有达到最终目标(作为其原始目标),它会将 -1 记录到回放缓冲区。然后根据抽样策略从可能的后续步骤中抽取其他目标,S. 因为如果您接近目标,那么从同一集(在转换之后)随机选择未来状态的采样是有道理的,您可能最终会达到目标。在此重要的是要意识到目标已经改变,这允许获得奖励。我指出这一点是因为在基于网格的游戏中目标通常不会改变。然而,论文中的实验是在连续空间中具有 7 自由度的机械臂上进行的(只有奖励是离散的)。

编辑

下面是一个示例路径的草图,我们在 10 次转换后达到最终目标(蓝色箭头)。我设置k=4, 所以在每个州st,我们还有 4 个随机选择的目标。然后我们采取相应的行动at对于当前状态,即蓝色箭头。如果是随机抽样的目标,g, 恰好与st+1,我们得到一个非负的奖励——这些是橙色箭头。否则,返回负奖励:绿色箭头。

在此处输入图像描述

这是随机抽样策略的一个例子,作为我的抽样目标G,是在整个训练过程中遇到的状态(不仅仅是当前情节),即使你在我的草图中看不到它。

所以在这里我们看到有 4 个采样目标,它们确实返回了非负奖励。那是机会。作者确实说:

在我们算法的最简单版本中,我们用目标替换每个轨迹m(sT),即在剧集的最终状态中达到的目标。

在这种情况下,这意味着k=1并且总是只是情节结束的地方。这将意味着算法的 HER 部分中除决赛之外的所有时间步的负奖励,t=T,我们将达到采样目标。

这确实等同于模型从一个失败的插曲中学习。在每一集!