想象你是一家全国快递公司的调度总监。你每天最重要的工作不是亲自开车,也不是按门铃,而是把“十万件包裹按时送达”这个大目标,拆成一条条城市路线:先到杭州,再到上海,再到苏州。城市分拣中心再把路线拆成片区任务;快递员则只关心自己手里的几十个包裹和一条街道。三个层级各管各的时间尺度:总监看明天,分拣中心看半天,快递员看脚下。这个再自然不过的分工,正是分层强化学习的核心直觉——复杂的长期任务不该由一个策略从头管到尾,而应该分成“高层定目标、底层做动作”的多个层级。分层强化学习(Hierarchical RL)让智能体学会这种“总经理—部门经理—一线员工”式的协作,从而在稀疏奖励、长周期任务中更快、更稳地学到策略。

岗位关联

学懂分层强化学习,你就能用“目标分解 + 层级执行”的思路设计复杂机器人决策系统,让稀疏奖励任务从“学不动”变成“学得快”,是进阶强化学习工程师的必修课。

目录
  1. 可视化演示
  2. 背景动机:为什么单层智能体被长期任务逼疯
  3. 核心思想:把目标与动作分层
  4. 数学建模:从 MDP 到期权式决策
  5. Options 框架:可执行的宏动作
  6. FeUdal 网络:Manager 与 Worker 的默契配合
  7. 训练机制:两套层级如何协同更新
  8. 挑战与局限:层间衔接不是魔法
  9. 应用前景:层次化思维落地场景
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示分层RL的管理者-工作者层次架构、Options时间扩展动作框架与扁平RL对比,理解层次化决策核心方法。

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

管理者-工作者层次架构 管理者输出子目标方向,工作者执行原子动作 时间抽象缩短决策周期,提升样本效率 Manager → goal → Worker → action 层次分解降低信用分配难度

背景动机:为什么单层智能体被长期任务逼疯

如果快递公司只有一位“总调度”,他要同时盯住全国每一条街道、每一辆车的油门刹车,很快就会精神崩溃。强化学习智能体在复杂任务中也有同样困境:所有决策都压在一个策略上,既要想“去哪”,又要管“怎么迈腿”,长期目标的信息很容易在几千步动作中被稀释。

技术上这被称为稀疏奖励问题。比如让机器人从房间一端走到另一端,只有最终到达才有奖励。中间每一步都在“黑暗”中摸索,连接“今天的动作”和“最终奖励”就像让仓库工人猜到底是哪个环节让包裹准时到达。与此同时,探索空间巨大。如果动作空间有几十个维度,要靠随机尝试找到正确序列,概率会指数下降。分层的思想就是不让一个策略承担所有复杂度。

单层调度最头疼的地方,是把每一小步都塞进“长远回报公式”里计算;分层调度则把公式拆给不同层级:高层看长程回报,低层看局部反馈。

Gt=∑k=0TγkRt+k+1\displaystyle G_t=\sum_{k=0}^{T}\gamma^k R_{t+k+1}
回报把未来奖励折算成“现在的价值”。
  1. 未来奖励列表把从现在开始每一步获得的奖励依次取出,作为长期回报的原料。
    Rt+1,Rt+2,Rt+3,…\displaystyle R_{t+1}, R_{t+2}, R_{t+3}, \dots
  2. 折扣因子\(\gamma\) 是 0 到 1 之间的数,让越遥远的奖励对当前决策影响越小,相当于“远方的好处看得淡一点”。
    γk\displaystyle \gamma^k
  3. 累加得回报将全部折扣奖励相加,便得到这条轨迹的长期回报值。
    Gt=∑k=0TγkRt+k+1\displaystyle G_t=\sum_{k=0}^{T}\gamma^k R_{t+k+1}

核心思想:把目标与动作分层

真正的三层快递体系不是“多设几个办公室”,而是不同层级讲不同语言:总部说城市名,分拣中心说片区名,快递员说门牌。这种语言隔离让每个层级只关注自己时间尺度的事。分层强化学习的核心,正是把“目标”和“动作”分开。

高层策略负责选择子目标或宏动作,低层策略负责在当前子目标下选择具体动作。高层决策频率低,低层决策频率高,形成时间抽象。一个宏动作可以持续很多个时间步,高层不用在每个时刻都做决策,因此高层看到的决策问题规模变小,低层学习的任务更加局部。

这种分工可以用总策略公式描述:总策略是“先由高层选期权、再由低层选动作”的复合结果。

