深度强化学习中的分层强化学习(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. 实际应用示例
以机器人导航任务为例:

  • 高层策略:选择"去厨房"或"去卧室"选项
  • 中层策略:实现"避开障碍物"、"开门"等子目标
  • 底层策略:控制电机执行具体动作

通过这种分层结构,智能体可以复用"开门"等基本技能,显著提高学习效率。

深度强化学习中的分层强化学习(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. 实际应用示例 以机器人导航任务为例: 高层策略:选择"去厨房"或"去卧室"选项 中层策略:实现"避开障碍物"、"开门"等子目标 底层策略:控制电机执行具体动作 通过这种分层结构,智能体可以复用"开门"等基本技能,显著提高学习效率。