第8章:强化学习与深度学习
策略梯度方法
1. 基本概念
策略梯度方法(Policy Gradient Methods)是一类直接优化策略函数的强化学习算法。与基于值函数的方法(如DQN)不同,策略梯度方法通过调整策略参数来最大化预期回报,适用于连续动作空间和随机策略场景。
2. 核心原理
- 策略参数化:使用神经网络表示策略函数 ,输出动作的概率分布。
- 目标函数:最大化累积奖励的期望 。
- 梯度上升:通过计算目标函数对参数 的梯度 来更新策略。
梯度公式推导
策略梯度定理给出梯度的无偏估计:
其中 是状态-动作值函数。
3. 经典算法
REINFORCE(蒙特卡洛策略梯度)
- 通过完整轨迹的蒙特卡洛采样估计梯度。
- 更新公式:
其中 是从时刻 开始的累积折扣奖励。
Actor-Critic 方法
- 结合策略梯度(Actor)和值函数近似(Critic):
- Actor:更新策略参数 。
- Critic:估计 或优势函数 以减少方差。
- 优势函数常用形式:
4. 改进与变体
- PPO(近端策略优化):通过裁剪策略更新步长避免剧烈波动。
- A3C(异步优势Actor-Critic):多线程并行采样提升训练效率。
- SAC(柔性Actor-Critic):引入熵正则化鼓励探索。
5. 实现示例(伪代码)
初始化策略网络参数 θ 和Critic网络参数 φ
for episode in range(max_episodes):
采样轨迹 {(s_t, a_t, r_t)} ~ π_θ
计算优势估计 A_t = ∑_{k=t}^T (γ^{k-t} r_k) - V_φ(s_t)
更新Critic:φ ← φ - α_critic ∇_φ (A_t)^2
更新Actor:θ ← θ + α_actor ∇_θ log π_θ(a_t|s_t) · A_t
6. 应用场景
- 机器人控制:如机械臂抓取、双足行走。
- 游戏AI:训练智能体在复杂环境中长期规划(如《Dota 2》)。
- 金融交易:优化连续动作空间的交易策略。
7. 挑战与解决方案
| 挑战 | 解决方案 |
|---|---|
| 高方差 | 使用基线(Baseline)或Critic |
| 样本效率低 | 并行采样(A3C)或经验回放 |
| 局部最优 | 熵正则化(SAC) |
延伸阅读
- 原始论文:《Policy Gradient Methods for Reinforcement Learning with Function Approximation》(Sutton et al., 2000)
- 代码实践:OpenAI Spinning Up 中的 PPO实现
