深度强化学习中的分层强化学习(Hierarchical Reinforcement Learning, HRL)框架与Option-Critic算法原理
题目描述
在深度强化学习(DRL)中,智能体通常需要解决复杂的长期任务,这些任务包含多个子目标或子任务。传统的DRL算法(如DQN或PPO)在应对此类问题时面临挑战,因为它们依赖于扁平化的动作空间,难以高效地学习跨多个时间步的抽象策略。分层强化学习(HRL)通过引入层次化策略结构来解决这一问题,将任务分解为高级策略(选择子目标或选项)和低级策略(执行具体动作)。其中,Option-Critic算法是一种基于策略梯度的HRL方法,它无需预先定义子目标,而是通过端到端训练同时学习选项(options)和策略。本题目将详细讲解HRL的核心框架、Option-Critic的数学原理及其训练过程。
解题过程
-
HRL的基本概念与动机
- 问题背景:在复杂环境中(如机器人导航或游戏通关),智能体需完成一系列关联动作(如“走到门边→开门→穿过房间”)。扁平化策略需学习大量状态-动作映射,导致样本效率低和信用分配困难(难以判断哪个动作对最终奖励贡献最大)。
- 核心思想:HRL引入时间抽象(temporal abstraction),将策略分为两层:
- 高级策略(high-level policy):每隔若干步选择一个选项(option),选项代表一个可重复使用的子策略(如“移动至某位置”)。
- 低级策略(low-level policy):每个选项对应一个低级策略,负责执行原始动作(如“前进、左转”)。
- 关键术语:
- 选项(option):定义为三元组 \(\langle \mathcal{I}, \pi, \beta \rangle\),其中 \(\mathcal{I}\) 是选项的初始状态集,\(\pi\) 是低级策略,\(\beta\) 是终止函数(决定选项何时结束)。
- 时间尺度分离:高级策略的更新频率低于低级策略(例如,高级策略每10步选一个选项,低级策略每步执行一个动作)。
-
Option-Critic算法的数学框架
- 目标函数:HRL的目标是最大化累积期望奖励 \(\mathbb{E} \left[ \sum_{t=0}^T \gamma^t r_t \right]\),其中选项的持续时间可能跨越多步。
- 策略参数化:
- 高级策略 \(\pi_{\Omega}(o | s)\):基于状态 \(s\) 选择选项 \(o\)(例如通过Softmax输出选项概率)。
- 每个选项 \(o\) 的低级策略 \(\pi_{a}(a | s, o)\):基于状态 \(s\) 和选项 \(o\) 选择动作 \(a\)。
- 终止函数 \(\beta_{o}(s)\):表示在状态 \(s\) 下选项 \(o\) 终止的概率。
- 值函数定义:
- 选项值函数 \(Q_{\Omega}(s, o)\):在状态 \(s\) 选择选项 \(o\) 的期望累积奖励。
- 状态-选项值函数更新(类似Bellman方程):
\[ Q_{\Omega}(s, o) = \mathbb{E} \left[ r(s, a) + \gamma \left( (1 - \beta_{o}(s')) Q_{\Omega}(s', o) + \beta_{o}(s') \max_{o'} Q_{\Omega}(s', o') \right) \right] \]
其中 $s'$ 是下一状态,等式右侧第一项表示选项继续时的值,第二项表示选项终止后高级策略选择新选项的值。
- 策略梯度推导与训练过程
- 高级策略梯度:直接优化高级策略 \(\pi_{\Omega}\) 的参数 \(\theta\),梯度公式为:
\[ \nabla_{\theta} J(\theta) = \mathbb{E} \left[ \nabla_{\theta} \log \pi_{\Omega}(o | s) \cdot Q_{\Omega}(s, o) \right] \]
通过采样轨迹计算梯度,使用基线(如值函数)减少方差。
- 低级策略梯度:优化选项的低级策略 \(\pi_{a}\) 的参数 \(\phi\),梯度公式为:
\[ \nabla_{\phi} J(\phi) = \mathbb{E} \left[ \sum_{t=0}^{T_o} \nabla_{\phi} \log \pi_{a}(a_t | s_t, o) \cdot \left( \sum_{k=t}^{T_o} \gamma^{k-t} r_k - b(s_t) \right) \right] \]
其中 $T_o$ 是选项的持续时间,$b(s_t)$ 是基线函数(如状态值函数)。
- 终止函数梯度:优化终止函数 \(\beta_{o}\) 的参数 \(\psi\),梯度公式为:
\[ \nabla_{\psi} J(\psi) = \mathbb{E} \left[ \nabla_{\psi} \beta_{o}(s') \cdot \left( Q_{\Omega}(s', o) - V_{\Omega}(s') \right) \right] \]
其中 $V_{\Omega}(s') = \sum_{o'} \pi_{\Omega}(o'|s') Q_{\Omega}(s', o')$ 是状态值函数。梯度符号决定是否提前终止:若当前选项值低于状态值,则鼓励终止(避免低效选项)。
- 实现细节与挑战
- 端到端训练:Option-Critic无需预设选项的意义,所有参数通过环境交互共同学习。实践中,需设定选项数量(超参数),并初始化策略网络。
- 挑战与改进:
- 选项退化:可能学得冗余选项(如多个选项对应相同动作)。解决方法是引入多样性奖励或信息论正则化。
- 训练不稳定:因层次结构导致梯度方差大。可采用分层经验回放或目标网络稳定训练。
- 示例:在网格世界环境中,智能体可能自动学到选项“移动到钥匙”和“移动到门”,并通过高级策略组合它们完成开门任务。
通过以上步骤,Option-Critic实现了分层策略的自动学习,显著提升了复杂任务的样本效率和策略可解释性。