强化学习基础
MDP框架、Q-Learning、DQN、Policy Gradient算法原理与实现。
1. 马尔可夫决策过程(MDP)
1.1 MDP定义
MDP 是强化学习的数学框架,定义为五元组 :
| 要素 | 符号 | 说明 | | :------- | :----------------- | :----------------- | ------------ | | 状态空间 | | 所有可能状态的集合 | | 动作空间 | | 所有可能动作的集合 | | 转移概率 | | 状态转移概率 | | 奖励函数 | | 即时奖励 | | 折扣因子 | | 未来奖励的衰减系数 |
马尔可夫性质:
未来只依赖当前状态和动作,与历史无关。
1.2 值函数
状态值函数 :从状态 出发,遵循策略 的期望回报:
动作值函数 :从状态 执行动作 后,遵循策略 的期望回报:
1.3 Bellman方程
Bellman期望方程:
Bellman最优方程:
2. Q-Learning
2.1 算法原理
Q-Learning 是一种无模型的离策略算法,直接学习最优Q值函数:
2.2 探索与利用
ε-贪心策略:
- 从1.0逐渐衰减到0.01
- 保证探索的同时逐步转向利用
2.3 Q-Learning算法流程
初始化 Q(s,a) = 0 (所有s,a)
对于每轮episode:
初始化状态 s
重复:
用ε-贪心从Q选择动作 a
执行a,观察 r, s'
Q(s,a) ← Q(s,a) + α[r + γ max_a' Q(s',a') - Q(s,a)]
s ← s'
直到终止状态
3. DQN
3.1 深度Q网络
当状态空间过大或连续时,用神经网络近似Q函数:
3.2 关键技术
经验回放(Experience Replay):
1. 将交互经验 (s, a, r, s') 存入回放缓冲区
2. 训练时从缓冲区随机采样小批量
3. 打破样本间的时间相关性
目标网络(Target Network):
- 为在线网络参数(频繁更新)
- 为目标网络参数(定期从 复制)
- 避免目标值与当前值过度耦合
3.3 DQN变体
| 变体 | 改进 | 说明 |
|---|---|---|
| Double DQN | 解耦选择和评估 | 减少Q值过估计 |
| Dueling DQN | 分离状态值和优势函数 | 更好学习状态价值 |
| Prioritized Replay | 优先采样TD误差大的经验 | 加速学习 |
| Rainbow | 集成多种改进 | 综合最优 |
Double DQN:
Dueling DQN:
4. Policy Gradient
4.1 策略梯度定理
直接参数化策略 ,通过梯度上升最大化期望回报:
其中 为累积回报。
4.2 REINFORCE算法
初始化策略参数 θ
对于每轮episode:
用π_θ采样完整轨迹 (s_0, a_0, r_0, s_1, ...)
对于每个时间步 t:
计算回报 G_t = Σ γ^k r_{t+k}
θ ← θ + α ∇_θ log π_θ(a_t|s_t) · G_t
方差缩减:
- 基线: 代替 , 通常取
- 优势函数:
4.3 Actor-Critic
同时学习策略(Actor)和值函数(Critic):
| 组件 | 学习目标 | 输出 |
|---|---|---|
| Actor | 策略 | 动作概率 |
| Critic | 值函数 | 状态价值估计 |
优势估计:
GAE(Generalized Advantage Estimation):
其中 。
4.4 PPO
Proximal Policy Optimization 是目前最常用的策略梯度算法:
裁剪目标:
其中 为重要性采样比。
- 限制策略更新幅度,避免过大更新导致性能崩溃
- 实现简单,训练稳定
- 是 RLHF 中训练 LLM 的核心算法