简介

之前的深度强化学习算法,都可以在各自的任务上取得比较好的效果,但是都是局限在单个任务上。如如果面度复杂的复合任务,之前的强化学习算法,往往不容易训练出有效的策略。下面介绍目标导向的强化学习(goal-oriented reinforcement learning GoRL) 以及该类别下的一种经典算法HER

GoRL 学习一个策略,使其在不同的目标(goal)条件下奏效,以此来解决较为复杂的决策任务。

问题定义

目标导向,就是说智能体的目标是会变化,例如,之前冰湖环境,目标是固定的位置,如果会在小范围内变化,那么就需要目标导向;在例如,机械臂拿取物体,每次拿取的时候,物体的位置不是完全一致的。

如果是一个死板的策略就无法完成目标,需要策略有更好的适应性

GoRL 的数学形式 与之前的强化学习算法中的马尔可夫决策过程。目标导向的强化学习中,使用一个扩充果的元组 ,来定义 MDP。其中 是状态空间, 是动作空间, 是状态转移函数, 是目标空间, 是一个将状态 从状态空间映射为目标空间内的一个目标 的函数, 是奖励函数,与目标 有关。

  • 目标空间 和目标 目标导向的强化学习中,任务是由目标定义的,并且目标本身是和状态 相关,可以将一个状态 使用映射函数 映射为目标

  • 奖励函数 奖励函数不仅和状态 和动作 相关,在目标导向的强化学习中,还与设定的目标相关,以下是其中一种常见的形式:

r_{g}(s_{t},a_{t},s_{t+1})= \begin{cases} 0, &||\phi(s_{t+1}-g)||{2}\leq \delta{g} \ -1,& \text{otherwise} \end{cases}

其中,$\delta_{g}$ 是一个比较小的值,表示目标附近就不会收到-1 的惩罚。 在目标导向的强化学习中,由于对于不同的目标,奖励函数是不同的,因此状态价值函数 $V(s,g)$ 也是基于目标的,动作价值函数 $Q(s,a,g)$ 同理。 目标导向的强化学习的优化目标:定义 $v_{0}$ 为环境中初始状态 $s_{0}$ 与目标 $g$ 的联合分布,那么 GoRL 的目标就是优化策略 $\pi(a|s,g)$,使以下目标函数最大化:

\mathrm{E}{(s{0},g)\sim v_{0}}[V^\pi(s_{0},g)]

# HER 算法 可以发现目标导向的强化学习的奖励往往是非常稀疏的(只有最终的目标有奖励)。由于智能体在训练初期难以完成目标而只能得到 -1 的奖励,从而是整个算法的训练速度较慢。为了能够利用这些失败的数据|经验,*事后经验回放*(hindsight experience replay, HER)于 2017 年在 NIPS 被提出,称为 GoRL 的一大经典方法 假设现在使用策略 $\pi$ 在环境中以 $g$ 为目标进行探索, 得到一条轨迹:$s_{1},s_{2},\dots,s_{T}$,并且 $g\neq s_{1},s_{2},\dots,s_{t}$。这意味着整条轨迹上,得到的奖励值是-1,这对训练抱住很小。如果换一个 $g^\prime$ 来重新审视整条轨迹,虽然没有达到目标 $g$,但是策略探索过程中,完成了 $s_{1},s_{2},\dots,s_{T}$ 等对应的目标,即完成了 $\phi(s_{1}), \phi(s_{2}),\dots,\phi(s_{T})$ 等目标。如果用这些目标将原先的目标 $g$ 替换成新的目标 $g^\prime$,中心计算轨迹中的奖励值,就能是策略从失败的经验中得到对训练有用的信息。 ## 算法流程 这里的策略优化算法可以选择任意合适的算法,如 DQN、DDPG 等 ![image.png](https://cdn.jsdelivr.net/gh/AustinSuun/image/img/20250621174743729.png) 对算法中状态 $s^{\prime\prime}$ 的选择,HER 提出了 3 中不同的方案 ![image.png](https://cdn.jsdelivr.net/gh/AustinSuun/image/img/20250621174830878.png) 在试验中,future 方案给出了最好的效果 实际训练中,采样数据按照一条轨迹的方式保存,采样数据时,随机采样一条轨迹,其中随机采样一个时间步,得到 state,actioin, next_state,目标(goal)选择这条轨迹后面的一个随机位置,奖励根据下一状态和目标状态的相似程度(状态和 goal 的欧式距离),超过阈值奖励为-1,在阈值之内,奖励为 0