分层强化学习
动机
标准的平坦(flat)RL方法在面对以下挑战时表现不佳:
- 长时间跨度:需要数百步才能完成的任务
- 稀疏奖励:长期没有反馈信号
- 组合复杂性:动作空间的指数爆炸
- 迁移与复用:不同任务间的技能共享
分层强化学习(Hierarchical RL, HRL)通过在不同时间尺度上进行决策来解决这些问题。
Options框架
定义
Sutton, Precup & Singh (1999) 提出的Options框架是HRL的理论基础。一个Option \(\omega\) 由三元组定义:
- \(I_\omega \subseteq \mathcal{S}\):启动集合(Initiation Set)——Option可以被启动的状态集合
- \(\pi_\omega: \mathcal{S} \times \mathcal{A} \to [0, 1]\):内部策略(Intra-option Policy)——Option执行期间的行为策略
- \(\beta_\omega: \mathcal{S} \to [0, 1]\):终止条件(Termination Condition)——在每个状态终止Option的概率
半马尔可夫决策过程(SMDP)
Options将决策过程从MDP扩展为SMDP:
- 每个Option可能持续多个时间步
- 高层策略在Option终止时选择下一个Option
- 自然地实现了时间抽象
Option-Value函数
在Options框架下,价值函数定义为:
其中Option内部的更新使用内部策略 \(\pi_\omega\)。
Option-Critic架构
Bacon et al. (2017) 提出了端到端学习Options的方法:
- 同时学习内部策略 \(\pi_\omega\) 和终止条件 \(\beta_\omega\)
- 使用策略梯度方法进行优化
- 终止条件的梯度:
当Option的价值高于平均价值时,终止概率降低。
MAXQ值分解
核心思想
Dietterich (2000) 提出将价值函数分解为子任务价值的层次结构:
- \(V^\pi_a(s)\):执行子任务 \(a\) 的期望回报
- \(C^\pi(s, a)\):完成子任务 \(a\) 后继续执行策略 \(\pi\) 的期望回报(完成函数)
层次分解
Root Task
├── Sub-task 1
│ ├── Primitive action a₁
│ └── Primitive action a₂
├── Sub-task 2
│ ├── Sub-sub-task 2.1
│ │ ├── Primitive action a₃
│ │ └── Primitive action a₄
│ └── Primitive action a₅
└── Sub-task 3
└── Primitive action a₆
优势:允许子任务独立学习和复用。
Feudal Networks
Feudal RL
Dayan & Hinton (1993) 的原始想法,Vezhnevets et al. (2017) 提出了FeUdal Networks (FuN):
Manager(管理者):
- 在低频率下运行
- 设置子目标方向 \(g_t\)
- 观察较长时间尺度的状态变化
Worker(执行者):
- 在高频率下运行
- 接收Manager设置的子目标
- 执行原始动作以实现子目标
Manager的目标设置:
Manager产生的目标是在学到的目标空间中的方向向量。
Worker的内在奖励:
Worker因沿着Manager指定方向移动而获得奖励。
目标条件强化学习
Universal Value Function
Schaul et al. (2015) 提出通用价值函数,将目标作为额外输入:
策略也以目标为条件:
这使得单个网络可以处理多个目标。
Hindsight Experience Replay (HER)
Andrychowicz et al. (2017) 提出的里程碑式方法,解决目标条件RL中的稀疏奖励问题:
核心思想:失败的轨迹也包含有用信息——虽然没到达目标 \(g\),但到达了其他状态,可以把这些状态作为"假想目标"。
算法:
- 采样轨迹 \(\tau = (s_0, a_0, s_1, \ldots, s_T)\),原始目标 \(g\)
- 对于轨迹中的每个转移 \((s_t, a_t, s_{t+1})\):
- 存储原始经验 \((s_t, a_t, r_t, s_{t+1}, g)\)
- 选择替代目标 \(g' = s_T\)(或其他策略选择的状态)
- 重新计算奖励 \(r' = R(s_t, a_t, g')\)
- 存储"事后"经验 \((s_t, a_t, r', s_{t+1}, g')\)
效果:将稀疏奖励转化为密集反馈,极大加速了目标条件RL的学习。
HIRO(Hierarchical RL with Off-policy Correction)
Nachum et al. (2018) 的两层分层方法:
高层策略:每 \(c\) 步选择子目标 \(g_t \in \mathcal{S}\)
低层策略:以当前状态和子目标为输入,输出动作
低层奖励(内在):
离策略修正:为高层重标注子目标,使离策略数据可用:
HAC(Hierarchical Actor-Critic)
Levy et al. (2019) 将HER扩展到多层分层结构:
- 支持任意层数的层级
- 每层都使用HER进行训练
- 高层的动作空间是低层的目标空间
分层架构总览
graph TD
A[分层RL方法] --> B[时间抽象]
A --> C[目标条件]
A --> D[技能发现]
B --> B1[Options框架]
B --> B2[Option-Critic]
B --> B3[MAXQ]
C --> C1[Universal Value Function]
C --> C2[HER]
C --> C3[HIRO]
C --> C4[HAC]
D --> D1[Feudal Networks]
D --> D2[DIAYN]
D --> D3[信息论方法]
B1 --> E[半MDP<br/>SMDP]
C2 --> F[稀疏奖励<br/>解决方案]
style A fill:#f9f,stroke:#333
style C fill:#bbf,stroke:#333
style F fill:#bfb,stroke:#333
技能发现
无监督技能学习
自动发现有用的行为原语,无需人工定义子任务:
DIAYN (Diversity is All You Need):
最大化状态与技能编码之间的互信息,同时最小化动作对技能的依赖(鼓励通过状态而非动作来区分技能)。
技能组合
将发现的技能组合成复杂行为:
- 顺序组合:依次执行多个技能
- 并行组合:同时激活多个技能
- 条件组合:根据状态选择技能
实践建议
| 场景 | 推荐方法 |
|---|---|
| 已知子任务结构 | Options / MAXQ |
| 稀疏目标达成 | HER + DDPG/SAC |
| 多层子目标 | HAC |
| 连续控制+子目标 | HIRO |
| 自动技能发现 | DIAYN / Option-Critic |
参考文献
- Sutton, Precup & Singh, "Between MDPs and Semi-MDPs" (Artificial Intelligence 1999)
- Dietterich, "Hierarchical Reinforcement Learning with the MAXQ Value Function Decomposition" (JAIR 2000)
- Andrychowicz et al., "Hindsight Experience Replay" (NeurIPS 2017)
- Vezhnevets et al., "FeUdal Networks for Hierarchical Reinforcement Learning" (ICML 2017)
- Nachum et al., "Data-Efficient Hierarchical Reinforcement Learning" (NeurIPS 2018)
- Levy et al., "Learning Multi-Level Hierarchies with Hindsight" (ICLR 2019)
- Bacon et al., "The Option-Critic Architecture" (AAAI 2017)
- Eysenbach et al., "Diversity is All You Need" (ICLR 2019)