MDP 是强化学习的数学框架,定义为五元组 (S,A,P,R,γ):
| 要素 | 符号 | 说明 |
| :------- | :----------------- | :----------------- | ------------ |
| 状态空间 | S | 所有可能状态的集合 |
| 动作空间 | A | 所有可能动作的集合 |
| 转移概率 | P(s′∣s,a) | 状态转移概率 |
| 奖励函数 | R(s,a,s′) | 即时奖励 |
| 折扣因子 | γ∈[0,1) | 未来奖励的衰减系数 |
马尔可夫性质:
P(st+1∣st,at,st−1,at−1,…)=P(st+1∣st,at)
未来只依赖当前状态和动作,与历史无关。
状态值函数 Vπ(s):从状态 s 出发,遵循策略 π 的期望回报:
Vπ(s)=Eπ[∑t=0∞γtrts0=s]
动作值函数 Qπ(s,a):从状态 s 执行动作 a 后,遵循策略 π 的期望回报:
Qπ(s,a)=Eπ[∑t=0∞γtrts0=s,a0=a]
Bellman期望方程:
Vπ(s)=∑aπ(a∣s)∑s′P(s′∣s,a)[R(s,a,s′)+γVπ(s′)]
Qπ(s,a)=∑s′P(s′∣s,a)[R(s,a,s′)+γ∑a′π(a′∣s′)Qπ(s′,a′)]
Bellman最优方程:
V∗(s)=maxa∑s′P(s′∣s,a)[R(s,a,s′)+γV∗(s′)]
Q∗(s,a)=∑s′P(s′∣s,a)[R(s,a,s′)+γmaxa′Q∗(s′,a′)]
Q-Learning 是一种无模型的离策略算法,直接学习最优Q值函数:
Q(st,at)←Q(st,at)+α[rt+γmaxa′Q(st+1,a′)−Q(st,at)]
ε-贪心策略:
at={random actionargmaxaQ(st,a)with probability ϵwith probability 1−ϵ
- ϵ 从1.0逐渐衰减到0.01
- 保证探索的同时逐步转向利用
初始化 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'
直到终止状态
当状态空间过大或连续时,用神经网络近似Q函数:
Q(s,a;θ)≈Q∗(s,a)
经验回放(Experience Replay):
1. 将交互经验 (s, a, r, s') 存入回放缓冲区
2. 训练时从缓冲区随机采样小批量
3. 打破样本间的时间相关性
目标网络(Target Network):
L(θ)=E[(r+γmaxa′Q(s′,a′;θ−)−Q(s,a;θ))2]
- θ 为在线网络参数(频繁更新)
- θ− 为目标网络参数(定期从 θ 复制)
- 避免目标值与当前值过度耦合
| 变体 | 改进 | 说明 |
|---|
| Double DQN | 解耦选择和评估 | 减少Q值过估计 |
| Dueling DQN | 分离状态值和优势函数 | 更好学习状态价值 |
| Prioritized Replay | 优先采样TD误差大的经验 | 加速学习 |
| Rainbow | 集成多种改进 | 综合最优 |
Double DQN:
y=r+γQ(s′,argmaxa′Q(s′,a′;θ);θ−)
Dueling DQN:
Q(s,a;θ)=V(s;θV)+A(s,a;θA)−∣A∣1∑a′A(s,a′;θA)
直接参数化策略 πθ(a∣s),通过梯度上升最大化期望回报:
∇θJ(θ)=Eπθ[∇θlogπθ(a∣s)⋅Gt]
其中 Gt=∑k=0∞γkrt+k 为累积回报。
初始化策略参数 θ
对于每轮episode:
用π_θ采样完整轨迹 (s_0, a_0, r_0, s_1, ...)
对于每个时间步 t:
计算回报 G_t = Σ γ^k r_{t+k}
θ ← θ + α ∇_θ log π_θ(a_t|s_t) · G_t
方差缩减:
- 基线:Gt−b(st) 代替 Gt,b(st) 通常取 V(st)
- 优势函数:A(st,at)=Q(st,at)−V(st)
同时学习策略(Actor)和值函数(Critic):
∇θJ(θ)≈∇θlogπθ(at∣st)⋅A(st,at)
| 组件 | 学习目标 | 输出 |
|---|
| Actor | 策略 πθ | 动作概率 |
| Critic | 值函数 Vϕ | 状态价值估计 |
优势估计:
A(st,at)=rt+γV(st+1)−V(st)
GAE(Generalized Advantage Estimation):
A^tGAE=∑l=0∞(γλ)lδt+l
其中 δt=rt+γV(st+1)−V(st)。
Proximal Policy Optimization 是目前最常用的策略梯度算法:
裁剪目标:
LCLIP(θ)=E[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]
其中 rt(θ)=πθold(at∣st)πθ(at∣st) 为重要性采样比。
- 限制策略更新幅度,避免过大更新导致性能崩溃
- 实现简单,训练稳定
- 是 RLHF 中训练 LLM 的核心算法