3. 单智能体强化学习回顾
多智能体强化学习(MARL)的CTDE(Centralized Training with Decentralized Execution)框架,本质上是在单智能体强化学习算法基础上的扩展与重构。要理解CTDE中“集中训练”与“分散执行”的设计逻辑,必须先扎实掌握单智能体强化学习的核心算法族:基于价值的Q学习、基于策略的策略梯度方法,以及融合两者优势的Actor-Critic架构。这些算法不仅是MARL的基石,更决定了CTDE框架中评论家(Critic)如何利用全局信息、行动者(Actor)如何仅依赖局部观测做出决策。本节将系统回顾这些关键算法,剖析其原理、流程与工程实践中的常见误区,为后续学习CTDE框架下的多智能体协作打下坚实基础。
上图展示了单智能体强化学习中三大算法族的内在关系。智能体与环境持续交互,产生状态、动作、奖励的转移序列。策略梯度方法直接对策略进行参数化更新,Q学习则通过逼近最优动作价值函数间接得到策略,而Actor-Critic架构将两者结合,用Critic网络估计价值以指导Actor网络的策略更新。经验回放作为DQN的重要组件,打破了样本间的时间相关性,显著提升了训练稳定性。理解这些算法各自的优缺点,是掌握CTDE框架下多智能体算法设计的前提。
3.1 策略梯度方法:直接优化策略
核心原理
策略梯度方法的核心思想是直接对策略函数 πθ(a|s) 进行参数化,并通过梯度上升最大化期望累积奖励 J(θ) = Eτ~πθ[Σt γt rt]。其梯度估计的核心公式为:
∇J(θ) = E[ ∇θ log πθ(a|s) · Qπ(s,a) ]
其中 Qπ(s,a) 表示在策略 π 下从状态 s 采取动作 a 的期望回报。该公式的直观解释是:如果某个动作带来的回报高于平均水平,就增加该动作被选中的概率;反之则降低。策略梯度方法天然适合连续动作空间,因为不需要对动作空间进行离散化处理。
判断方法与操作流程
在实际应用中,选择策略梯度方法通常基于以下判断标准:
- 动作空间性质:若动作是连续的(如机器人关节力矩、自动驾驶转向角),策略梯度是首选。
- 策略随机性需求:需要显式建模随机策略时(如博弈对抗中的混合策略),策略梯度更自然。
- 稳定性要求:策略梯度方法虽然收敛性有保证,但方差较大,需要配合基线(Baseline)或优势函数使用。
标准的REINFORCE算法流程如下:
- 初始化策略参数 θ。
- 循环:使用当前策略 πθ 采样完整轨迹 τ = (s0, a0, r1, ..., sT-1, aT-1, rT)。
- 计算每个时间步的累积折扣回报 Gt = Σk=t+1T γk-t-1 rk。
- 更新策略参数:θ ← θ + α · Σt ∇θ log πθ(at|st) · Gt。
案例拆解:CartPole平衡控制
以经典的CartPole环境为例,智能体需要决定向左或向右施加力以保持杆子直立。使用REINFORCE算法时,我们注意到以下关键点:
- 初始现象:随机策略下,杆子通常在几秒内倒下,奖励稀疏且延迟。
- 关键参数:折扣因子 γ=0.99,学习率 α=0.01,每回合最大步数500。
- 分析过程:由于REINFORCE使用完整轨迹的回报,方差极大。第一次更新后,策略可能剧烈震荡,甚至比随机策略更差。
- 改进措施:引入基线 b(s) = V(s)(状态价值函数),将 Gt 替换为优势估计 At = Gt - V(st),方差显著降低。
- 结果对比:加入基线后,训练收敛速度提升约3倍,最终策略能稳定保持杆子直立超过500步。
3.2 Q学习与DQN:基于价值的决策
核心原理
Q学习是一种基于价值(Value-based)的离策略(Off-policy)算法,其目标是学习最优动作价值函数 Q*(s,a),然后通过贪心策略 π(s) = argmaxa Q*(s,a) 选择动作。Q学习的更新公式为:
Q(s,a) ← Q(s,a) + α [ r + γ · max_a' Q(s',a') - Q(s,a) ]
其中 α 是学习率,γ 是折扣因子。当状态空间和动作空间较大时,使用深度神经网络逼近 Q 函数,即深度Q网络(DQN)。DQN引入了两个关键机制:经验回放和目标网络,以解决样本相关性和训练不稳定的问题。
经验回放机制详解
经验回放(Experience Replay)是DQN的核心创新之一。它将智能体与环境交互产生的转移样本 (s, a, r, s') 存入一个固定大小的回放缓冲区 D 中。训练时,从 D 中随机均匀采样一个小批量样本进行更新。这样做的好处是:
- 打破样本相关性:连续交互的样本高度相关,直接用于梯度更新会导致模型偏向近期经验。随机采样打乱了时间顺序,使样本独立同分布。
- 提高数据利用率:每个样本可以被多次使用,尤其在样本采集成本高的真实环境中(如机器人控制)尤为重要。
- 平滑训练过程:从缓冲区中采样减少了参数更新的方差,使训练更加稳定。
案例拆解:Atari游戏中的DQN
以Atari 2600游戏《Breakout》为例,DQN的输入是原始像素帧(84×84×4),输出是18个离散动作的Q值。训练过程中的关键数据如下:
| 超参数 | 值 | 说明 |
|---|---|---|
| 回放缓冲区大小 | 1,000,000 | 存储最近100万帧经验 |
| 批量大小 | 32 | 每次采样32条经验更新 |
| 目标网络更新频率 | 10,000步 | 每1万步将Q网络参数复制到目标网络 |
| 初始探索率 ε | 1.0 | 前100万步线性衰减至0.1 |
训练初期,智能体随机探索,得分很低。随着经验回放缓冲区中积累足够多样化的样本,Q网络开始学习到“击碎砖块”的策略。值得注意的是,目标网络的存在避免了“自举”导致的发散问题——如果使用同一个网络计算目标值和预测值,每次更新都会使目标值移动,导致训练不稳定。
3.3 Actor-Critic架构:策略与价值的融合
核心原理
Actor-Critic(AC)方法结合了策略梯度与价值学习的优势。其中,Actor(行动者)是一个策略网络 πθ(a|s),负责生成动作;Critic(评论家)是一个价值网络 Vφ(s) 或 Qφ(s,a),负责评估当前策略的好坏。Critic的输出作为基线或优势函数,指导Actor的更新方向。优势函数定义为:
A(s,a) = Q(s,a) - V(s)
优势函数衡量了在状态 s 下采取动作 a 相对于平均水平的优劣。若 A > 0,则增加该动作的概率;若 A < 0,则降低。实际中,常用TD误差 δ = r + γV(s') - V(s) 作为优势函数的无偏估计,避免了额外估计Q网络。
A2C/A3C与CTDE的关联
A2C(Advantage Actor-Critic)是AC架构的同步版本,A3C(Asynchronous Advantage Actor-Critic)是其异步版本。A3C通过多个并行环境中的智能体异步更新共享参数,打破了样本相关性,同时提高了训练效率。这一思想与CTDE框架有异曲同工之妙:CTDE中的“集中训练”类似于多个智能体共享一个全局Critic,而“分散执行”则类似于每个智能体独立使用自己的Actor网络进行决策。
在CTDE框架中,Critic可以获取所有智能体的观测和动作(全局信息),而Actor仅依赖局部观测。这种设计使得Critic能够更准确地评估联合动作的价值,从而为每个智能体提供更精确的优势信号,缓解了非平稳性问题。
案例拆解:连续控制任务中的A2C
以 Gym的“Pendulum-v1”为例,目标是让钟摆保持直立。动作是连续力矩值,范围[-2, 2]。使用A2C算法时:
- 网络结构:Actor输出高斯分布的均值 μ 和标准差 σ,Critic输出状态价值 V(s)。
- 训练过程:每个时间步计算TD误差 δt = rt + γV(st+1) - V(st),Actor的损失为 -log π(at|st) · δt,Critic的损失为 δt2。
- 关键指标:训练500个回合后,平均回报从-1500提升至-200左右,策略能够稳定地将钟摆保持在直立位置附近。
- 风险与代价:A2C对超参数敏感,尤其是Actor和Critic的学习率比例。若Critic学习过快,可能导致Actor更新方向错误;若过慢,则优势估计不准确。
3.4 关键算法对比与选型指南
| 算法 | 类型 | 动作空间 | 方差 | 样本效率 | CTDE适配性 |
|---|---|---|---|---|---|
| REINFORCE | 策略梯度 | 连续/离散 | 高 | 低 | 不直接适用 |
| DQN | 价值学习 | 离散 | 低 | 中 | 可扩展为独立Q学习 |
| A2C/A3C | AC架构 | 连续/离散 | 中 | 中高 | 直接适配(CTDE核心) |
| PPO | 策略梯度 | 连续/离散 | 低 | 高 | 可适配(需集中Critic) |
| SAC | 最大熵AC | 连续 | 低 | 高 | 可适配(需处理熵项) |
选型建议:若任务为离散动作且状态空间可穷举,优先考虑DQN及其变体;若任务为连续控制且需要高样本效率,SAC或PPO是更优选择;若需要直接迁移到CTDE框架,A2C/A3C提供了最自然的设计范式。经验回放机制在DQN中至关重要,但在AC架构中并非必需——A3C通过异步并行替代了经验回放的功能。
综上所述,单智能体强化学习的三大算法族各有优劣。策略梯度方法直接且灵活,但方差大;Q学习稳定且样本利用率高,但受限于离散动作;Actor-Critic架构取长补短,成为现代深度强化学习的主流范式。经验回放作为DQN的加速器,在CTDE框架中需要重新审视其适用性。掌握这些基础算法的原理、流程与工程细节,是深入理解多智能体CTDE框架的必经之路。