分层强化学习(Hierarchical Reinforcement Learning, )最早一般视为1993 年封建强化学习的提出.
一、HL的基础理论
1.1 MDP
MDP(马尔可夫决策过程):MDP是一种用于建模序列决策问题的框架,包含状态(state)、动作(action)、转移概率(transition probability)、奖励(reward)等要素。它假设系统在每个时间步的状态转移是马尔可夫的,即当前状态和动作决定了下一个状态的概率分布。MDP的时间步是固定的,每次状态转移都发生在相同的时间间隔内.
1.主要理论
- 马尔可夫决策过程(MDP):强化学习的核心数学模型,包括状态、动作、奖励和转移概率。
- 贝尔曼方程:用于计算价值函数和最优策略的递推关系。
- 折扣因子与回报:通过折扣因子对未来的奖励进行折现,以计算长期回报。
- 策略与价值函数:策略定义了在每个状态下选择动作的方式,价值函数评估状态或动作的价值。
- 最优性与贝尔曼最优性方程:用于确定最优策略和最优价值函数
2. 算法分类

1.2
(半马尔可夫决策过程):SMDP是MDP的扩展,用于处理动作持续时间不固定的情况。在SMDP中,每个动作的执行时间(称为停留时间)是一个随机变量,状态在这段时间内保持不变。SMDP的状态转移不仅取决于当前状态和动作,还与动作的持续时间有关.
1. 定义
SMDP可以定义为一个五元组 (S,A,P,T,R):
- S:状态集合。
- A:动作集合。
- P:状态转移概率,表示从状态 s 执行动作 a 转移到状态 s′ 的概率。
- T:动作的停留时间分布,表示动作持续的时间步数。
- R:奖励函数,表示在状态 s 执行动作 a 获得的即时奖励
2. 关键公式
- 期望回报:SMDP的目标是在不同时间间隔的任务中最大化长期期望回报。其回报函数包括时间间隔的折扣:
R = ∑ t = 0 ∞ γ τ t r t R=\sum_{t=0}^{∞} \gamma^{\tau_t}r_t R=t=0∑∞γτtrt
γ \gamma γ 是折扣因子, τ t \tau_t τt 是动作持续的时间间隔
- Bellman方程:SMDP的值函数可以通过Bellman方程扩展为半马尔可夫形式。在给定策略 π 下,状态 s 的值函数表示为:
V π ( s ) = E π [ r ( s , a ) + γ τ V π ( s ′ ) ] V^{\pi}(s) =\mathbb{E}_{\pi}[r(s,a)+\gamma^{\tau}V^{\pi}(s')] Vπ(s)=Eπ[r(s,a)+γτVπ(s′)]
其中, r ( s , a ) r(s,a) r(s,a) 是在状态 s 执行动作 a 的即时奖励, τ \tau τ 是动作持续时间,s′ 是转移后的状态
- Q-learning扩展:SMDP中的Q-learning算法类似于标准的Q-learning,但需要考虑时间间隔的影响。其Q值更新公式为:
Q ( s , a ) ← Q ( s , a ) + α ( r + γ τ max a ′ Q ( s ′ , a ′ ) − Q ( s , a ) ) Q(s,a) \leftarrow Q(s,a)+\alpha(r+\gamma^{\tau} \max_{a'} Q(s',a')-Q(s,a)) Q(s,a)←Q(s,a)+α(r+γτa′maxQ(s′,a′)−Q(s,a))
其中,α 是学习率
3. 分层架构
SMDP在分层强化学习中常用于建模高层策略和低层策略的不同时间尺度:
-
高层策略:负责选择长期目标或子任务,这些目标可能需要多个时间步来完成
-
低层策略:在较短的时间步内执行具体动作,以实现高层策略设定的目标
1.3 MDP和SMDP的异同
特性 | MDP | |
---|---|---|
时间步 | 时间步是固定的,每次状态转移的时间间隔相同 | 时间步是可变的,每个动作的持续时间是一个随机变量 |
状态转移 | 转移概率仅依赖于当前状态和动作 | 转移概率不仅依赖于当前状态和动作,还与动作的持续时间有关 |
适用场景 | 适用于固定时间步的决策问题,如机器人每秒更新状态 | 适用于动作持续时间不固定的复杂任务,如无人机在目标区域盘旋 |
复杂度 | 相对简单,适合短时间跨度的任务 | 更复杂,适合长时间跨度或多步策略的任务 |
分层结构 | 通常不涉及分层 | 常用于分层强化学习,高层策略选择长期目标,低层策略执行具体动作 |
二、
分层强化学习 的核心是通过层次化分解复杂任务,以提高学习效率和策略泛化能力。
层次结构:分层强化学习中通常存在多个层次,每个层次负责不同粒度的决策。高层次负责抽象和长期规划,而低层次负责具体操作和短期执行。
可提供的参考资料:
-
《一文看尽系列:分层强化学习()经典论文全面总结》 ,腾讯云文章
2.1 Options框架
-
定义:将动作序列抽象为"选项"(Option),每个选项包含三个部分:初始状态集(Initiation Set)、内部策略(Policy)和终止条件(Termination Condition)。上层策略通过调用选项解决半马尔可夫决策过程(semi-MDP)()。
-
优势:缩短时间步长,解决长序列任务的稀疏奖励问题。例如,导航任务中"移动到某区域"可视为一个选项.
-
细节: 将行动策略视为可选项(option),每个选项由三个部分组成:
- 初始集(Initiation Set):定义在哪些状态下可以选择该选项。
- 政策(Policy):定义在选项被激活期间如何进行行动选择。
- 终止条件(Termination Condition):定义何时结束该选项。
-
理论支持:由于选项可能会持续不定长时间,因此分层强化学习常用来建模,这种模型允许动作(即选项)具有可变长度的持续时间。
选项(Options),也被称为技能 或者 宏操作,是一种具有终止条件的子策略。它观察环境并输出动作,直到满足终止条件为止。终止条件是一类时序上的隐式分割点,来表示相应的子策略已经完成了自己的工作,且顶层的选项策略(Policy-Over-Action)需要切换至另一个选项。
给定一个状态集为 S、动作集为 A 的 MDP,选项 ω ∈ Ω ω ∈ Ω ω∈Ω被定义为三元组 ( I ω , π ω , β ω ) (I_ω , π_ω , β_ω ) (Iω,πω,βω),其中 I ω ⊆ S I_ω ⊆ S Iω⊆S 为一组初始状态集 , π ω : S × A → [ 0 , 1 ] π_ω : S × A → [0, 1] πω:S×A→[0,1] 是一个选项内置策略 ,而 β ω : S → [ 0 , 1 ] β_ω : S → [0, 1] βω:S→[0,1] 是一个通过伯努利分布提供随机终止条件的终止函数 。一个选项 ω ω ω只有在 s ∈ I ω s ∈ I_ω s∈Iω 时,才能用于状态 s。
一个选项框架由两层结构组成:底层的每个元素是一个选项 ,而顶层则是一个选项策略 ,用来在片段开始或上个选项终结时候选择一个选项。选项策略从环境给出的奖励信息学习,而选项可通过明确的子目标来学习。
2.2 经典算法:Option-Critic Architecture
参考资料:
- 《2 分层强化学习】Option-Critic》 ,知乎
- B站视频《Option-Critic框架学习记录》
- 论文《The Option-Critic Architecture》
- 分层强化学习博客园,含案例,合集似乎很牛逼啊
选项-批判者结构(Option-Critic Architecture)(Bacon et al., 2017) 将策略梯度定理扩展至选项,它提供一种端到端 的对选项 和选项策略 的联合学习。它直接优化了折扣化回报 。我们考虑 选项-价值函数(1),状态-选项对 (s, ω) 后执行某个动作的价值(2), 进入一个状态 s′ 时,执行 ω 的价值(3)
用于学习选项的随机梯度下降算法的结构如图 10.3 所示,其中梯度由定理 10.1 和定理 10.2给出,
图的解析:
- π Ω \pi_{\Omega} πΩ 表示最顶层的策略,确定选择哪个option
- π ω \pi_{\omega} πω 内置函数, β ω \beta_{\omega} βω终止函数(停止当前的option选项)
critic结构中的参数+上面3个参数都是需要学习的~- 在option-critic 结构中,对于 s t s_t st由 π Ω \pi_{\Omega} πΩ选定option,由critic对其评估。当选定一个option,由其输出动作at. at与Environment交互,一方面返回即时奖励rt和下一状态 s t + 1 s_{t+1} st+1
- critic通过gradients指导option内的( π ω \pi_{\omega} πω和 β ω \beta_{\omega} βω)的更新。

2.3 Feudal Reinforcement Learning(封建强化学习)
封建制网络(Feudal Networks,FuNs)是一个完全可微模块化的 FRL 神经网络,它有两个模块:管理者和工作者。管理者在一个潜在状态空间中更低的时间分辨率上设定目标,而工作者则学习如何通过内在奖励达到目标.
- 结构:模仿封建等级制度,上层智能体(Manager)设定子目标,下层智能体(Worker)执行具体动作。特征是"奖赏隐藏"和"信息隐层",即下层仅关注局部状态.
2.4 MAXQ值函数分解
《Hierarchical Reinforcement Learning with the MAXQ Value Function Decomposition》
方法:将任务分解为子任务三元组(动作、终止状态、专属奖励函数),通过递归分解实现层次化策略。例如,导航任务可分解为"避开障碍"和"寻找奖励"子任务
2.5 HAM(分层抽象机)
HAM 全程 Hierarchical of abstraction machine
- 机制:通过状态转换机简化MDP,分为行为状态(执行动作)、调用状态(启动子任务)、选择状态(选择子任务)和停止状态
2.6 现代扩展方法
- HIRO:通过离线策略修正解决层次间非平稳性问题
- FuN(封建网络) :自动发现子目标,结合LSTM处理长期依赖
HRL与gridworld实践
三、GridWorld环境设计
3.1 地图生成规则
- 网格结构:采用10x10网格,水平和垂直墙壁随机生成,保证地图连通性(任意两点存在可达路径)
- 障碍物生成:使用泊松圆盘采样算法 生成非均匀分布的障碍物,确保障碍物之间最小间距为2格,避免死胡同
- 奖励机制:设置3个奖励点(+5、+3、+1),分布在障碍物稀疏区域,且不与起点重叠
- 动态要素:每局游戏随机初始化起点位置,若智能体进入奖励点后,该点奖励重置为0,防止重复刷分
- 参考地图,来源于文献
3.2 状态与动作空间
- 状态表示:包含坐标(x,y)、周围8格障碍物掩码(0/1)、最近奖励点方向向量( Δ x , Δ y \Delta x,\Delta y Δx,Δy)。
- 动作空间:基础动作为{上,下,左,右},引入30%概率的动作噪声(如执行"上"可能实际向左偏移)。
- 观测限制:部分可观测设定,智能体仅能感知周围5x5区域内的状态
四、分层强化学习()算法设计
4.1 分层架构设计
层级 | 输入 | 输出 | 更新频率 | 算法选择 |
---|---|---|---|---|
Manager | 全局地图特征(Flatten后) | 子目标坐标 ( g x , g y ) (g_x,g_y) (gx,gy) | 每10步 | PPO (Actor-Critic) |
Worker | 局部观测+子目标相对坐标 | 基础动作 | 每步 | DQN (Dueling Network) |
核心机制:
- 子目标修正:Manager通过 g t = c l i p ( g t − 1 + Δ g , 0 , 9 ) g_t = clip(g_{t-1} + Δg, 0, 9) gt=clip(gt−1+Δg,0,9)动态调整子目标,避免突变。
- 内在奖励:Worker获得与子目标距离成反比的奖励 ,加速子任务完成
- 动态层次:当Worker连续5次未完成子目标时,Manager强制生成新子目标,防止局部震荡
4.2 奖励函数分解
- 全局奖励: R g l o b a l = ∑ r e x t − 0.01 × t ( 到达奖励点 + 时间惩罚 ) R_{global} =\sum r_{ext} -0.01 \times t(到达奖励点+时间惩罚) Rglobal=∑rext−0.01×t(到达奖励点+时间惩罚)
- 分层奖励:
R M a n a g e r = λ 1 R g l o b a l + λ 2 I g o a l r e a c h e d R_{Manager} =\lambda_1 R_{global}+\lambda_2 \mathbb{I}{goal_reached} RManager=λ1Rglobal+λ2Igoalreached
R W o r k e r = r i n t − 0.1 × I c o l l i s i o n R{Worker}=r_{int}-0.1 \times \mathbb{I}_{collision} RWorker=rint−0.1×Icollision
其中, λ 1 = 0.7 , λ 2 = 0.3 \lambda_1=0.7,\lambda_2=0.3 λ1=0.7,λ2=0.3为权重系数。
4.3 网络结构
*[SMDP]: 半马尔可夫决策过程
*[HRL]: 分层强化学习(Hierarchical Reinforcement Learning