你报名参加一场“神秘厨房”挑战赛,主持人只给你一个菜名——“红烧肉”,不教火候、不教调料,只说做完后端给评委品尝,色香味俱全才算过关,否则零分。你手忙脚乱炖了一锅,结果是一份咸甜口味的家常炖肉。普通学员长叹一声,把锅一倒,白忙一场,什么都没学到——这就是“稀疏奖励”:只有完美命中目标才有反馈,其余努力全部石沉大海。 这时一位神秘教练拦住了你:“别用红烧肉的标准评判它。你发现没有,如果今天的题目是'家常炖肉',你这道菜其实做得很成功。”他翻开菜谱本,把用料、火候、步骤认认真真记下,标注为“炖肉经验一条”。你愣了一下,猛然明白:这次失败教会了你如何炖肉,而炖肉离红烧肉,只差几次调料的微调。 这个故事就是 HER(Hindsight Experience Replay,事后经验回放)的核心思想:在稀疏奖励的强化学习任务中,不要把没达到目标的轨迹当垃圾扔掉,而是“事后”重新定义一个该轨迹实际达到的目标,把负样本改写成正样本,让智能体从每一次失败中都能学到东西。HER 已成为机器人控制、游戏智能、内容生成等目标导向任务中最实用的样本效率利器。

岗位关联

掌握 HER,你就掌握了把海量“失败日志”转化为训练资产的能力,这是 AI 从业者在稀疏反馈业务(如内容生成质量优化、智能体控制)中提升模型效果的关键加分项。

目录
  1. 可视化演示
  2. 稀疏奖励困境
  3. 事后重标记思想
  4. 重标记策略
  5. HER算法流程
  6. 算法整合集成
  7. 实验效果验证
  8. AIGC创作应用
  9. 局限与展望
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

失败:未达目标 标准经验回放 (ER)随机采样,不重标记目标大部分样本为失败经验HER事后经验回放可视化:展示目标重标记如何将失败转为有效训练标准经验回放 (ER)随机采样,不重标记目标大部分样本为失败经验HER事后经验回放可视化:展示目标重标记如何将失败转为有效训练 标准经验回放 (ER)随机采样,不重标记目标大部分样本为失败经验HER事后经验回放可视化:展示目标重标记如何将失败转为有效训练标准经验回放 (ER)随机采样,不重标记目标大部分样本为失败经验HER事后经验回放可视化:展...

稀疏奖励困境

你端着一锅“家常炖肉”站在厨房里,评委只认“红烧肉”三个字。糖色不够深,扣分?肥肉不够烂,扣分?不,评委只给出两种判决:完全对上菜名,满分;任何一点不对,零分。这就像强化学习中的目标条件任务——机械臂要抓取一个蓝色方块,抓到了给 +1,没抓到给 0;游戏角色要走到终点,走到了胜利,走不到从头再来。中间那些“靠近了一步”“角度对了三度”的微小进步,环境一概不奖励。

这正是“稀疏奖励”的数学定义:奖励函数只在状态与目标完全一致时给出非零值。用符号表示,假设 t 时刻智能体从状态 \\(s_t\\) 执行动作 \\(a_t\\) 到达 \\(s_{t+1}\\),稀疏奖励可以写为:

这样的奖励结构让传统强化学习陷入困境:智能体随机探索了一大圈,获得的反馈全是 0,价值网络无从更新,学到的策略跟掷骰子没区别。你站在厨房里,面对一锅失败的炖肉,既不知道哪一步走对了,也不知道下一步该往哪使劲——这就是稀疏奖励的可怕之处:没有中间反馈,就没有学习信号。

rt=1[st+1=g]\displaystyle r_t = \mathbf{1}[s_{t+1} = g]
这个公式是说:除非下一时刻的位置恰好等于目标 g,否则奖励恒为 0。评审团只看最终成菜,不看过程。
  1. 奖励变量\\(r_t\\) 表示第 t 步获得的即时奖励,稀疏环境下绝大多数时刻它都是 0,只有命中瞬间才变成 1。
    rtr_t
  2. 判定开关\\(\mathbf{1}[\cdot]\\) 是“指示函数”,方括号里的条件为真时取值 1,为假时取值 0,就像评委手里的“通过/不通过”章。
    1[st+1=g]\mathbf{1}[s_{t+1} = g]
  3. 等号条件\\(s_{t+1} = g\\) 要求下一时刻状态与目标状态完全重合,差一个像素都不算成功,正如炖肉再香,只要不叫“红烧肉”就是零分。
    st+1=gs_{t+1} = g

