🎚️十八、目标导向的强化学习
2025-2-14
| 2025-2-14
字数 580阅读时长 2 分钟
type
status
password
date
slug
summary
category
URL
tags
icon
大部分的(深度)强化学习方法一般都只能完成特定任务。例如走迷宫,需要固定地图、起点和终点,智能体学习到特定路线;如果重新标定起点和终点,智能体不经过新的训练往往很难有效完成。
走迷宫游戏
走迷宫游戏
💡
目标导向的强化学习 每次任务的终点以一种目标信息显式加到策略和奖励的输入信号中。

概念

GoRL的问题通常被建模为一个MDP的扩充
  • 是环境状态集合
  • 是智能体动作集合
  • 是环境转移的概率,其中的分布集合
  • 是奖励随时间步的衰减因子
  • 是目标集合
  • 是将状态映射成目标的函数
    • 有时直接就是等式转换
    • 有时是取的几个维度作为
  • 为加入目标信息的新奖励函数;其中是目标。
  • 为加入目标信息的策略,记作

HER算法

由于式(18.1),导致目标导向的强化学习的奖励往往是非常稀疏。智能体在训练初期难以完成目标,从而使得整个算法的训练速度较慢。

原理

假设现在使用策略在环境中以为目标进行探索,得到了这么一条轨迹:,并且。这意味着这整一条轨迹上,我们得到的奖励值都是,这对我们的训练起到的帮助很小。那么,如果我们换一个目标呢?换句话说,虽然并没有达到目标,但是策略在探索的过程中,完成了等对应的目标,即完成了等目标。如果用这些目标来将原先的目标替换成新的目标,重新计算轨迹中的奖励值,就能使策略从失败的经验中得到对训练有用的信息。

算法流程

这里的策略优化算法可以选择任意合适的算法,比如 DQN、DDPG 等。
  • 初始化策略的参数,初始化经验回放池
  • For  序列
    • 根据环境给予的目标和初始状态,使用在环境中采样得到轨迹,将其以的形式存入
    • 中采样元组
    • 对于这些元组,选择一个状态,将其映射为新的目标并计算新的奖励值,然后用新的数据替换原先的元组
    • 使用这些新元组,对策略进行训练
  • End for

对于算法中状态  的选择,HER 提出了 3 种不同的方案。

  • future:选择与被改写的元组处于同一个轨迹并在时间上处于之后的某个状态作为
    • 每次随机随机选择个在这个轨迹上并且在这个transition之后的状态作为新目标,即如果现在的样本为,那么会在之间选择个状态对应的目标作为新目标(标记为future);这种情况下经验池里面存放的样本数目是真实采样到样本数目的倍。
    • 每次只选择这一条轨迹的最后一个状态对应的目标作为新目标;这种情况下只选择一个新目标,加上原目标产生的transition,即经验池里面存放2倍于真实采样到的样本。
  • episode: 每次选择个在这个轨迹上的状态作为新目标,即如果现在的样本为,那么会在之间选择个状态对应的目标作为新目标。
  • random: 每次在所有出现过的状态里面选择个状态作为新目标,这里甚至不再要求在这个episode内的状态里面采样了。
在 HER 的实验中,future 方案给出了最好的效果,该方案也最直观。因此在代码实现中用的是 future 方案。
 
  • 强化学习
  • 十九、离线强化学习十七、环境模型预测
    Loading...