分拣中心不替快递员开门,但快递员必须知道“这栋楼属于哪个片区”;两个层级各司其职,长期任务才变得可学习。

πtotal(a∣s)=∑o∈Oπlow(a∣s,o) πhigh(o∣s)\displaystyle \pi_{total}(a|s)=\sum_{o\in\mathcal{O}}\pi_{low}(a|s,o)\,\pi_{high}(o|s)
总策略把“选择子目标”和“执行动作”拆成两层。
  1. 高层选期权高层策略根据当前状态 \(s\),以一定概率选出期权 \(o\),类似总部决定“下一站去南京”。
    πhigh(o∣s)\displaystyle \pi_{high}(o|s)
  2. 低层做动作给定状态和期权,低层策略再决定具体动作 \(a\),类似司机在“去南京”的目标下打方向盘。
    πlow(a∣s,o)\displaystyle \pi_{low}(a|s,o)
  3. 组合全策略对所有可能期权求和,得到智能体实际执行动作的总概率。
    ∑o∈Oπlow(a∣s,o) πhigh(o∣s)\displaystyle \sum_{o\in\mathcal{O}} \pi_{low}(a|s,o)\,\pi_{high}(o|s)

数学建模:从 MDP 到期权式决策

把分工写成合同,算法才能计算。单层强化学习建立在马尔可夫决策过程(MDP)上,而分层强化学习引入“期权/宏动作”后,会升级到半马尔可夫决策过程(SMDP)。

智能体执行一个期权时,会持续若干步,直到满足终止条件。这期间的奖励不是每步单独对账,而是把整个期权期间当作一个整体来结算。于是 Q 值更新从“单步”变成了“宏动作步”的版本:

这就像分拣中心记录“这一批包裹共花费 10 小时翻完一整车”,而不是每盒包裹都单独对账。一次宏观动作批量结算,高层才学得动。

