...奖励现在是在给定采样目标的状态下采取的行动的函数。
我相信所采取的行动是从最初的目标开始的,而不是从新抽样的目标开始的(正如你所说的你理解的那样)。否则,我认为您的一切或多或少都是正确的。
我们在算法的第一个块中看到,每个动作一种吨,给定当前目标g,得到奖励,r吨(照常)。这与新状态一起存储st + 1与当前目标连接(由||符号显示)。这被强调为标准体验回放。
在第二个块中,使用采样的(虚拟)目标G',我们使用与以前相同的动作获得虚拟奖励一种吨. 对于通过抽样策略选择的一些模拟目标重复此操作,其中几个将在 4.5 节中讨论。
我自己想知道有多少回放被采样,因为似乎关键是采样足够多,以便缓冲区本身看到额外目标的正确平衡(以降低奖励密度),但不是虚拟 HER第二个 for 循环中的记录不会超过第一个循环中实际执行的目标-动作对。在论文(第 4.5 节)中,这似乎是围绕k = 8标记,在哪里ķ是采样/虚拟目标与原始目标的比率。
因此,我相信从原始目标确实访问过的采样目标确实会获得非负奖励。
我认为以下是有助于解释直觉的关键陈述:
请注意,所追求的目标会影响智能体的行为,但不会影响环境动态,因此我们可以用任意目标重播每个轨迹,假设我们有一个像 DQN 这样的离策略 RL 算法......
这在生活中是非常真实的。想象一下,您尝试将飞盘直接穿过田野扔给朋友。它没有成功,而是向右飞去。虽然你失败了,但你可以知道风可能是从左到右吹的。如果这恰好是手头的任务,您会因此获得一些积极的回报!作者抽样了许多其他目标,在我的类比中,可能是特定飞盘的飞行动力学、空气密度/湿度等。
本文的主要贡献是一种增加奖励函数密度的方法,即减少模型在训练时奖励的稀疏程度。在每次尝试(失败或其他)之后对这些额外目标进行抽样,使框架有机会在每一集中向模型教授一些东西。
在基于网格的示例中,例如,如果代理没有达到最终目标(作为其原始目标),它会将 -1 记录到回放缓冲区。然后根据抽样策略从可能的后续步骤中抽取其他目标,小号. 因为如果您接近目标,那么从同一集(在转换之后)随机选择未来状态的采样是有道理的,您可能最终会达到目标。在此重要的是要意识到目标已经改变,这允许获得奖励。我指出这一点是因为在基于网格的游戏中目标通常不会改变。然而,论文中的实验是在连续空间中具有 7 自由度的机械臂上进行的(只有奖励是离散的)。
编辑
下面是一个示例路径的草图,我们在 10 次转换后达到最终目标(蓝色箭头)。我设置k = 4, 所以在每个州s吨,我们还有 4 个随机选择的目标。然后我们采取相应的行动一种吨对于当前状态,即蓝色箭头。如果是随机抽样的目标,G', 恰好与st + 1,我们得到一个非负的奖励——这些是橙色箭头。否则,返回负奖励:绿色箭头。

这是随机抽样策略的一个例子,作为我的抽样目标G,是在整个训练过程中遇到的状态(不仅仅是当前情节),即使你在我的草图中看不到它。
所以在这里我们看到有 4 个采样目标,它们确实返回了非负奖励。那是机会。作者确实说:
在我们算法的最简单版本中,我们用目标替换每个轨迹米(s吨),即在剧集的最终状态中达到的目标。
在这种情况下,这意味着k = 1并且总是只是情节结束的地方。这将意味着算法的 HER 部分中除决赛之外的所有时间步的负奖励,t = T,我们将达到采样目标。
这确实等同于模型从一个失败的插曲中学习。在每一集!