当前位置: 首页 > news >正文

【一】零基础--分层强化学习概览

分层强化学习(Hierarchical Reinforcement Learning, HRL)最早一般视为1993封建强化学习的提出.

一、HL的基础理论

1.1 MDP

MDP(马尔可夫决策过程):MDP是一种用于建模序列决策问题的框架,包含状态(state)、动作(action)、转移概率(transition probability)、奖励(reward)等要素。它假设系统在每个时间步的状态转移是马尔可夫的,即当前状态和动作决定了下一个状态的概率分布。MDP的时间步是固定的,每次状态转移都发生在相同的时间间隔内.

1.主要理论
  • 马尔可夫决策过程(MDP):强化学习的核心数学模型,包括状态、动作、奖励和转移概率。
  • 贝尔曼方程:用于计算价值函数和最优策略的递推关系。
  • 折扣因子与回报:通过折扣因子对未来的奖励进行折现,以计算长期回报。
  • 策略与价值函数:策略定义了在每个状态下选择动作的方式,价值函数评估状态或动作的价值。
  • 最优性与贝尔曼最优性方程:用于确定最优策略和最优价值函数
2. 算法分类

在这里插入图片描述

1.2 SMDP

SMDP(半马尔可夫决策过程):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+γτamaxQ(s,a)Q(s,a))

其中,α 是学习率

3. 分层架构

SMDP在分层强化学习中常用于建模高层策略和低层策略的不同时间尺度:

  • 高层策略:负责选择长期目标或子任务,这些目标可能需要多个时间步来完成

  • 低层策略:在较短的时间步内执行具体动作,以实现高层策略设定的目标

1.3 MDP和SMDP的异同

特性MDPSMDP
时间步时间步是固定的,每次状态转移的时间间隔相同时间步是可变的,每个动作的持续时间是一个随机变量
状态转移转移概率仅依赖于当前状态和动作转移概率不仅依赖于当前状态和动作,还与动作的持续时间有关
适用场景适用于固定时间步的决策问题,如机器人每秒更新状态适用于动作持续时间不固定的复杂任务,如无人机在目标区域盘旋
复杂度相对简单,适合短时间跨度的任务更复杂,适合长时间跨度或多步策略的任务
分层结构通常不涉及分层常用于分层强化学习,高层策略选择长期目标,低层策略执行具体动作

二、HRL

分层强化学习 的核心是通过层次化分解复杂任务,以提高学习效率和策略泛化能力。

层次结构:分层强化学习中通常存在多个层次,每个层次负责不同粒度的决策。高层次负责抽象和长期规划,而低层次负责具体操作和短期执行。

可提供的参考资料:

  1. 《一文看尽系列:分层强化学习(HRL)经典论文全面总结》 ,腾讯云文章

  2. 《分层强化学习(Hierarchical RL)》 ,华为云

  3. 【Hierarchical RL】不允许你不了解分层强化学习(总结篇) ,腾讯云

2.1 Options框架

  • 定义:将动作序列抽象为“选项”(Option),每个选项包含三个部分:初始状态集(Initiation Set)、内部策略(Policy)和终止条件(Termination Condition)。上层策略通过调用选项解决半马尔可夫决策过程(semi-MDP)(SMDP)

  • 优势:缩短时间步长,解决长序列任务的稀疏奖励问题。例如,导航任务中“移动到某区域”可视为一个选项.

  • 细节: 将行动策略视为可选项(option),每个选项由三个部分组成:

    • 初始集(Initiation Set):定义在哪些状态下可以选择该选项。
    • 政策(Policy):定义在选项被激活期间如何进行行动选择。
    • 终止条件(Termination Condition):定义何时结束该选项。
  • 理论支持:由于选项可能会持续不定长时间,因此分层强化学习常用SMDP来建模,这种模型允许动作(即选项)具有可变长度的持续时间。


选项(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_ω sIω 时,才能用于状态 s。

一个选项框架由两层结构组成:底层的每个元素是一个选项,而顶层则是一个选项策略,用来在片段开始或上个选项终结时候选择一个选项。选项策略从环境给出的奖励信息学习,而选项可通过明确的子目标来学习。
在这里插入图片描述

2.2 经典算法:Option-Critic Architecture

参考资料:

  1. 《2 分层强化学习】Option-Critic》 ,知乎
  2. B站视频《Option-Critic框架学习记录》
  3. 论文《The Option-Critic Architecture》
  4. 分层强化学习博客园,含案例,合集似乎很牛逼啊

选项-批判者结构(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区域内的状态

四、分层强化学习(HRL)算法设计

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(gt1+Δ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=rext0.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=rint0.1×Icollision
其中, λ 1 = 0.7 , λ 2 = 0.3 \lambda_1=0.7,\lambda_2=0.3 λ1=0.7,λ2=0.3为权重系数。

4.3 网络结构

相关文章:

  • Android音视频流媒体基础总结
  • nacos-作为注册中心与springcloud整合(三)
  • 【项目实训#09】智能代码文件助手模式前后端设计与实现
  • 安装laravel11和laravel12的一些报错问题解决
  • Typecho安装后后台 404 报错解决
  • Redis集群模式之Redis Cluster(2)
  • PHP+mysql雪里开轻量级报修系统 V1.0Beta
  • 端到端记忆网络 vs 神经图灵机:外部记忆的两种哲学之争
  • PHP、Apache环境中部署sqli-labs
  • 创客匠人解析:美团护城河战略对 IP 可持续变现的启示
  • 查看哪些IP在向kafka的broker生产消息
  • SLAM文献之-LOAM: Lidar Odometry and Mapping in Real-time
  • 2025-06-14【视觉】视频转化为图集
  • 2.4.1 ASPICE的编码与单元测试
  • 新能源汽车电子架构革命:深度解析AUTOSAR标准与实践
  • leetcode_49 字母异位分组
  • 写出优秀的 Git 提交信息:一份详尽指南(Angular 风格)
  • 板凳-------Mysql cookbook学习 (十--6)
  • 1 Studying《Arm A715 Software Optimization Guide》
  • Vue 事件修饰符详解
  • 长沙做网站工作室/无锡网站优化公司
  • 网站建设黄页软件/seo网站优化服务合同
  • wordpress网站流量统计/在哪里可以免费自学seo课程
  • 教育网站建设策划书/网站关键词优化
  • 网站留言板html模板/百度指数排行榜
  • 网站主页设计布局/微信推广方式有哪些