事后重标记思想

神秘教练没有让那锅炖肉白白浪费。他拿起笔,在菜谱上写下“家常炖肉:五花肉 500 克、生抽三勺、小火慢炖 40 分钟”,然后对你说:“我们今天的题目就是它。”一瞬间,刚才那份零分答卷变成了一道满分作品。HER 的思想正是如此:一条轨迹没能达到原始目标 g,不要把它丢进垃圾桶,而是“事后”重新指定一个该轨迹实际达到的状态作为新目标,让这次探索变成一次成功示范。

在数学上,事后重标记的目标最简单的一种取法,就是把轨迹终点 \\(s_T\\) 当作新目标。假设一条 episode 从 \\(s_0\\) 走到 \\(s_T\\),原本目标是 g 且没达成,HER 会构造一个新目标:

经过这种改写,原本“没有达成目标”的负样本,变成了“达成了新目标”的正样本。奖励从一列 0 变成至少有一个 1,价值网络终于获得了可学习的梯度信号。教练轻轻合上菜谱本:“经验没有好坏,只有会不会用。”HER 的精髓就在这句话里——它不改变环境,不修改奖励规则,只改变我们看待轨迹的方式。

g′=sT\displaystyle g' = s_T
运动员没够到 3 米高的篮板,但跳到了 2.8 米,那就把 2.8 米当作今天的训练目标——这次跳跃就是成功。
  1. 新目标变量\\(g'\\) 是“事后想出来的目标”,不需要环境预先定义,完全由轨迹自身产生。
    g′g'
  2. 轨迹终点\\(s_T\\) 是这条 episode 最后一个状态,也就是智能体费尽力气最终到达的位置。
    sTs_T
  3. 等式意义把“终点位置”直接任命为“目标位置”,意味着这条轨迹在新目标下天然成立——终点当然等于目标。
    g′=sTg' = s_T

重标记策略

教练在厨房里摸索出四种“重新命名菜品”的方式。第一种 final:看最终成品,把成品名称当目标,简单直接。第二种 future:从做菜过程的某个未来时刻随手一指,“看,这一步的中间形态也可以当目标”,这是最实用的一招。第三种 episode:闭上眼睛,从本次做菜全程的任意一个状态抽一个当目标。第四种 random:完全随机从记忆里抽一个状态,不管它是不是这条轨迹上的。四种方式对应 HER 论文中四种目标采样策略:final、future、episode、random。

其中 future 策略在实验中最受青睐,它的采样规则是:对轨迹中的每个时刻 t,从 t 之后的所有未来状态中随机挑一个作为新目标。这保证了“新目标不会比当前时刻更早出现”,逻辑上更为自洽:

选对策略至关重要。如果教练乱起菜名——把甜口的炖肉叫作“麻辣火锅”,经验非但没用,还会误导学生。future 之所以好用,是因为它选的目标紧贴当前轨迹的真实走向,学习的每一步都有“够得着”的参照物,学生既能获得成功反馈,又不至于偏离真实目标太远。

g′∼{st′:t′=t+1,  t+2,  …,  T}\displaystyle g' \sim \left\{s_{t'} : t' = t+1,\; t+2,\; \dots,\; T\right\}
教练只在“你还没做的步骤”里挑新题目,绝不会拿你三分钟前的半成品当目标——那会让学生困惑。
  1. 采样符号\\(\sim\\) 表示“从集合中随机抽取一个”,相当于教练闭着眼睛在候选菜名里抓阄。
    g′∼{⋅}g' \sim \{\cdot\}
  2. 候选集合\\(\{s_{t'} : t' = t+1, \dots, T\}\\) 收集了当前时刻之后所有可能到达的状态,这些状态都是“未来的可能性”。
    st′:t′=t+1,  …,  Ts_{t'} : t' = t+1,\; \dots,\; T
  3. 下标范围\\(t'\\) 从 \\(t+1\\) 到 \\(T\\),明确排除了过去的状态,保证了重标记目标的时序合理性。
    t′∈[t+1,  T]t' \in [t+1,\; T]

HER算法流程

现在把教练的整套方法整理成标准流程。第一步,采集轨迹:让智能体在环境中跑完一整局,无论成败,把每一步的状态、动作、奖励、下一状态原样记录下来。第二步,目标重采样:按选定的策略(如 future)为这条轨迹重新抽取一个或多个新目标。第三步,奖励重计算:用新目标重新给每一步打分——原来“零分试卷”变成了“有对有错的试卷”。第四步,回放池存储:把重标记后的经验与原目标经验一起放进回放缓冲区,供训练时反复采样。

第二步和第三步是 HER 的核心手术。假设某条轨迹用新目标重标记后,第 t 步的奖励由原始奖励 \\(r_t\\) 变为 \\(r'_t\\),规则依旧遵循稀疏奖励的定义,只不过判定的标准换成了 \\(g'\\):

这一套流程跑下来,智能体看着回放池,就像学生翻开一本被教练批注过的菜谱:每一条失败的尝试都被改编成了某道菜的成功案例。训练时,价值网络从这些“改编案例”中学习到的,不是自欺欺人的幻觉,而是一条真实的因果链——“这样做,就能到达那个状态”,而这正是逼近真实目标所必需的知识拼图。

rt′=1[st+1=g′]\displaystyle r'_t = \mathbf{1}[s_{t+1} = g']
重新打分不是随意给分,而是仍然严格执行“到达新目标才 +1”的铁律,只是裁判换成了新目标。
  1. 重标奖励\\(r'_t\\) 是重标记之后第 t 步的奖励,它取代了原始 \\(r_t\\),只在轨迹与新目标交汇的位置亮起绿灯。
    rt′r'_t
  2. 指示开关\\(\mathbf{1}[s_{t+1} = g']\\) 依然是“命中给 1,未命中给 0”的规则,确保奖励信号诚实可信。
    1[st+1=g′]\mathbf{1}[s_{t+1} = g']
  3. 新目标判定\\(s_{t+1} = g'\\) 把“是否到达目标”的尺子从原来的 g 换成了 g',于是轨迹中至少有一个时刻满足条件,奖励不再是一串冰冷无用的 0。
    st+1=g′s_{t+1} = g'

算法整合集成

有了精心处理过的菜谱本(回放池),还得有会读菜谱的厨师(学习算法)。HER 不是一套独立的炒菜流派,它是一套“菜谱批改系统”,必须挂在某个厨房班组下面——这个班组必须能够反复翻阅旧菜谱来提升手艺,也就是所谓的 off-policy(离策略)算法。像 REINFORCE 这类“看一遍丢一遍”的 on-policy(在策略)方法,用完当前经验就扔掉,HER 的批改本对它毫无意义;而 DQN、DDPG 这类可以反复使用历史经验的算法,才是 HER 的天然搭档。

在经典的 DDPG + HER 组合中,Actor 网络根据“当前状态 + 目标”输出动作,Critic 网络评估这个动作能带来多少回报。训练时从回放池抽样一小批经验,Critic 的更新目标为:

实际操作中,回放池里通常让“原目标经验”和“重标记经验”各占一半,比例约为 1:1。厨师既看正宗菜谱,也看改编菜谱,才不会在真正的红烧肉面前手足无措。HER 与底层算法各司其职:HER 负责把失败经验变得有营养,底层算法负责把营养真正吸收成肌肉记忆。

yt=rt′+γmax⁡a′Q(st+1, a′, g′)\displaystyle y_t = r'_t + \gamma \max_{a'} Q(s_{t+1},\, a',\, g')
评估一道菜好不好,不能只看眼前这口,还得加上“吃完这口之后还能不能再接一道好菜”——这就是 \\(\gamma\\) 折扣着未来收益的原因。
  1. 目标值\\(y_t\\) 是 Critic 要逼近的“标准答案”,它由即时奖励和未来收益两部分合成。
    yty_t
  2. 即时奖励\\(r'_t\\) 是重标记后的即时分数,负责告诉 Critic“这一步立竿见影的效果如何”。
    rt′r'_t
  3. 折扣因子\\(\gamma\\)(0 到 1 之间)给未来收益打折,越遥远的回报权重越低,对应“好菜要趁热吃”的直觉。
    γmax⁡a′Q(st+1, a′, g′)\gamma \max_{a'} Q(s_{t+1},\, a',\, g')
  4. 最大未来收益\\(\max_{a'} Q\\) 表示从下一个状态出发,最优动作能带来的最大评估值,它把“后续还有没有肉吃”纳入当前判断。
    max⁡a′Q(st+1, a′, g′)\max_{a'} Q(s_{t+1},\, a',\, g')

实验效果验证

教练带着这套方法走出厨房,走进实验室。在经典的机械臂抓取测试中,机械臂要从桌面抓取一个方块放回目标托盘——听起来简单,但奖励只在方块精确落在托盘中心时才会发放。普通 DDPG 训练了上百万步,成功率依然停留在 0% 附近,机械臂像无头苍蝇一样在稀疏奖励中原地打转。而接入 HER 之后,同样一百万步,成功率可以达到 80% 以上,一些实验甚至接近 90%。

导航避障任务给出了同样惊艳的答案:智能体在地图中寻找出口,HER 让它在探索中不断把“走过的关键位置”标记为阶段性目标,原本需要几百万次交互才能学到的路径规划能力,几十万次交互就能稳定涌现。HER 带来的最核心收益叫“样本效率”——用更少的交互数据学到同等甚至更好的策略,意味着真实机器人少跑几万次试验,少摔几百次跤,工业落地成本大幅降低。

如果把强化学习比作练厨艺,普通方法学一道菜必须等这道菜完整成功一次,失敗一百万次就浪费一百万份食材;HER 则把每一份失败的食材都做成了“半成品菜谱”,下个学员拿到菜谱就能少走弯路。这就是为什么在稀疏奖励的公开测试集上,HER 几乎已成为标配组件,它让“从失败中学习”不再是一句口号,而是行得通的工程实践。

AIGC创作应用

把厨房搬到云端,厨师换成 Stable Diffusion 之类的生成模型。你输入 prompt“赛博朋克风格的白猫”,模型画出一只写实的普通白猫——用户不满意,打分 0,生成任务失败了。但 HER 的视角完全不同:这次生成是一张质量不错的“写实白猫图”,把目标重标记为“生成写实风格白猫”,这次产出就是一次成功的样本。把这些成功样本喂回训练流程,模型至少学会了“如何稳定生成写实白猫”,下一次挑战赛博朋克风时,只需要在细节上加科技元素即可。

第一个落地方向是生成评测反馈。在 RLHF(人类反馈强化学习)流程中,用户点击“喜欢/不喜欢”的信号往往极稀疏——十张图里只有一张被点赞。HER 可以把“未被点赞但主题契合”的图像重标记为“实现了主题匹配目标”的经验,给奖励模型提供更多正例。第二个方向是提示词优化:智能体 Agent 负责编写提示词,生成的图片被自动评分器打回,反馈稀疏;HER 把“虽然没有完全命中但画面结构合理”的生成重标为成功,让 Agent 学到提示词的语法规律。第三个方向是风格对齐:艺术风格类 prompt 的反馈常常只有“像/不像”的二元信号,HER 把每次生成的风格特征作为新目标,模型能在风格空间中一步步逼近目标风格。

这些应用的共同点,就是用户和自动评测器都不愿意给出细粒度分数,只有“通过或不通过”。HER 恰好让模型把每一次“不通过”都转译成“某个侧面通过了”,于是生成内容的质量在一次次重标记中稳步爬坡——就像那位神秘厨房里的学员,先学会炖肉,再学会红烧肉,最终成为掌勺大师。

局限与展望

教练也有无能为力的时刻。如果主持人规定“这道菜永远只能叫红烧肉”,并且不允许给菜品改任何别名,那么你做出一锅完美的炖肉也无济于事——HER 的前提是目标可以被重新定义。在强化学习中,这意味着目标 g 必须能以“状态”的形式被表征和修改。围棋的“胜利”、对话的“有趣”这类抽象目标,难以用某一个具体状态来重标记,HER 就英雄无用武之地。此外,重标记的目标还要“含义通顺”,比如在自动驾驶任务中,把“撞车前的状态”设为目标就非常危险。

HER 的另一类风险是分布偏移。如果重标记目标总是挑那些“容易到达的状态”,智能体会倾向于对付容易的任务而忽略真实目标——正如学生如果总是把题目改成自己会做的简单题,永远也学不会难题。研究者正在探索多模态目标表征、自动选择重标记策略、以及 HER 与扩散模型、大语言模型结合的新范式,让“事后命名”本身也成为可学习的技能。

从厨房到实验室再到 AIGC 流水线,HER 的故事告诉我们:在稀疏奖励的荒野里,真正的智慧不是抱怨信号太少,而是学会把每一次偏离目标的足迹,都化作通向目标的台阶。目标可以移动,但前进的方向不能丢——这正是 HER 给 AI 从业者最深的启示。

AI 应用场景

生成图像质量对齐

阶段:模型微调与 RLHF 对齐

解决的问题:Stable Diffusion 模型在按 prompt 生成内容时,用户或自动评分器往往只在“满意/不满意”二值层面反馈,奖励极其稀疏。传统方法因缺少密集梯度而难以稳定优化生成策略。

具体案例:某电商平台用 RL 微调海报生成模型,期望产出“赛博朋克风格促销图”。初版模型生成的图偏写实,用户打分几乎全为 0。引入 HER 后,训练系统把每次生成的“写实风商品图”重标记为目标“生成写实风商品图”,作为正样本存入回放池。经过多轮训练,模型先稳定掌握写实风格,再逐步叠加霓虹灯光与未来元素,最终赛博朋克风格出图率提升 60%。

提示词自动优化

阶段:数据采集与策略学习

解决的问题:提示词优化 Agent 在搜索更好的 prompt 时,只有偶尔遇到高分生成结果才获得正反馈,搜索过程近乎盲人摸象。HER 将表现平平但结构合理的 prompt 重标记为“该风格方向上的成功样本”,信号密度大幅提升。

具体案例:某内容创作平台部署了自动 prompt 优化器,目标是让“古风水墨 + 现代产品”的组合 prompt 稳定产出高质量图。HER 让 Agent 把每次生成的“水墨风格尚可但产品融入一般”的图重标为“水墨风格达成”经验,逐步强化风格控制能力,累积后平台整体出图满意度提升 35%。

数字媒体异常片段召回

阶段:智能质检与反馈增强

解决的问题:在长视频或直播流内容审核中,违规内容极少(正样本稀疏),审核 Agent 常因长期收不到违规信号而漏检。HER 将“疑似异常但最终未确认”的片段重标为“需要重点关注的片段”目标,让检测器持续学到特征。

具体案例:某短视频平台用 HER 增强审核模型训练,将人工复核后未判违规的高风险片段重标记为“高风险特征识别成功”样本。几轮迭代后,模型对新型违规形态的召回率提升了 22%,同时降低了人工复核成本。

Python 演示

python53 行
import random N = 10          # 一维网格长度START = 2       # 起始位置GOAL = 8        # 真实目标MAX_STEPS = 40  # 每局最大步数ALPHA = 0.5     # 学习率GAMMA = 0.95    # 折扣因子EPS = 0.25      # 探索率 def td_update(q, s, a, r, ns, g, done):    """一步时序差分更新:用新目标修正 Q 值。"""    best = 0.0 if done else max(q[g][ns])    q[g][s][a] += ALPHA * (r + GAMMA * best - q[g][s][a]) def pick_action(q, s, g):    """根据当前状态和目标选择动作,epsilon 贪心保证探索。"""    if random.random() < EPS:        return random.choice([0, 1])    return 0 if q[g][s][0] > q[g][s][1] else 1 def train(use_her, episodes=1500):    """训练指定轮数,返回最终成功率。"""    # Q[目标][状态][动作],目标是状态空间的一维,因此目标也参与索引    q = [[[0.0, 0.0] for _ in range(N)] for _ in range(N)]    hits = 0    for ep in range(episodes):        state = START        traj = []        for _ in range(MAX_STEPS):            a = pick_action(q, state, GOAL)            nxt = max(0, min(N - 1, state + (1 if a == 1 else -1)))            r = 1.0 if nxt == GOAL else 0.0            traj.append((state, a, r, nxt))            state = nxt            if r == 1.0:                break        # 用原始目标 GOAL 更新        for i, (s, a, r, ns) in enumerate(traj):            td_update(q, s, a, r, ns, GOAL, i == len(traj) - 1)        # if HER: 没到达目标时,用终点状态作新目标重放        if use_her and traj[-1][3] != GOAL:            g_new = traj[-1][3]  # 事后目标 = 终点状态            for i, (s, a, r, ns) in enumerate(traj):                r_new = 1.0 if ns == g_new else 0.0                td_update(q, s, a, r_new, ns, g_new, i == len(traj) - 1)        hits += 1 if traj[-1][3] == GOAL else 0    return hits / episodes if __name__ == '__main__':    # 关闭和开启 HER 各训练一轮,对比最终成功率    print("without HER success rate: %.3f" % train(False))    print("with HER success rate: %.3f" % train(True))
目的:在 1D 稀疏奖励网格中对比 Q-learning 与 Q-learning+HER 的成功率,直观验证“事后重标记”能把失败轨迹变成有效学习信号。
  1. q = [[[0.0, 0.0] for _ in range(N)] for _ in range(N)]三维 Q 表,把“目标位置”也编入索引,让经验按目标分门别类
  2. traj.append((state, a, r, nxt))无论成败原样保留轨迹,为 HER 提供可重标记的原料
  3. td_update(q, s, a, r, ns, GOAL, i == len(traj) - 1)先用真实目标更新一次 Q 表,保证不偏离原始任务
  4. if use_her and traj[-1][3] != GOAL:判断这局失败,HER 才开始介入
  5. g_new = traj[-1][3]把终点状态任命为“事后新目标”,就像教练把炖肉改名为菜名
  6. r_new = 1.0 if ns == g_new else 0.0按新目标重新计算奖励,负样本在这一步转正
  7. hits / episodes统计真实目标上的成功率,终端输出对比结论

常见误区

误区HER 既然重新打了分,那环境的奖励函数就被改掉了,Agent 学会的可能是耍小聪明的错误行为。

正解HER 只在“回放池”里重写奖励,真实环境中执行的奖励一分未动。它就像教练在菜谱本上写“这道菜算成功”,但比赛现场评委打分规则没有任何变化。Agent 训练时看到的是重标记后的经验,但真实部署时目标还是原来的目标,所以学到的策略依然是向真实目标逼近的。

为何常见:很多人把“经验重标记”理解成“环境改造”,忽略了 HER 作用于数据采集之后的回放环节,而非环境交互环节。

误区只要奖励稀疏,堆上 HER 就能解决,DQN、PPO、REINFORCE 全能配合使用。

正解HER 有三个硬前提:一是任务必须是目标条件任务,目标能用状态向量表征;二是底层算法必须支持离策略学习,能从历史重放经验中反复更新;三是重标记出的目标必须有语义合理性。围棋的“赢棋”目标不可重标,REINFORCE 这类在策略算法用不上回放池,把炖肉改名成“麻辣火锅”只会适得其反。

为何常见:因为 HER 的应用效果太过惊艳,初学者容易把它神化为“万能稀疏奖励药”,忽略了它的适用边界。

误区既然说“负样本转正样本”,那重标记后的轨迹每一步奖励都该是 1,整条轨迹都是成功示范。

正解重标记只是换了一把尺子,规则依然是“到达新目标才 +1”。一条轨迹里通常只有最后一两个时刻恰好命中新目标,其余步骤仍然是 0。但正因为轨迹终点就是新目标,至少最后一步的正奖励被点亮了,这比全程 0 奖励要密集得多。教练把炖肉改名为成功案例,但中间“切肉三分钟”这一步并不会因此获得加分。

为何常见:把“轨迹整体价值提升”误解为“每一步都被判满分”,弄混了稀疏奖励定义中的单步判定逻辑。

误区HER 和 DQN、DDPG 平级,学完 HER 就等于掌握了一种新的深度强化学习算法。

正解HER 本质上是一个“经验重标记器”,它自己不能独立训练策略,必须寄生在 DDPG、DQN、SAC 等离策略算法之上。它的角色更像是给菜谱本加批注的教练,而不是炒菜的厨师。正文实验里“HER 提升成功率”的正确表述是“DDPG+HER 相比纯 DDPG 提升成功率”。

为何常见:HER 有独立的论文和醒目的实验对比图,容易让人误以为它是一个独立算法,忽略了它只是回放缓冲区的数据增强技巧。

面试题

Q1. HER 解决稀疏奖励的核心思想是什么?

单选题 · easy

  • A.调高环境奖励的数值
  • B.事后重标记目标为实际状态← 正确答案
  • C.通过减少噪声加速探索
  • D.每步都给予固定的小奖励

答案:B。HER 的关键是把失败轨迹的目标重标记为轨迹实际达到的状态,从而让负样本变成正样本。A 和 D 都是修改奖励函数的做法,C 是探索策略调整,都不符合 HER 的思想。

Q2. 稀疏奖励环境最典型的特征是?

单选题 · easy

  • A.每一步都给出小奖励
  • B.仅完成任务时才有非零奖励← 正确答案
  • C.奖励值全部为负数
  • D.奖励随训练时间递减

答案:B。稀疏奖励指大多数时刻奖励为 0,只有满足特定条件(通常是到达目标)才给出非零奖励。A 是稠密奖励,C、D 描述的是奖励数值形态,与稀疏性无关。

Q3. HER 中 future 策略的采样规则是?

单选题 · mid

  • A.从轨迹终点采样目标
  • B.从当前时刻之后的状态采样目标← 正确答案
  • C.从回放池随机采样目标
  • D.从环境初始状态采样目标

答案:B。future 策略在轨迹当前时刻之后的所有未来状态中随机抽一个作为新目标,保证目标在时间上不早于当前状态。A 是 final 策略,C 是 random 策略,D 与目标采样无关。

Q4. 哪些算法可以与 HER 结合使用?

多选题 · mid

  • A.DQN 深度 Q 网络← 正确答案
  • B.DDPG 深度确定性策略梯度← 正确答案
  • C.REINFORCE 策略梯度方法
  • D.Monte Carlo 策略梯度方法

答案:AB。HER 需要离策略(off-policy)算法配合,DQN 和 DDPG 都能从重放缓冲区反复采样学习。REINFORCE 和 Monte Carlo 策略梯度属于在策略(on-policy)方法,用完当前轨迹即丢弃,HER 没有发挥空间。

Q5. 一条轨迹经 HER 重标记后,其奖励分布会是?

单选题 · mid

  • A.全部变为正 1 奖励
  • B.保持原有的数值不变
  • C.按新目标重算并部分转正← 正确答案
  • D.全部被置为零值

答案:C。重标记后奖励仍按“命中新目标 +1”计算,通常只有与终点等新目标重合的时刻获得 +1,其余时刻仍为 0,但至少比全 0 密集得多。A 忽略了稀疏奖励的单步判定规则,B 和 D 与重标记逻辑相悖。

Q6. 为什么 HER 能显著提升样本效率?

单选题 · hard

  • A.因为增大了批次大小
  • B.失败经验被重标为成功样本← 正确答案
  • C.因为减少了训练轮数
  • D.因为加速了仿真速度

答案:B。HER 把大量原本无监督价值的失败轨迹重写为带正奖励信号的经验,回放池中的有效样本密度大幅上升,价值网络能从更多样本中学到可靠估计。批大小、训练轮数、仿真速度都不受影响。

Q7. 下列哪些任务适合使用 HER?

多选题 · hard

  • A.机械臂抓取指定位置物体← 正确答案
  • B.迷宫导航到固定出口← 正确答案
  • C.围棋落子对战取胜
  • D.机器人末端到达特定位姿← 正确答案

答案:ABD。HER 要求目标能以状态形式明确表征并能事后修改,抓取位置、出口坐标、末端位姿都满足。围棋的“取胜”是抽象目标,无法简单用某一状态重标记,因此不适合 HER。

Q8. “负样本转正样本”在 HER 中指的是?

单选题 · easy

  • A.把错误动作改成正确动作
  • B.失败经验标记为新目标成功经验← 正确答案
  • C.对奖励取绝对值处理
  • D.把训练损失取反方向

答案:B。HER 将没达到原始目标的轨迹,重新标记为“达到了某个新目标”的成功轨迹,从而让原本是负样本的经验获得正奖励。A 是修改数据动作,C、D 是数值变换,都不涉及目标重标记。

Q9. 关于 HER 的说法正确的是?

多选题 · mid

  • A.必须使用真实的环境奖励
  • B.重标记目标可来自轨迹终点← 正确答案
  • C.回放池混合原始与重标记经验← 正确答案
  • D.HER 专属 value-based 算法

答案:BC。HER 可用重标记奖励训练 Critic,不依赖真实奖励;final 策略就是取终点为新目标;实践中原始经验与重标记经验混合效果更好。HER 不限于 value-based 方法,也适用于 DDPG、SAC 等 actor-critic 框架。

Q10. HER 目标重标记带来的主要风险是?

单选题 · extreme

  • A.引入目标分布偏移← 正确答案
  • B.导致环境运行变慢
  • C.造成奖励数值溢出
  • D.模型过拟合单一目标

答案:A。如果重标记目标频繁落在容易达到的状态,经验分布会偏向“简单目标”,策略逐渐偏离真实目标,这是 HER 的经典风险“目标分布偏移”。B、C 是工程层面的次要问题,D 不是 HER 典型风险。