1. HER 概念
对于机器人的强化学习算法,存在的挑战就是奖励函数的设置,不但需要考虑如何反映任务的完成水平,同时还需要指导策略的优化。有时,奖励函数的设置还需涉及到具体领域的专业知识。如果不对这些复杂的工程问题进行考虑,而简单用奖励函数表示任务成功或失败,就会造成奖励系数问题。就算仔细设计了奖励函数,可扩展性和鲁棒性也不高。
为了解决奖励稀疏的问题,本文提出了 HER 算法。HER 算法可以针对稀疏和二进制奖励的情况,提高样本效率,进而避免涉及复杂的奖励函数。可以将 HER 算法与其他 off-policy 强化学习算法结合。二进制奖励是指奖励只有两种值,出现在任务成功或任务失败的时候。
HER 算法具备推理能力,能够实现系统中任意状态为目标的任务。HER 参考论文 [1] 的通用策略设计,对于输入,不仅输入当前状态,而且需要目标状态。
HER 背后的核心思想是,在每个 episode 中都回放不同的目标(即当前 episode 需要实现的目标),而不止是最终要实现的目标。
2. 相关知识
2.1 RL 基础
最优动作值函数(对于最优策略 $\pi^*$,满足 $Q^{\pi^*}(s,a) \ge Q^\pi(s,a)$,$\forall s \in S, \forall a \in A$):
2.2 DQN
DQN 存在两种策略:行为策略和目标策略。行为策略执行的是 $\epsilon$-greedy 策略,目标策略执行的是 greedy 策略。
每次训练,使用行为策略产生轨迹 $(s_t,a_t,r_t,s_{t+1})$,并存储到回放池中。训练的目标函数是:
其中 $Q(s,a)$ 表示动作值函数的函数逼近。样本从回放池中采样。
2.3 DDPG
DDPG 是一种采用 AC 框架的算法。A 表示策略网络:$\pi: S \rightarrow A$,C 表示动作值网络:$Q: S \times A \rightarrow \mathbb{R}$ 。
同样也采用行为策略在每个 episode 中产生轨迹。行为策略的表达式为 $\pi_b(s) = \pi(s) + \mathcal{N}(0,1)$ ,表示一个确定策略,,加上一个随机分布(分布类型可以自定义)。critic 的目标与 DQN 的训练目标相似,只不过目标策略不是 greedy 策略,而是确定策略 $\pi(s)$ 。critic 的目标为:$y_t = r_t + \gamma Q(s_{t+1},\pi(s_{t+1}))$ 。actor 的目标函数为 $\mathcal{L}_a = -\mathbb{E}_s Q(s,\pi(s))$ 。样本同样从回放池中采样。
2.4 UVFA
全称为 Universal Value Function Approximators,出自论文 [1] 。UVFA 是 DQN 的一个扩展,设立了不止一个目标去优化。假设其中一个目标 $g \in \mathcal{G}$,对应的奖励函数写为:$r_g: S \times A \rightarrow \mathbb{R}$ 。
每个 episode 开始时,都根据某种分布采样一个 state-goal 分布,记为 $p(s_0,g)$ 。这个目标 $g$ 将在这个 episode 中保持不变。接下来每个时间步长,智能体的输入不仅是状态 $s_t$,同时还有目标 $g$,因此策略的形式可以表示为:$\pi: S \times \mathcal{G} \rightarrow A$,奖励函数的形式为 $r_t = r_g(s_t,a_t)$ 。
动作值函数同样也不止依赖于状态动作对,也依赖于目标 $g$ ,表示为 $Q^\pi(s_t,a_t,g) = \mathbb{E}[R_t|s_t,a_t,g]$ 。
3. 具体算法
定义一个谓语:$f_g:S \rightarrow \{0,1\}$ 。目标表示为能够实现满足 $f_g(s) = 1$ 的任意状态。
例如,如果指定状态空间的某一状态为目标,则 $f_g(s) = [s=g]$ 。如果指定状态空间某一维度的值为目标(假设 $S=\mathbb{R}^2$),则 $f_g((x,y)) = [x = g]$ 。
另外假设,对于状态空间的任意状态,我们都能找到一个目标,使得该状态满足要求。用数学符号定义为:存在一个映射 :$m: S \rightarrow \mathcal{G} \;\; s.t. \;\; \forall_{s \in S} f_{m(s)}(s)=1$ 。最简单的,如果该映射是个很恒等映射,即 $\mathcal{G} = S$,$f_g(s) = [s=g]$, 显然该假设成立。 再举一个例子,如果状态空间是二维的,目标空间是一维的,则该假设也能够成立,例如其中一种情况为 $m((x,y))=x$ 。
HER 背后的思想是,在经历过一些 episode 之后,即经验回放池中存储着一系列经验和每个 episode 的目标(目标空间的一个子集)。HER 需要决定的是每次回放哪些目标的轨迹。文中称之为回放策略 $\mathbb{S}$。
HER 可视为一种循序渐进的教学,先从简单的容易实现的目标回放,再到困难的最终的目标回放。
算法伪代码如下图所示:
伪代码中最重要的就是采样策略 $\mathbb{S}$ 。
4. 工程设置
环境:7 个自由度的机械臂
任务设定:(1) 用机械臂将物体推向目标处。(2) 用机械臂给滑块施力,让它滑到目标处。(3) 用机械臂夹起物体并放置到空间某处。
状态空间:机械臂的关节角度和速度(包含线性速度、角速度),关节位置,物体的转动和速度。
目标:目标设定为靠近某个状态下物体的位置,表示为 $f_g(s)=[|g-s_{object}| \le \epsilon]$ ,其中 $s_{object}$ 表示状态 $s$ 下物体的位置。
奖励:$r(a,s,g) = -[f_g(s’)=0]$,其中 $s’$ 表示在 状态 $s$ 下执行动作 $a$ 后的下一个状态。这表示如果 $s’$ 不满足目标 $g$ 的要求,则奖励设置为 -1,否则设置为 1 。
动作:四维输出,前面三维是抓手的绝对位置,最后一维是抓手的两支手指的距离。注意机械臂的控制是通过运动学进行的,根据抓手期待的位置去控制。
目标回放策略 $\mathbb{S}$:文中总共设计了四种策略。
- final:每个 episode 的最后一个状态作为目标。
- future:从当前的 episode 中收集可能在未来遇见的状态作为目标。
- episode:从当前的 episode 中随机采样状态作为目标。
- random:从所有遇见的状态中随机采样状态作为目标。
参考文献
[1] Schaul, T., Horgan, D., Gregor, K., & Silver, D. (2015). Universal value function approximators. 32nd International Conference on Machine Learning, ICML 2015, 2, 1312–1320. International Machine Learning Society (IMLS).