深度强化学习中的分层强化学习(Hierarchical Reinforcement Learning)原理与方法
字数 1524 2025-11-28 09:27:43
深度强化学习中的分层强化学习(Hierarchical Reinforcement Learning)原理与方法
描述
分层强化学习(HRL)是一种通过引入层次结构来分解复杂任务的方法。传统强化学习智能体需要从头学习每个动作,而HRL将任务分解为子任务或子策略,高层策略选择要执行的子任务,底层策略执行具体动作。这种方法能显著提高学习效率、促进技能复用,并解决稀疏奖励问题。
1. 问题背景与动机
- 传统RL的局限性:在复杂任务中,智能体面临动作空间大、奖励稀疏、信用分配困难等问题
- 人类解决问题的启示:人类自然会将复杂任务分解为子任务(如"做饭"分解为"洗菜→切菜→炒菜")
- HRL的核心思想:通过时间抽象(temporal abstraction)实现分层决策
2. 基本概念与术语
- 选项(Options):三元组〈I, π, β〉
- I:初始状态集(Initiation Set)
- π:内部策略(Policy)
- β:终止条件(Termination Condition)
- 半马尔可夫决策过程(SMDP):传统MDP的扩展,动作可以持续多个时间步
- 层次结构:通常包含Meta-Controller(高层)和Sub-Controllers(底层)
3. 经典方法:Option-Critic架构
步骤1:选项定义
- 每个选项对应一个子策略,如"移动到门"、"拿起物体"
- 选项在满足终止条件前持续执行,形成时间上的抽象
步骤2:层次化值函数
- 定义选项值函数Q_Ω(s,ω):在状态s选择选项ω的期望回报
- 定义终止值函数U_Ω(s,ω):选项ω在状态s终止时的期望回报
步骤3:策略更新
- 高层策略更新:基于选项值函数Q_Ω(s,ω)
- 底层策略更新:基于内部奖励和终止梯度
- 终止函数更新:通过梯度上升优化终止时机
4. 现代方法:HIRO(Hierarchical Reinforcement Learning with Off-Policy Correction)
步骤1:两层结构设计
- 高层策略:每c步给出一个目标(如目标位置)
- 底层策略:学习在c步内实现高层指定的目标
步骤2:离策略校正
- 问题:高层策略更新时,底层策略已变化,导致经验回放中的数据过时
- 解决方案:对旧经验中的目标进行重新标注,使其与当前底层策略兼容
步骤3:目标重标定
- 对于存储的过渡数据(s_t, g_t, s_{t+c}),计算新目标g'_t
- 使得新目标在当前底层策略下能产生相似的状态转移
5. 最前沿方法:HAC(Hierarchical Actor-Critic)
步骤1:多层层次结构
- 包含L层策略,第l层策略每k^l步执行一次
- 底层策略直接与环境交互,高层策略输出子目标
步骤2:目标重放机制
- 除标准经验回放外,增加目标重放缓冲区
- 在目标重放中,智能体学习如何实现子目标,而不考虑原始任务奖励
步骤3:子目标测试
- 高层策略提出的子目标必须能被底层策略实现
- 通过底层Q函数判断子目标是否可达,不可达时调整子目标
6. 实现细节与挑战
层次间训练协调
- 时间尺度差异:高层策略更新频率低于底层
- 奖励设计:高层使用环境奖励,底层使用基于目标的伪奖励
终止条件学习
- 过早终止导致策略碎片化
- 过晚终止降低层次结构的效率优势
探索策略
- 高层探索选项空间,底层探索动作空间
- 需要设计协调的探索机制避免局部最优
7. 实际应用示例
以机器人导航任务为例:
- 高层策略:选择"去厨房"或"去卧室"选项
- 中层策略:实现"避开障碍物"、"开门"等子目标
- 底层策略:控制电机执行具体动作
通过这种分层结构,智能体可以复用"开门"等基本技能,显著提高学习效率。