Q(s,o)←Q(s,o)+α[r+γkmax⁡o′Q(s′,o′)−Q(s,o)]\displaystyle Q(s,o)\leftarrow Q(s,o)+\alpha\left[r+\gamma^{k}\max_{o'}Q(s',o')-Q(s,o)\right]
期权在执行 \(k\) 步后结束,再用最终状态去更新价值。
  1. 当前价值在状态 \(s\) 下选择期权 \(o\) 的价值估计。
    Q(s,o)\displaystyle Q(s,o)
  2. 期权总回报执行整个期权共 \(k\) 步,得到总奖励 \(r\),再用 \(\gamma^{k}\) 对后续价值打折。
    r+γkQ(s′,o′)\displaystyle r+\gamma^{k}Q(s',o')
  3. 优势比较用结束状态 \(s'\) 处最优下一期权的价值,减去当前估计,形成误差信号。
    max⁡o′Q(s′,o′)−Q(s,o)\displaystyle \max_{o'}Q(s',o')-Q(s,o)
  4. 学习率更新\(\alpha\) 决定每步更新多少,避免价值估计一步到位导致振荡。
    α[r+γkmax⁡o′Q(s′,o′)−Q(s,o)]\displaystyle \alpha\left[r+\gamma^{k}\max_{o'}Q(s',o')-Q(s,o)\right]

Options 框架:可执行的宏动作

Option 就是“城市级路线方案”。比如“从上海分拣中心开到南京高速口”是一个期权,内部有司机的驾驶策略:加速、变道、减速;什么时候算完成,由终止条件决定。

在学术上,期权定义为一个三元组:“可用集合 + 内部策略 + 终止条件”。

高层看到的是“几个城市名”,低层看到的是“方向盘和油门”。高层价值函数因此更容易收敛,低层也能反复打磨同一条路线的驾驶技能。

o=⟨I,π,β⟩\displaystyle o=\langle \mathcal{I}, \pi, \beta\rangle
一个宏动作由可用集、内部策略和终止概率共同定义。
  1. 可用集合期权在哪些状态下才能被高层选用,类似“只有到了上海,才能选上海到南京路线”。
    I⊆S\displaystyle \mathcal{I} \subseteq S
  2. 内部策略期权内部如何选择动作,这是完成子目标的“手艺活”。
    π:S×A→[0,1]\displaystyle \pi: S \times A \to [0,1]
  3. 终止概率在状态 \(s\) 以概率 \(\beta(s)\) 结束期权,把控制权交还给高层。
    β(s)∈[0,1]\displaystyle \beta(s)\in[0,1]

FeUdal 网络:Manager 与 Worker 的默契配合

如果 Options 是“显式的宏动作”,FeUdal 网络(FuN)则更柔性:Manager 不直接说“去南京”,而是给出一个方向向量,Worker 自己领会如何朝这个方向前进,非常像老板只写一句“往东偏北 30 度走”,员工自己决定迈左脚还是右脚。

FuN 结构分为 Manager 和 Worker 两层:Manager 在较粗的时间尺度上输出目标向量 \(g_t\);Worker 在每个时间步输出具体动作。为了让 Worker 理解方向,FuN 用状态差分定义内在奖励:

老板不必说出“南京”这个名字,员工只要朝方向走就能拿到“私房零花钱”。这种内在奖励把稀疏的外部信号变成稠密的导航提示。

dt=htM−ht−cM,gt=dt∥dt∥,rtint=1c∑i=1c⟨dt,gt⟩\displaystyle d_t = h_t^{M}-h_{t-c}^{M}, \qquad g_t = \frac{d_t}{\lVert d_t\rVert}, \qquad r_t^{int} = \frac{1}{c}\sum_{i=1}^{c} \langle d_t, g_t\rangle
用“高层最近的变化方向”给低层的一致性动作发奖励。
  1. 状态差分高层把当前表示与 \(c\) 步前的表示相减,得到“想往哪个方向走”。
    dt=htM−ht−cM\displaystyle d_t = h_t^{M}-h_{t-c}^{M}
  2. 归一化目标把差分向量除以模长,去掉大小、只留方向。
    gt=dt∥dt∥\displaystyle g_t = \frac{d_t}{\lVert d_t\rVert}
  3. 一致性奖励低层的状态迁移与目标方向越一致,点积越大,内在奖励越高。
    rtint=1c∑i=1c⟨dt,gt⟩\displaystyle r_t^{int} = \frac{1}{c}\sum_{i=1}^{c} \langle d_t, g_t\rangle

训练机制:两套层级如何协同更新

两套班子一起培训,复杂度自然翻倍。高层策略与低层策略需要协调:高层通常靠外部奖励学习“选哪些子目标”,低层则靠内部奖励学习“如何完成当前子目标”。

训练设计上常见两种路线:一是先固定低层,用预训练技能稳定后,再训练高层;二是让高低层同步优化。低层常用策略梯度或 Q 学习,高层同理,关键是给低层一个综合奖励信号:

训练过程就像快递公司先让快递员熟悉本地路况,再让分拣中心学习排路线。层级互相成就,但又不过度干扰。

rttotal=rtext+λrtint\displaystyle r_t^{total} = r_t^{ext} + \lambda r_t^{int}
低层把环境奖励和内在奖励相加,形成最终训练信号。
  1. 外部奖励环境给的最终反馈,稀疏但真实,像客户的签收确认。
    rtext\displaystyle r_t^{ext}
  2. 内在奖励与子目标方向的接近程度相关,稠密但主观,像快递员手机里的导航提示。
    rtint\displaystyle r_t^{int}
  3. 平衡系数\(\lambda\) 调节外部与内在奖励的相对权重,太小等于没分层,太大容易钻牛角尖。
    λ∈[0,1]\displaystyle \lambda \in [0,1]

挑战与局限:层间衔接不是魔法

分层不是银弹。总部若给一个“去火星”的目标,快递员再能干也无济于事;或者快递员技能更新后,总部还沿用旧地图,调度就会失灵。这就是分层强化学习著名的非平稳性问题。

具体来说,同一状态、同一动作,由于高层目标不断变化,低层观察到的转移和奖励分布会不稳定。目标设定困难、层间奖励系数难调、训练不稳定,都是常见挑战。研究者通常用稳定的目标表示、预训练低层技能、限制高层更新频率等手段缓解。

总调度用旧地图指挥新建成的绕城高速,司机就会怀疑人生。解决的关键是让层级之间有稳定接口,或者先固化低层技能。

Pt(s′∣s,a)≠Pt′(s′∣s,a)\displaystyle P_t(s' | s,a) \neq P_{t'}(s' | s,a)
同一动作在不同“高层上下文”下产生不同结果,导致低层学不稳。
  1. 低层动作动作 \(a\) 仍然来自同一个动作空间,没有变化。
    a∈A\displaystyle a \in \mathcal{A}
  2. 转移概率变化因为高层目标改变,环境对低层动作的反馈模式发生变化,所以两个时刻的转移概率不同。
    Pt(s′∣s,a)≠Pt′(s′∣s,a)\displaystyle P_t(s'|s,a) \neq P_{t'}(s'|s,a)
  3. 训练后果低层模型不断被推翻,训练像是在移动的沙地上盖楼。
    分布漂移→收敛困难\displaystyle \text{分布漂移} \to \text{收敛困难}

应用前景:层次化思维落地场景

一旦尝到分层的甜头,你会发现几乎所有复杂决策都有层次:国家规划引导地方执行,地方执行落到基层行动。分层强化学习也是如此,它把“总目标—子目标—具体动作”的接力赛带进现实。

机器人导航中,高层规划房间序列,低层规划轮速与避障;游戏 AI 中,高层选择“推塔还是打野”,低层负责施放技能与走位;自动驾驶中,高层规划换道策略,低层控制油门刹车。分层结构的统一特征是时间尺度差异大:

快递公司的三层调度是一场时间尺度上的接力赛。分层强化学习,正在把这场接力赛交给机器人、游戏与自动驾驶。

τhigh≫τlow\displaystyle \tau_{high} \gg \tau_{low}
高层决策周期远大于低层,是分层 RL 最直观的标识。
  1. 高层周期高层几秒甚至几分钟才重新决策一次,像总监每天只看一次全国线路。
    τhigh\displaystyle \tau_{high}
  2. 低层周期低层每帧或每 0.1 秒输出一次动作,像司机每时每刻都在微调油门。
    τlow\displaystyle \tau_{low}
  3. 尺度比时间尺度差异越大,分层带来的收益就越明显。
    τhigh/τlow≫1\displaystyle \tau_{high} / \tau_{low} \gg 1

AI 应用场景

巡检机器人路径规划与导航

阶段:分层决策与训练

解决的问题:工厂走廊长、点位多,单层策略难以同时记住全局任务和局部避障。传统方式用全局路径规划加局部控制,但遇到动态人和移动障碍物时切换僵硬。分层 RL 让高层负责“下一站去哪”,低层负责“当前怎么走”,决策更自然。

具体案例:四足巡检机器人在园区中执行巡逻任务。高层每 5 秒重新选择一个目标点,如“去 3 号仓库门口”;低层以 12Hz 频率输出关节力矩,实时避让行人。即使某个目标点临时取消,低层仍能平稳过渡到新目标。

MOBA 游戏 AI 的战术执行

阶段:多智能体决策与训练

解决的问题:MOBA 游戏中英雄的攻击距离远、技能组合复杂,单层策略容易陷入“只顾打小兵”的局部最优。分层 RL 让高层理解宏观战局,低层专注操作细节。

具体案例:在 5v5 对战 AI 中,高层判断“应该推塔还是集合打团”,低层负责技能连招和走位躲技能。教练通过内在奖励引导低层先学会“接近目标英雄”,再让高层学会“选择正确的团战时机”。

自动驾驶的行为决策与控制

阶段:决策规划与运动控制

解决的问题:从 A 点到 B 点,如果每毫秒都直接决策方向盘转角,规划会不稳定;如果只做全局规划,又无法应对红绿灯与行人。分层 RL 将决策拆成“路线选择—行为选择—底层控制”。

具体案例:自动驾驶系统在高速场景中,高层把“跳过拥堵路段”作为目标,中层输出“换到左侧车道”的决策,低层再执行转向和油门。高层目标变化时,低层控制模块保持稳定,大大减少驾驶顿挫感。

Python 演示

python78 行
import random GRID = 4GOALS = [(0, 0), (0, 3), (3, 0), (3, 3)]ACTIONS = [(-1, 0), (1, 0), (0, -1), (0, 1)]START = (2, 2)ALPHA = 0.3GAMMA = 0.9EPS = 0.3PLAN_LEN = 5 Qh = {}  # high-level: (state, goal_id) -> valueQl = {}  # low-level:  (state, action) -> value def qh(s, g):    return Qh.get((s, g), 0.0) def ql(s, a):    return Ql.get((s, a), 0.0) def in_grid(p):    return 0 <= p[0] < GRID and 0 <= p[1] < GRID def choose_goal(s):    if random.random() < EPS:        return random.randrange(4)    values = [qh(s, g) for g in range(4)]    return values.index(max(values)) def choose_action(s):    if random.random() < EPS:        return random.randrange(4)    values = [ql(s, a) for a in range(4)]    return values.index(max(values)) def move(s, a):    ns = (s[0] + ACTIONS[a][0], s[1] + ACTIONS[a][1])    if not in_grid(ns):        ns = s    return ns def manhattan(a, b):    return abs(a[0] - b[0]) + abs(a[1] - b[1]) def run_episode():    s = START    total = 0.0    for _ in range(100):        gid = choose_goal(s)        goal = GOALS[gid]        for _ in range(PLAN_LEN):            a = choose_action(s)            ns = move(s, a)            r_ext, done = 0.0, False            if ns in GOALS:                r_ext = 1.0 if ns == GOALS[0] else -1.0                done = True            old_d = manhattan(s, goal)            new_d = manhattan(ns, goal)            r_int = 1.0 if new_d < old_d else -0.5            r_low = r_int + r_ext            targets = [ql(ns, a2) for a2 in range(4)]            Ql[(s, a)] = ql(s, a) + ALPHA * (r_low + GAMMA * max(targets) - ql(s, a))            if done:                Qh[(s, gid)] = qh(s, gid) + ALPHA * (r_ext - qh(s, gid))            s = ns            total += r_low            if done:                break        if done:            break    return total if __name__ == "__main__":    for ep in range(300):        score = run_episode()        if ep % 60 == 0:            print(ep, score)
目的:用两层 Q 学习实现一个简化分层 RL。高层选择子目标(四个角落之一),低层负责移动;低层用“接近子目标”作为稠密内在奖励,解决稀疏外部奖励问题。
  1. Qh = {}高层 Q 表:以「状态+子目标」为键,记录选择每个目标的长期价值。
  2. Ql = {}低层 Q 表:以「状态+动作」为键,记录每个原始动作的局部价值。
  3. def choose_goal(s):高层决策入口:用 epsilon 贪心在候选子目标中选择。
  4. r_int = 1.0 if new_d < old_d else -0.5低层每走一步都收到稠密的内在奖励,距离目标越近奖励越高。
  5. Ql[(s, a)] = ql(s, a) + ALPHA * (...)低层用 Q 学习更新动作价值,融合内在奖励与外部奖励。
  6. if done:` 下的 `Qh[(s, gid)] = ...只有子目标完成或失败,高层才更新,体现时间抽象与层级解耦。

常见误区

误区分层RL的核心是把奖励函数分成几小段,每层各拿一段,这样每层都能收到奖励,问题就解决了。

正解分层RL的核心是时间抽象和策略分解,不是奖励分段。即使把奖励切成多段,单层策略依然要管所有动作决策,探索效率不会提升。真正的分层让高层选择“期权/子目标”,让低层在这些子目标下执行动作,奖励只是辅助信号。

为何常见:看到“子目标”“内在奖励”等字眼,容易误以为分层只是把奖励工程化,忽略了策略结构变化。

误区既然高层更聪明,它就应该告诉低层每一步怎么走,否则低层学不会。

正解高层只提供子目标或方向向量,低层自行决定具体动作。若高层直接控制每个动作,分层就退化成了单层智能体,既丢掉了时间抽象,也失去了“不同层级讲不同语言”的优势。

为何常见:惯性思维认为“越上层越万能”,忽略了抽象层级需要信息压缩才能规模化。

误区一个 Option 的终止条件就是整个任务完成,比如“到达终点”或“通关”。

正解终止条件指该 Option 内部宏动作何时结束,比如“到达中转站”“时间超时”或“遇到障碍”。它只是交接点,不一定是全局终点。全局任务可能由多个期权依次完成。

为何常见:把“宏动作结束”等同于“任务结束”,混淆了局部抽象与全局目标。

误区既然两层比一层好,那么十层一定比两层好,层级越深越强大。

正解层级增加会引入更多非平稳性、误差累积和训练难度。实践中 2-3 层最常见,超过这个深度往往收益递减甚至崩溃。分层的关键是“合适地分解”,而不是“尽可能多地分层”。

为何常见:把复杂度当成能力,忽视了层间接口设计和训练稳定性成本。

误区只要用分层RL,任何任务都会比普通RL学得快,性能一定更好。

正解分层RL的优势集中在长期、稀疏奖励、时间尺度差异大的任务中。如果任务本身很短、奖励稠密,分层带来的额外接口设计和训练开销反而可能导致更慢、更难收敛。

为何常见:将“某个领域的成功”过度泛化,忽略了分层是一种匹配问题结构的方法,而不是万能加速器。

面试题

Q1. 分层强化学习最想解决的核心困难是?

单选题 · easy

  • A.稀疏奖励与长程目标难对齐← 正确答案
  • B.模型过拟合导致泛化变差
  • C.数据样本数量总是太少
  • D.网络层数无法继续加深

答案:A。长程任务中奖励稀疏,单层策略难以把“某一步动作”与“最终奖励”联系起来。分层把长程目标拆成子目标,就像总调度先分城市、再分街道,让稀疏奖励变得可学习。

Q2. Options 三元组 ⟨I, π, β⟩ 中的 β 代表什么?

单选题 · easy

  • A.内部策略的动作概率
  • B.期权可用的起始集合
  • C.期权结束的终止概率← 正确答案
  • D.环境状态的转移概率

答案:C。β(s) 表示在状态 s 时结束当前期权、把控制权交还给高层的概率,类似于分拣完成后把包裹交接给下一个环节。A 是 π,B 是 I,D 是环境模型。

Q3. SMDP 的 Q 更新公式中 γ^k 里的 k 表示什么?

单选题 · mid

  • A.本次期权执行的持续步数← 正确答案
  • B.状态空间的总维数大小
  • C.动作空间的候选数量
  • D.随机种子生成的次数规模

答案:A。期权会持续 k 步后才结束,因此总奖励要按 γ^k 打折。这体现“宏动作”的时间抽象:一次期权等于一批小步批量结算,而不是每步单独更新。

Q4. 以下哪些属于典型的分层强化学习框架?

多选题 · mid

  • A.Options框架← 正确答案
  • B.FeUdal网络← 正确答案
  • C.生成对抗网络
  • D.搜索引擎算法

答案:AB。Options 和 FeUdal Networks 都是分层强化学习的代表方法;生成对抗网络属于生成模型,搜索引擎算法属于信息检索,与分层决策无关。

Q5. 在 FeUdal 网络中,Manager 输出的核心内容是什么?

单选题 · mid

  • A.一个目标方向向量← 正确答案
  • B.每个关节的力矩
  • C.终止动作的概率值
  • D.环境的预测奖励值

答案:A。Manager 只给目标方向向量 g_t,Worker 自己决定如何执行动作。类似总部只说“先到南京”,而不替司机踩油门。B 是低层控制量,C 是 Options 的 β,D 是价值估计。

Q6. Worker 的内在奖励通常被设计为与什么相关?

单选题 · hard

  • A.与目标向量的一致性度量← 正确答案
  • B.与动作数值的绝对值大小
  • C.与环境奖励的平方差值
  • D.与模型参数的梯度范数

答案:A。低层的状态变化与高层目标方向越一致,内在奖励越高,这样低层即使收不到外部奖励也能自主探索。动作本身大小、环境奖励平方、参数梯度范数都不是 FuN 的设计思路。

Q7. 分层训练中的“非平稳性”可由哪些原因引起?

多选题 · hard

  • A.高层目标随时间切换← 正确答案
  • B.低层策略更新改变语义← 正确答案
  • C.折扣因子被设置为零
  • D.奖励值被除以常数

答案:AB。高层切换子目标会改变低层看到的任务分布;低层策略更新也会让同一状态动作的含义漂移,二者都造成非平稳。折扣因子和奖励缩放只是固定超参数,不产生层级间动态干扰。

Q8. 下列哪一项能有效缓解分层结构的非平稳性问题?

单选题 · mid

  • A.同步高频更新高低层
  • B.先固化低层再训练高层← 正确答案
  • C.取消内在奖励机制
  • D.把折扣因子调到极大值

答案:B。低层先学成稳定技能,高层再基于稳定技能学习目标,可以减少低层语义漂移。同步高频更新会互相干扰;取消内在奖励会丢失分层优势;调大折扣因子只是改变价值估计尺度。

Q9. 设计层间接口时,常用哪些方式表达子目标?

多选题 · hard

  • A.连续的目标向量← 正确答案
  • B.状态差分的方向← 正确答案
  • C.完全随机的噪声
  • D.图像像素的颜色

答案:AB。FuN 用连续目标向量和状态差分方向来给低层指引方向,Options 则用离散状态集合描述子目标。随机噪声没有语义,图像像素颜色也不是通用的目标表达方式。

Q10. 把 Options 当作宏动作的决策过程对应哪种数学模型?

单选题 · extreme

  • A.半马尔可夫决策过程← 正确答案
  • B.贝叶斯网络模型
  • C.马尔可夫随机场
  • D.隐马尔科夫链模型

答案:A。期权会持续多步并改变决策节奏,因此需要用半马尔可夫决策过程(SMDP)描述,折扣中就出现了 k。贝叶斯网络、马尔可夫随机场和隐马尔可夫模型都没有“动作持续多步”的时间抽象机制。