强化学习中的规划(Planning) 与 学习(Learning) 是两类互补的核心技术,分别对应“利用环境模型”和“通过交互经验改进策略”两种范式。规划依赖对环境的显式建模(如状态转移概率和奖励函数),通过模拟推演优化策略;而学习则直接从经验数据中更新值函数或策略。两者结合可显著提升样本效率与策略性能。本文将解析规划与学习的核心方法、数学形式及融合框架。
1. 规划与学习的定义与对比
-
规划(Planning):
基于环境模型(Model),通过模拟生成状态-动作序列,计算最优策略。典型方法包括动态规划(DP)和蒙特卡洛树搜索(MCTS)。
数学形式:
给定模型 M = ( P ( s ′ ∣ s , a ) , R ( s , a ) ) M = (P(s'|s,a), R(s,a)) M=(P(s′∣s,a),R(s,a)),规划的目标是找到策略 π ∗ \pi^* π∗最大化期望累积奖励:
π ∗ = arg max π E [ ∑ t = 0 ∞ γ t R ( s t , a t ) ] \pi^* = \arg\max_\pi \mathbb{E}\left[\sum_{t=0}^\infty \gamma^t R(s_t, a_t)\right] π∗=argπmaxE[t=0∑∞γtR(st,at)] -
学习(Learning):
无模型(Model-Free),通过与真实环境交互的样本数据,直接优化值函数或策略。代表算法包括Q-learning、策略梯度(PG)。
数学形式:
通过经验数据 ( s t , a t , r t , s t + 1 ) (s_t, a_t, r_t, s_{t+1}) (st,at,rt,st+1)更新Q值(以Q-learning为例):
Q ( s t , a t ) ← Q ( s t , a t ) + α [ r t + γ max a ′ Q ( s t + 1 , a ′ ) − Q ( s t , a t ) ] Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha \left[ r_t + \gamma \max_{a'} Q(s_{t+1}, a') - Q(s_t, a_t) \right] Q(st,at)←Q(st,at)+α[rt+γa′maxQ(st+1,a′)−Q(st,at)]
核心区别:
- 规划需要环境模型,计算开销高但样本效率高;
- 学习无需模型,适应性强但依赖大量交互数据。
2. 经典规划方法
2.1 动态规划(Dynamic Programming)
动态规划假设已知完整环境模型,通过迭代求解贝尔曼方程实现策略优化。
-
策略迭代(Policy Iteration):
交替进行策略评估(计算当前策略的值函数 V π V^\pi Vπ)与策略改进(贪心更新策略):
策略评估:
V k + 1 ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ P ( s ′ ∣ s , a ) [ R ( s , a ) + γ V k ( s ′ ) ] V^{k+1}(s) = \sum_a \pi(a|s) \sum_{s'} P(s'|s,a) \left[ R(s,a) + \gamma V^k(s') \right] Vk+1(s)=a∑π(a∣s)s′∑P(s′∣s,a)[R(s,a)+γVk(s′)]
策略改进:
π ′ ( s ) = arg max a ∑ s ′ P ( s ′ ∣ s , a ) [ R ( s , a ) + γ V π ( s ′ ) ] \pi'(s) = \arg\max_a \sum_{s'} P(s'|s,a) \left[ R(s,a) + \gamma V^\pi(s') \right] π′(s)=argamaxs′∑P(s′∣s,a)[R(s,a)+γVπ(s′)] -
值迭代(Value Iteration):
直接迭代更新最优值函数,直至收敛:
V k + 1 ( s ) = max a ∑ s ′ P ( s ′ ∣ s , a ) [ R ( s , a ) + γ V k ( s ′ ) ] V^{k+1}(s) = \max_a \sum_{s'} P(s'|s,a) \left[ R(s,a) + \gamma V^k(s') \right] Vk+1(s)=amaxs′∑P(s′∣s,a)[R(s,a)+γVk(s′)]
2.2 蒙特卡洛树搜索(MCTS)
MCTS通过模拟生成状态轨迹,结合探索与利用构建搜索树,广泛应用于游戏AI(如AlphaGo)。
核心步骤:
- 选择(Selection):从根节点出发,基于UCB准则选择子节点;
- 扩展(Expansion):若节点未完全展开,添加新子节点;
- 模拟(Simulation):从新节点随机采样至终止状态;
- 回溯(Backpropagation):沿路径更新节点统计量(访问次数、平均奖励)。
3. 无模型学习方法
3.1 Q-learning
通过时序差分(TD)更新Q值,收敛至最优动作价值函数
Q
∗
Q^*
Q∗:
Q
(
s
,
a
)
←
Q
(
s
,
a
)
+
α
[
r
+
γ
max
a
′
Q
(
s
′
,
a
′
)
−
Q
(
s
,
a
)
]
Q(s,a) \leftarrow Q(s,a) + \alpha \left[ r + \gamma \max_{a'} Q(s',a') - Q(s,a) \right]
Q(s,a)←Q(s,a)+α[r+γa′maxQ(s′,a′)−Q(s,a)]
3.2 策略梯度(Policy Gradient)
直接优化参数化策略
π
θ
(
a
∣
s
)
\pi_\theta(a|s)
πθ(a∣s),沿梯度方向最大化期望回报:
∇
θ
J
(
θ
)
=
E
[
∑
t
=
0
T
∇
θ
log
π
θ
(
a
t
∣
s
t
)
⋅
Q
π
(
s
t
,
a
t
)
]
\nabla_\theta J(\theta) = \mathbb{E}\left[ \sum_{t=0}^T \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot Q^\pi(s_t,a_t) \right]
∇θJ(θ)=E[t=0∑T∇θlogπθ(at∣st)⋅Qπ(st,at)]
4. 规划与学习的融合框架
4.1 Dyna-Q
Dyna-Q将规划与学习结合,交替进行真实环境交互和模型模拟:
- 学习阶段:从真实经验更新Q值;
- 规划阶段:从模型采样虚拟经验,多次更新Q值。
算法流程:
for 每次交互:
执行Q-learning更新
更新模型$M \leftarrow (s,a,r,s')$
for k次规划步骤:
从M采样(s,a,r,s')
执行Q-learning更新
4.2 AlphaZero
AlphaZero融合MCTS与深度强化学习,通过神经网络指导规划:
- 神经网络:输入状态 s s s,输出策略 π ( a ∣ s ) \pi(a|s) π(a∣s)和值估计 V ( s ) V(s) V(s);
- MCTS过程:使用神经网络预测引导搜索,生成改进的策略分布;
- 训练目标:最小化策略与MCTS输出的KL散度,同时拟合值函数:
L = ( z − V ( s ) ) 2 − π MCTS T log π ( a ∣ s ) + c ∥ θ ∥ 2 \mathcal{L} = (z - V(s))^2 - \pi_{\text{MCTS}}^T \log \pi(a|s) + c \|\theta\|^2 L=(z−V(s))2−πMCTSTlogπ(a∣s)+c∥θ∥2
5. 核心挑战与前沿方向
-
模型误差传递:不准确的环境模型会导致规划失效。
解决方案:贝叶斯模型集成、模型预测控制(MPC)实时修正。 -
高维状态空间:传统规划方法难以处理图像输入。
解决方案:深度生成模型(如VAE、GAN)压缩状态表示。 -
实时性要求:规划耗时可能限制实时决策。
解决方案:分层规划(Hierarchical Planning)、轻量级模型蒸馏。 -
多任务泛化:单一模型需适应多种任务。
解决方案:元学习(Meta-RL)结合模型自适应。
6. 总结
规划与学习是强化学习的“双引擎”:规划利用模型实现高效策略搜索,学习通过交互适应未知环境。两者融合(如Dyna-Q、AlphaZero)兼具样本效率与策略最优性,成为游戏AI、自动驾驶等复杂场景的核心技术。未来,随着深度模型与规划算法的进一步结合,强化学习有望在更广泛的任务中实现人类水平的决策能力。