提出一种新的经验回放方法,能够在稀疏且binary reward 环境中训练 RL 算法。
idea
人类在学习的时候,很多情况下不能完全也不需要完全达到自己特定的目标,才能学到特定的经验和技术。人类在学习的时侯,可能会尝试不同的手段和方法来做一件事,虽然可能这个方法在特定的任务上T不奏效,但这样的方法可能完成了其他的任务T’,当你下次需要做个任务T’时,你可以用这些经验来完成。比如在一个射击靶子游戏中,靶子随机出现某个位置,射中reward = 0 否则为 -1 。你可能很多都枪射歪了,这对强化学习来说,这些样本学不到任何有用的经验。但是如果把射歪的位置看成靶子的位置,这对强化学习来说就是一个有用的样本。将射歪的位置看成靶子的位置,相当于设置了一个新的 Goal。
所以基于上面的思路,如果我们的目的是做一类比较接近的goal的话,或者我们能构造出与当前goal比较接近的一系列goal的话,我们就有可能利用另外的goal来衡量policy在环境中的trajectory
所以既然感觉有点浪费,就会想要利用起来,这部分也就是HER做的事情:如果我们能够知道r(s, a, g)的话,那么对于上面采样出来的 $\tau$ 中的 (s, a, r(a, s, g), s’, g) ,我们可以选择不同的goal,让这里面的reward变成1,就是意味着:这个transition tuples能够有效地帮助这个goal进行学习。那么replay buffer中reward为1的transition tuples数目就得到了一定的提升,可能就能够有效地帮助agent学习。
下面是HER的算法,简单地解释一下就是:利用当前policy在环境中交互获得trajectory $\tau$ ,然后将 (s, a, r(a, s, g), s’, g) 存储在replay buffer中,然后再挑选一些其他的goal对这个trajectory $\tau$ 中的g和r做修改,然后存储在replay buffer中,之后就是普通的基于replay buffer算法中常见的从buffer中sample,然后训练等过程中。
算法
下面是HER的算法,简单地解释一下就是:利用当前policy在环境中交互获得 trajectory $\tau$ ,然后将 (s, a, r(a, s, g), s’, g) 存储在 replay buffer 中,然后再挑选一些其他的 goal 对这个 trajectory $\tau$ 中的 g 和 r 做修改,然后存储在r eplay buffer 中,之后就是普通的基于replay buffer 算法中常见的从 buffer 中 sample,然后训练等过程中。
那么关于如果挑选其他的goal就是一项很玄学的地方了,在论文里面提出了几种不同的方法:
final — goal corresponding to the final state in each episode
future — replay with k random states which come from the same episode as the transition being replayed and were observed after it
episode — replay with k random states coming from the same episode as the transition being replayed
random — replay with k random states encountered so far in the whole training procedure
实验
实验环境
这里有三种任务:
- Pushing. 把物体推到指定的位置
- Sliding. 推动物体,使它滑动到某个位置
- Pick-and-place. 拿起物体,移动到空中的某个位置
在这个环境中:
- Reward:在没有到到达goal时,都是-1,到达goal时候为0
- Goal:为在空间中随机生成的位置(所以我感觉这也是有效的一点)
- Observations:gripper(机器手)在这个空间中的绝对位置,需要推动物体object和goal相对gripper的相对位置
一些局限
HER目前看上去局限很多(当然也就是改进的地方)。比如这里就直接假设reward和goal可以直接控制的,但是很多情况下并不是,可能我们就是要实现固定的几个goal,而且不知道这里面的reward,同样goal之间的关系可能不是特别紧密,那么HER该怎么用呢?(基本假设都出现了问题)
另外就是这里实验的设计,goal变了,其实导致了 (s,a,r, s’, g) 中 s 的改变(s 和 goal 进行拼接),这个s里面是会体现goal的,但是很多时候,我们无法直接修改s,比如玩video game。
最后,HER 是和 Off-Policy 的 RL 算法进行结合,原因是:On-Policy 中 Q 值的更新用的 s‘ 是确定的,我们选择其他的goal的时候,无法及时更新到 s‘||新goal 的 Q 值。Off-Policy 中的 max 操作 可以保证我们更新到新的 Q 值。
REF: Andrychowicz M, Wolski F, Ray A, et al. Hindsight Experience Replay[J]. 2017.