此笔记记录学习书本王树森,张志华,《深度强化学习(初稿》的学习与总结笔记,其中部分内容由AI生成。
Q学习产生高估(overestimation)的原因,主要源于其最大值操作(max operator)在引入噪声时的偏差。这种现象通常称为 最大值偏差(maximization bias)。
原理解释
在 Q-learning 中,我们使用以下目标来更新 Q 值:
[ Q(s, a) Q(s, a) + ]
其中:
- (_{a'} Q(s', a')):从下一个状态中选择估计值最大的动作作为更新目标。
⚠️ 问题在于:
如果 Q 值本身带有估计误差(例如由于采样、函数逼近、探索策略等),
那么取最大值操作会偏向选择被高估的值,从而使得目标值系统性偏高。
举个例子(简化)
假设在状态 (s') 下,我们有三个动作,真实 Q 值如下:
动作 (a') | 真正的 Q 值 | 网络估计值(含误差) |
---|---|---|
(a_1) | 1.0 | 1.1(+0.1) |
(a_2) | 0.8 | 1.0(+0.2) |
(a_3) | 0.6 | 0.9(+0.3) |
- 虽然 (a_1) 是最优动作(真实 Q 值最大),
- 但由于随机估计误差,(Q(s', a') = 1.1),这个值偏高了。
这会导致我们在训练时错误地使用偏高的目标值去更新当前状态的 Q 值,从而 累计越来越大的高估偏差。
高估有什么危害?
- 策略不稳定:错误地偏向那些“看起来收益高”但其实不是的动作;
- 训练发散:目标 Q 值越来越不准确,导致训练无法收敛;
- 性能下降:测试表现可能远低于理论最优策略。
如何缓解高估?
- Double Q-Learning:
- 采用两个 Q 网络,分别用于选择和评估动作。
- 更新目标变为: [ Q(s, a) r + Q_2(s', _{a'} Q_1(s', a')) ]
- 显著降低高估。
- Averaged DQN / Ensemble 方法:
- 使用多个 Q 网络求平均,减少单个网络带来的噪声偏差。
- Regularization / Uncertainty penalty:
- 对 Q 值添加不确定性惩罚,抑制过高的估计。
行为策略和目标策略的区别
例1:Q-learning(离策略)
- 行为策略:ε-greedy(偶尔探索)
- 目标策略:贪婪策略(永远选最大Q值)
这是典型的 离策略学习(off-policy) —— 用一种策略去收集数据,用另一种策略去学习。
例2:SARSA(在策略)
- 行为策略:ε-greedy
- 目标策略:同样是ε-greedy
这是 在策略学习(on-policy) —— 你用什么策略学习,就用它去探索和更新。
行为策略 ≠ 目标策略:
- 你可以用 更大胆、更多样的行为策略 去探索,避免陷入局部最优
- 然后用行为数据,训练一个 更保守、更稳定的目标策略
这就是 DDPG、TD3、DQN 等算法的本质思路。
“双延时确定策略梯度”(Twin Delayed Deep Deterministic Policy Gradient,TD3)解决强化学习中 自举 + 最大化引起的 Q 值高估问题 |
我们分三步来讲清楚:
🔥 1. 问题背景:自举 + 最大化 导致的高估偏差
在像 DDPG、Q-learning 这类算法中,我们更新 Q 值时用的是这个形式:
[ y = r + _{a'} Q(s', a') ]
但注意!
- ( Q(s', a') ) 是网络的估计值
- “最大化”这个估计值(选最大 Q)会放大噪声和误差!
🔍
这就像你考试估分,题做错了但还选“我觉得我做得最好的那题”,会高估总分
→ 随着训练进行,Q值越估越高,结果策略学得不靠谱!
🧠 2. TD3 怎么解决这个高估问题?
TD3 提出了三个关键改进,其中双Q网络是最核心的👇
✅ 【方法一】双Q网络(Twin Q-networks)
用两个独立的 Q 网络: ( Q_1(s, a) )、( Q_2(s, a) )
更新 TD目标时,不再用 max,而是:
[ y = r + (Q_1(s', a'), Q_2(s', a')) ]
✅ 取较小值,就能抵消高估误差(保守估计)
✅
这不是自举去最大,而是自举去最小,避免因误差叠加而爆炸
✅ 【方法二】延迟策略更新(Delayed Policy Update)
- 策略网络(Actor)更新得更慢,例如每 2~3 次 Critic 更新后才更新一次
- 因为 Critic(Q函数)学得更稳定时,再去学策略,效果更稳
✅ 【方法三】目标动作加噪声(Target Policy Smoothing)
- 为了防止 Q 网络过于依赖某一个精确动作值
- 在 TD目标里加入一个小的随机噪声:
[ a' = _{}(s') + ,((0, ), -c, c) ]
✅ 这样做可以使目标 Q 更平滑,缓解尖峰高估