Reward Centering(一)
- 文章概括
- 摘要
- 1 奖励中心化理论
文章概括
引用:
@article{naik2024reward,title={Reward Centering},author={Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal={arXiv preprint arXiv:2405.09999},year={2024}
}
Naik, A., Wan, Y., Tomar, M. and Sutton, R.S., 2024. Reward Centering. arXiv preprint arXiv:2405.09999.
原文: https://arxiv.org/abs/2405.09999
代码、数据和视频:
系列文章:
请在 《 《 《文章 》 》 》 专栏中查找
摘要
我们证明,在解决持续强化学习问题时,折扣方法如果通过减去奖励的经验均值来对奖励进行中心化处理,其性能会显著提升。在常用的折扣因子下,这种改进是显著的,并且随着折扣因子趋近于1,改进幅度进一步增加。此外,我们证明,如果一个问题的奖励被加上一个常数偏移量,则标准方法的表现会变得更差,而采用奖励中心化的方法则不受影响。在on-policy设置下,估计平均奖励是直接的;对于off-policy设置,我们提出了一种稍微更复杂的方法。奖励中心化是一个通用的概念,因此我们预计几乎所有的强化学习算法都能从奖励中心化的加入中受益。
强化学习是一种基于计算的方法,用于从交互中学习,其中学习智能体的目标是获得尽可能多的奖励(Sutton & Barto, 2018)。在许多感兴趣的问题中,智能体与环境之间的交互流是持续的,无法自然地划分为不相交的子序列或情节。在持续性问题中,智能体会经历无穷多个奖励,因此评估其性能的一种可行方法是衡量每步获得的平均奖励,即奖励率,并且立即奖励和延迟奖励被赋予相等的权重。折扣奖励形式提供了另一种解释无限奖励总和的方法,即通过折扣因子减少延迟奖励的权重,从而偏向于立即奖励。这两种问题形式通常是分别研究的,每种都有其对应的一套求解方法或算法。
在本文中,我们表明,当使用常见的折扣方法(如actor-critic方法(Barto et al., 1983)或Q-learning(Watkins & Dayan, 1992))时,对观察到的奖励进行平均奖励估计并将其减去的简单策略可以显著提高性能(如图1所示)。这一理论可以追溯到1962年,Blackwell关于离散马尔可夫决策过程(MDPs)中动态规划的奠基性研究。我们仍在逐步认识其更深远的影响,特别是以下两个方面:
图1:学习曲线展示了在不同折扣因子下,Q-learning在有无奖励中心化情况下在访问控制排队问题(Sutton & Barto, 1998)中的性能差异。绘制的曲线表示智能体在50次运行中,每步获得的平均奖励随交互时间步数的变化情况。阴影区域表示一个标准误差。详见第4节。
-
对奖励进行均值中心化会从价值估计中移除一个与状态无关的常数(该常数与 1 − γ 1-\gamma 1−γ成反比,其中 γ \gamma γ表示折扣因子),从而使价值函数逼近器能够专注于状态和动作之间的相对差异。因此,对于折扣因子接近于1的情况,价值的估计会变得相对容易(例如,不会导致性能下降;见图1)。
-
此外,对奖励进行均值中心化(并不令人意外地)使标准方法对奖励中的任意常数偏移具有鲁棒性。这在强化学习应用中可能非常有用,尤其是在奖励信号未知或不断变化的情况下。
1. 均值中心化奖励移除状态无关的常数,从而提升价值估计的稳定性
(1) 理论推导 强化学习中的价值函数定义为: V π ( s ) = E π [ ∑ t = 0 ∞ γ t r t ∣ s 0 = s ] V^\pi(s) = \mathbb{E}^\pi \left[ \sum_{t=0}^{\infty} \gamma^t r_t \mid s_0 = s \right] Vπ(s)=Eπ[t=0∑∞γtrt∣s0=s] 其中:
- r t r_t rt 是奖励,
- γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1] 是折扣因子,
- π \pi π 是策略。
假设我们对奖励 r t r_t rt 进行均值中心化,即减去奖励的期望: r t ′ = r t − c r_t' = r_t - c rt′=rt−c 其中 c c c 是奖励的均值(一个常数)。
我们计算新奖励下的价值函数: V ′ π ( s ) = E π [ ∑ t = 0 ∞ γ t ( r t − c ) ∣ s 0 = s ] V'^\pi(s) = \mathbb{E}^\pi \left[ \sum_{t=0}^{\infty} \gamma^t (r_t - c) \mid s_0 = s \right] V′π(s)=Eπ[t=0∑∞γt(rt−c)∣s0=s] = E π [ ∑ t = 0 ∞ γ t r t ∣ s 0 = s ] − E π [ ∑ t = 0 ∞ γ t c ∣ s 0 = s ] = \mathbb{E}^\pi \left[ \sum_{t=0}^{\infty} \gamma^t r_t \mid s_0 = s \right] - \mathbb{E}^\pi \left[ \sum_{t=0}^{\infty} \gamma^t c \mid s_0 = s \right] =Eπ[t=0∑∞γtrt∣s0=s]−Eπ[t=0∑∞γtc∣s0=s] = V π ( s ) − c ∑ t = 0 ∞ γ t = V^\pi(s) - c \sum_{t=0}^{\infty} \gamma^t =Vπ(s)−ct=0∑∞γt = V π ( s ) − c 1 − γ = V^\pi(s) - \frac{c}{1 - \gamma} =Vπ(s)−1−γc
可以看到,均值中心化后的价值函数 V ′ π ( s ) V'^\pi(s) V′π(s) 相当于原来的 V π ( s ) V^\pi(s) Vπ(s) 减去一个常数项 c 1 − γ \frac{c}{1 - \gamma} 1−γc,该项不依赖于状态 s s s,即它不会影响不同状态的价值相对大小关系。
(2) 影响分析 这个结论表明:
- 价值估计器仅需学习状态之间的相对差异,而不用关注状态无关的全局偏移量,这可以减少学习难度,提高稳定性。
- 当 γ \gamma γ 接近 1 时, c 1 − γ \frac{c}{1 - \gamma} 1−γc 变得非常大,意味着去除这个偏移后,神经网络或函数逼近器更容易收敛到正确的相对值,而不会受到大数值影响。
(3) 具体例子 假设我们训练一个强化学习智能体来玩一个游戏:
- 在原始奖励定义下,智能体在每个时间步获得 r t r_t rt(比如 +1 表示胜利,-1 表示失败)。
- 但如果所有奖励都加上一个常数偏移(如 + 100 +100 +100),即 r t = r t + 100 r_t = r_t + 100 rt=rt+100,则价值函数也会变大,特别是当 γ \gamma γ 接近 1 时,累积值会变得极大。
如果我们对奖励进行均值中心化,即去掉奖励的均值(比如减去
c = 100 c=100 c=100),就可以避免数值过大的问题,让价值估计更稳定,且不会改变策略学习的方向。(4) 关键点总结
- 均值中心化移除了 c 1 − γ \frac{c}{1-\gamma} 1−γc,不会改变状态之间的相对价值排序。
- 折扣因子 γ \gamma γ 越大,这个偏移项越大,因此均值中心化的效果越显著。
- 更稳定的学习:去除状态无关的常数项可以让价值函数的学习更加平滑,提高逼近能力。
提问: 如果在一开始不加偏移,不就不用均值中心化了嘛?
回答: 这个问题的核心在于奖励的偏移是否是已知且可控的。如果你一开始设计奖励时完全不加偏移,理论上确实不需要均值中心化,但在实际强化学习应用中,奖励偏移往往是不可控的,甚至是动态变化的,这就是为什么均值中心化仍然有重要作用。在强化学习中,奖励偏移的来源可能有以下几种:(1) 任务设定导致的偏移
- 在某些任务中,奖励的基准不是 0。例如,机器人行走任务中,常见的奖励信号是:
- 向前走一步 + 1 +1 +1,
- 停滞 0 0 0,
- 摔倒 − 10 -10 −10。
- 但在另一个相似任务中,奖励可能是:
- 向前走一步 + 101 +101 +101,
- 停滞 + 100 +100 +100,
- 摔倒 + 90 +90 +90。
如果你不对奖励进行均值中心化,这两个任务的 Q 值尺度会有显著不同,使得学习难以泛化。
(2) 环境动态变化
- 现实世界中的奖励信号经常变化,例如:
- 机器人操作任务的传感器误差可能导致奖励测量的不稳定。
- 自主驾驶中的交通情况变化可能导致奖励期望不同。
- 金融交易中的市场波动可能导致回报的均值变化。
如果不进行均值中心化,每次环境变化都会影响 Q 值的范围,导致学习过程不稳定。
(3) 人工设计的奖励偏移
- 许多强化学习任务需要人为设计奖励,而研究人员可能会无意中引入偏移,例如:
- 让奖励总是非负(避免负值影响训练),导致整体奖励向正值偏移。
- 在一些游戏 AI 训练中,奖励的定义可能随版本更新而变化,比如早期版本的奖励范围是 [ − 10 , 10 ] [-10,10] [−10,10],而新版本变成了 [ 0 , 20 ] [0,20] [0,20]。
均值中心化可以让算法在不同版本的奖励尺度下仍然保持稳定。
2. 均值中心化使强化学习方法对奖励常数偏移具有鲁棒性
(1) 直观理解 在强化学习中,许多任务的奖励信号并不是固定的:
- 可能受环境噪声影响(例如机器人在物理世界中的感知误差)。
- 可能因任务设定不同而发生偏移(例如从 r t r_t rt 变为 r t + C r_t + C rt+C)。
- 甚至可能因人为设定不同而调整奖励基准(例如不同游戏版本中奖励尺度不同)。
如果使用传统方法,不同奖励偏移会导致学习不稳定,但均值中心化后,方法能自动适应这些变化,因为它对奖励的全局偏移不敏感。
(2) 公式推导 假设某个任务的奖励被整体偏移了一个常数 c c c: r t ′ = r t + c r_t' = r_t + c rt′=rt+c
那么,标准强化学习算法(如 Q-learning)在没有均值中心化的情况下,会计算 Q 值: Q π ( s , a ) = E π [ ∑ t = 0 ∞ γ t ( r t + c ) ∣ s 0 = s , a 0 = a ] Q^\pi(s, a) = \mathbb{E}^\pi \left[ \sum_{t=0}^{\infty} \gamma^t (r_t + c) \mid s_0 = s, a_0 = a \right] Qπ(s,a)=Eπ[t=0∑∞γt(rt+c)∣s0=s,a0=a]
= E π [ ∑ t = 0 ∞ γ t r t ∣ s 0 = s , a 0 = a ] + E π [ ∑ t = 0 ∞ γ t c ∣ s 0 = s , a 0 = a ] = \mathbb{E}^\pi \left[ \sum_{t=0}^{\infty} \gamma^t r_t \mid s_0 = s, a_0 = a \right] + \mathbb{E}^\pi \left[ \sum_{t=0}^{\infty} \gamma^t c \mid s_0 = s, a_0 = a \right] =Eπ[t=0∑∞γtrt∣s0=s,a0=a]+Eπ[t=0∑∞γtc∣s0=s,a0=a]
= Q π ( s , a ) + c 1 − γ = Q^\pi(s, a) + \frac{c}{1 - \gamma} =Qπ(s,a)+1−γc因此,Q 值被整体偏移了 c 1 − γ \frac{c}{1 - \gamma} 1−γc,但策略不变,因为贪心选择仍然依赖于 Q Q Q 的相对大小。
如果我们对奖励进行均值中心化(即 r t ′ = r t − E [ r ] r_t' = r_t - \mathbb{E}[r] rt′=rt−E[r]),那么 Q 值的偏移项消失,学习过程就不会受到奖励偏移的影响。
(3) 具体应用场景
示例 1: 机器人强化学习
- 机器人学习走路,原始奖励可能是“每步前进 +1”。
- 但如果环境变化,比如地面摩擦力不同,奖励信号可能变为“每步前进 +10”。
- 如果没有均值中心化,Q 值会大幅增长,可能影响稳定性。
- 如果进行均值中心化,Q 值仍然可以学习到相对最优的行动,而不会受奖励尺度的变化影响。
示例 2: 游戏 AI 训练
- AI 在不同版本的游戏中训练,其中一个版本的奖励是 + 10 +10 +10,另一个是 + 100 +100 +100。
- 如果奖励不均值中心化,不同版本训练出来的 AI 可能表现不同。
- 均值中心化可以让 AI 学习的策略在不同奖励尺度下保持一致,提高泛化能力。
(4) 关键点总结
- 均值中心化后,RL 方法能适应不同的奖励偏移,提高鲁棒性。
- 尤其在奖励信号未知或动态变化时,这种方法能提升稳定性。
- 在不同环境或任务中,均值中心化可以让强化学习方法的泛化能力更强。
总结
知识点 结论 具体应用 移除状态无关常数 让价值估计更稳定,尤其是 γ \gamma γ 接近 1 时 机器人、游戏 AI 学习 提高奖励偏移的鲁棒性 适应不同奖励尺度,增强泛化能力 任务切换、环境变化 均值中心化奖励是一种简单但有效的方法,可以让强化学习算法更稳定、更鲁棒,并提高泛化能力。
我们首先介绍奖励中心化的概念以及其潜在的益处(第1节)。接着,我们展示如何进行奖励中心化,从最简单的形式开始(即预测问题中),并证明在折扣奖励的时序差分算法中使用奖励中心化可以非常有效(第2节)。在off-policy设置下,需要更复杂的方法;针对这一情况,我们提出了一种基于强化学习平均奖励形式最新进展的奖励中心化方法(第3节)。随后,我们通过Q-learning的案例研究展示奖励中心化的应用,其中我们(a)基于Devraj和Meyn(2021)的最新研究提出一个收敛性结果,并且(b)在一系列控制问题中展现了一致的趋势,这些问题涉及表格型、线性以及非线性函数逼近(第4节)。最后,我们讨论所提方法的局限性,并提出未来研究的方向(第5节)。
1 奖励中心化理论
我们通过一个有限马尔可夫决策过程(MDP) ( S , A , R , p ) (\mathcal{S},\mathcal{A},\mathcal{R},p) (S,A,R,p)形式化智能体与环境之间的交互,其中 S \mathcal{S} S表示状态集合, A \mathcal{A} A表示动作集合, R \mathcal{R} R表示奖励集合, p : S × R × S × A → [ 0 , 1 ] p:\mathcal{S}\times \mathcal{R}\times \mathcal{S}\times \mathcal{A}\to[0,1] p:S×R×S×A→[0,1]表示状态转移动态。在时间步 t t t,智能体处于状态 S t ∈ S {S}_t\in \mathcal{S} St∈S,按照行为策略 b : A × S → [ 0 , 1 ] b:\mathcal{A}\times \mathcal{S}\to[0,1] b:A×S→[0,1]选择动作 A t ∈ A {A}_t\in \mathcal{A} At∈A,并根据转移动态 p ( s ′ , r ∣ s , a ) = Pr ( S t + 1 = s ′ , R t + 1 = r ∣ S t = s , A t = a ) p(s',r|s,a)=\text{Pr}(S_{t+1}=s',R_{t+1}=r|S_t=s,A_t=a) p(s′,r∣s,a)=Pr(St+1=s′,Rt+1=r∣St=s,At=a)观察下一个状态 S t + 1 ∈ S S_{t+1}\in \mathcal{S} St+1∈S和奖励 R t + 1 ∈ R R_{t+1}\in \mathcal{R} Rt+1∈R。
有限MDP与持续性问题
在强化学习中,我们通常用有限马尔可夫决策过程(MDP) ( S , A , R , p ) (\mathcal{S},\mathcal{A},\mathcal{R},p) (S,A,R,p) 来形式化智能体与环境的交互,其中:
- S \mathcal{S} S:状态集合,表示环境可能出现的所有状态;
- A \mathcal{A} A:动作集合,表示智能体可采取的所有动作;
- R \mathcal{R} R:奖励集合,表示每个动作后环境返回的奖励;
- p ( s ′ , r ∣ s , a ) p(s', r \mid s, a) p(s′,r∣s,a):状态转移概率,给定当前状态 s s s和动作 a a a后,转移到下一个状态 s ′ s' s′并获得奖励 r r r的概率。
在每个时间步 t t t:
- 智能体处于状态 S t S_t St;
- 根据策略 b b b(或称 π \pi π)选择动作 A t A_t At;
- 随后根据转移动态 p p p 观察到下一个状态 S t + 1 S_{t+1} St+1 和奖励 R t + 1 R_{t+1} Rt+1。
对于持续性问题(infinite-horizon problems),交互过程无限进行,智能体的目标是最大化长期获得的平均奖励。由于无限累积奖励可能发散,我们引入了折扣因子 γ ∈ [ 0 , 1 ) \gamma\in[0,1) γ∈[0,1) 来使得累积奖励有限。
我们考虑持续性问题,即智能体与环境的交互无限进行。智能体的目标是最大化在长时间内获得的平均奖励(其形式化定义见公式(2))。我们研究的方法试图通过估计每个状态下的期望折扣奖励和来实现这一目标,对于 γ ∈ [ 0 , 1 ) \gamma\in[0,1) γ∈[0,1),其定义如下:
v γ π ( s ) ≐ E [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s , A t : ∞ ∼ π ] , ∀ s . v_{\gamma}^{\pi}(s) \doteq \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t R_{t+1} \mid S_t=s, A_{t:{\infty}} \sim \pi \right], \quad \forall s. vγπ(s)≐E[t=0∑∞γtRt+1∣St=s,At:∞∼π],∀s.
在这里,折扣因子 γ \gamma γ不是问题本身的一部分,而是算法的参数(关于持续性问题目标的更详细讨论,请参见Naik et al. (2019)或Sutton & Barto (2018)的第10.4节)。
折扣值函数 v γ π ( s ) v_{\gamma}^{\pi}(s) vγπ(s)
定义在某状态 s s s下,给定策略 π \pi π 时的折扣值函数为 v γ π ( s ) ≐ E [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s , A t : ∞ ∼ π ] , ∀ s . v_{\gamma}^{\pi}(s) \doteq \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t R_{t+1} \mid S_t=s,\, A_{t:\infty} \sim \pi \right], \quad \forall s. vγπ(s)≐E[t=0∑∞γtRt+1∣St=s,At:∞∼π],∀s.解释:
- 该表达式表示从状态 s s s 开始,未来每一步获得的奖励都会乘以逐步递减的权重 γ t \gamma^t γt(其中 γ \gamma γ 控制未来奖励的重要性)。
- 这种折扣累积不仅确保无限求和收敛,还可以在算法设计中作为一个参数(虽然它不属于持续性问题本身的定义)。
举例说明:
设想一个机器人在网格世界中导航,每走一步获得奖励。如果机器人当前状态离目标较远,未来可能有多个奖励,但它们会以 γ \gamma γ(例如 0.95 或 0.99)递减。这样,机器人能够权衡眼前与远期奖励,做出合理决策。
奖励中心化是一个简单的概念:从奖励中减去观察到的奖励的经验均值。这样处理后,修改后的奖励就表现为均值中心化。在bandit问题中,均值中心化奖励的效果是广为人知的。例如,Sutton和Barto(2018,第2.8节)表明,估计并从观察到的奖励中减去平均奖励可以显著提高学习速率。在这里,我们展示了这一益处可以扩展到完整的强化学习问题,并且随着折扣因子 γ \gamma γ趋近于1,这种益处会被进一步放大。
奖励中心化(Reward Centering)的基本思想
奖励中心化指的是:从实际观察到的奖励中减去其经验均值。例如,如果在某任务中,观察到的奖励序列为 R 1 , R 2 , … R_1, R_2, \ldots R1,R2,…,那么我们定义中心化后的奖励为 R t ′ = R t − r ^ , R_t' = R_t - \hat{r}, Rt′=Rt−r^, 其中 r ^ \hat{r} r^ 是观察到的奖励均值。
在bandit问题中的效果:
- Sutton和Barto(例如第2.8节)展示过,在多臂bandit问题中,减去平均奖励可以大幅提高估计和学习的速率,因为这样可以让算法关注各个选项间的相对优势,而不是被整体偏移影响。
扩展到完整强化学习问题:
- 当我们面对复杂的MDP时,奖励信号可能会因为环境设计、传感器噪声或人为调整而产生常数偏移。
- 奖励中心化能将这种常数项移除,使得后续学习主要关注状态和动作之间的相对差异,从而提高数值稳定性和学习效率。
具体例子:
假设某游戏设计时给每个时间步都加了一个“生存奖励” + 1 +1 +1(即使没有其他奖励)。那么,如果不中心化,每个状态的价值会额外包含一个大项 1 1 − γ \frac{1}{1-\gamma} 1−γ1(当 γ \gamma γ接近1时,这一项非常大),可能掩盖掉真正反映策略优劣的状态差异。通过奖励中心化,我们就能去掉这一常数,使得学习更加专注于“相对”好坏的比较。
奖励中心化带来益处的原因可以通过折扣值函数的Laurent级数分解来揭示。折扣值函数可以分解为两部分,其中一部分是一个常数,它不依赖于状态或动作,因此在例如动作选择等过程中不会产生影响。从数学上讲,对于策略 π \pi π在折扣因子 γ \gamma γ下对应的表格型折扣值函数 v π γ : S → R v^{\gamma}_{\pi}:\mathcal{S}\to \mathbb{R} vπγ:S→R,其分解如下:
v π γ ( s ) = r ( π ) 1 − γ + v ~ π ( s ) + e π γ ( s ) , ∀ s , (1) v^{\gamma}_{\pi}(s) = \frac{r(\pi)}{1-\gamma} + \tilde{v}_{\pi}(s) + e_{\pi}^{\gamma}(s), \quad \forall s,\tag{1} vπγ(s)=1−γr(π)+v~π(s)+eπγ(s),∀s,(1)
其中, r ( π ) r(\pi) r(π)是策略 π \pi π获得的与状态无关的平均奖励, v ~ π ( s ) \tilde{v}_{\pi}(s) v~π(s)是状态 s s s的微分值函数,它们在遍历性MDPs(为方便表述)中定义如下(例如,见Wan et al., 2021):
r ( π ) ≐ lim n → ∞ 1 n ∑ t = 1 n E [ R t ∣ S 0 , A 0 : t − 1 ∼ π ] , r(\pi) \doteq \lim_{n \to \infty} \frac{1}{n} \sum_{t=1}^{n} \mathbb{E} \left[ R_t \mid S_0, A_{0:t-1} \sim \pi \right], r(π)≐n→∞limn1t=1∑nE[Rt∣S0,A0:t−1∼π],
v ~ π ( s ) ≐ E [ ∑ k = 1 ∞ ( R t + k − r ( π ) ) ∣ S t = s , A t : ∞ ∼ π ] , (2) \tilde{v}_{\pi}(s) \doteq \mathbb{E} \left[ \sum_{k=1}^{\infty} (R_{t+k} - r(\pi)) \mid S_t = s, A_{t:\infty} \sim \pi \right], \tag{2} v~π(s)≐E[k=1∑∞(Rt+k−r(π))∣St=s,At:∞∼π],(2)
e π γ ( s ) e_{\pi}^{\gamma}(s) eπγ(s)表示一个误差项,该误差项在折扣因子趋近于1时收敛至0(Blackwell, 1962: 定理4a;另见Puterman, 1994的推论8.2.4)。这种对状态值的分解也意味着状态-动作值函数具有类似的分解形式。
折扣值函数的Laurent级数分解
理论上,我们可以将折扣值函数 v γ π ( s ) v_{\gamma}^{\pi}(s) vγπ(s)分解为: v π γ ( s ) = r ( π ) 1 − γ + v ~ π ( s ) + e π γ ( s ) , ∀ s , (1) v^{\gamma}_{\pi}(s) = \frac{r(\pi)}{1-\gamma} + \tilde{v}_{\pi}(s) + e_{\pi}^{\gamma}(s), \quad \forall s, \tag{1} vπγ(s)=1−γr(π)+v~π(s)+eπγ(s),∀s,(1) 其中各项含义如下:
第一项: r ( π ) 1 − γ \frac{r(\pi)}{1-\gamma} 1−γr(π)
- 定义: r ( π ) r(\pi) r(π)表示策略 π \pi π 在长期内获得的平均奖励,形式上定义为 r ( π ) ≐ lim n → ∞ 1 n ∑ t = 1 n E [ R t ∣ S 0 , A 0 : t − 1 ∼ π ] . r(\pi) \doteq \lim_{n \to \infty} \frac{1}{n} \sum_{t=1}^{n} \mathbb{E} \left[ R_t \mid S_0, A_{0:t-1} \sim \pi \right]. r(π)≐n→∞limn1t=1∑nE[Rt∣S0,A0:t−1∼π].
- 意义: 这一项是一个常数项,在所有状态上都相同。它说明了若奖励总是有一个固定的平均水平,那么折扣值函数中会存在一个放大了的常数偏移,放大倍数为 1 1 − γ \frac{1}{1-\gamma} 1−γ1。
- 具体例子: 若某任务中,每步的平均奖励为 r ( π ) = 2 r(\pi)=2 r(π)=2,且 γ = 0.9 \gamma=0.9 γ=0.9,则该项为 2 1 − 0.9 = 20. \frac{2}{1-0.9} = 20. 1−0.92=20.
这意味着每个状态的值函数都会多出20的常数项,尽管这并不影响策略选择(因为所有状态都同样增加),但在函数逼近和数值稳定性上可能引入困难。第二项: v ~ π ( s ) \tilde{v}_{\pi}(s) v~π(s)
- 定义: 微分值函数 v ~ π ( s ) \tilde{v}_{\pi}(s) v~π(s)描述的是状态 s s s 在未来奖励中相对于平均奖励的累积差异: v ~ π ( s ) ≐ E [ ∑ k = 1 ∞ ( R t + k − r ( π ) ) ∣ S t = s , A t : ∞ ∼ π ] . (2) \tilde{v}_{\pi}(s) \doteq \mathbb{E} \left[ \sum_{k=1}^{\infty} (R_{t+k} - r(\pi)) \mid S_t = s, A_{t:\infty} \sim \pi \right]. \tag{2} v~π(s)≐E[k=1∑∞(Rt+k−r(π))∣St=s,At:∞∼π].(2)
- 意义: 这部分捕捉了各个状态相对于平均水平的“优势”或“劣势”。它是真正反映状态好坏和策略效果的部分,也是学习过程中需要重点关注和逼近的内容。
- 具体例子: 在一个棋类游戏中,虽然每一步都有基本的“奖励”或“惩罚”(例如步数奖励或罚分),但真正决定局面优劣的是各个棋局状态相对于长期平均水平的优势。 v ~ π ( s ) \tilde{v}_{\pi}(s) v~π(s) 就类似于描述在当前局面下,通过后续精妙走法超越平均水平所能获得的附加收益。
第三项: e π γ ( s ) e_{\pi}^{\gamma}(s) eπγ(s)
- 定义: e π γ ( s ) e_{\pi}^{\gamma}(s) eπγ(s) 是一个误差项,它表示由于使用折扣因子近似持续性问题目标而引入的误差。根据理论(Blackwell, 1962;Puterman, 1994),当 γ \gamma γ 趋近于1时,该项收敛于0。
- 意义: 这说明如果选择的 γ \gamma γ 非常接近1,那么折扣值函数就可以很好地近似分解为一个状态无关的常数和状态依赖的微分值函数,误差项可以忽略。
- 具体例子: 对于长期任务(如经济调控、机器人长时间自主导航),通常希望 γ \gamma γ 设置得较高(例如0.99或更高),此时 e π γ ( s ) e_{\pi}^{\gamma}(s) eπγ(s) 非常小,实际计算中可以认为: v π γ ( s ) ≈ r ( π ) 1 − γ + v ~ π ( s ) . v^{\gamma}_{\pi}(s) \approx \frac{r(\pi)}{1-\gamma} + \tilde{v}_{\pi}(s). vπγ(s)≈1−γr(π)+v~π(s).
Laurent级数分解解释了奖励中心化如何帮助bandit问题的学习,例如Sutton & Barto(2018)第2.5节中的示例。在该示例中,动作值估计初始化为0,而真实值围绕+4分布。动作的选择是基于它们的相对值进行的,但每个动作值估计都必须独立学习相同的常数偏移量。在估计该偏移量时的逼近误差可能会掩盖动作之间的相对差异,特别是当偏移量较大时。
在完整的强化学习问题中,这种与状态无关的偏移量可能会相当大。例如,考虑图2所示的三状态马尔可夫奖励过程(由某个MDP中的策略 π \pi π诱导得到)。从状态A到状态B的转移奖励为+3,而其他情况下的奖励为0。该过程的平均奖励为 r ( π ) = 1 r(\pi)=1 r(π)=1。表格中列出了三种不同折扣因子下的折扣状态值。请注意标准折扣值的量级,特别是当折扣因子增加时的跳变幅度。
图 2:一个简单例子中标准值与居中折扣值的比较。
1. 环境结构与奖励设定
从图中可以看出,状态集合为 { A , B , C } \{A, B, C\} {A,B,C},并且存在一个循环: A → + 3 B → + 0 C → + 0 A . A \xrightarrow{+3} B \xrightarrow{+0} C \xrightarrow{+0} A. A+3B+0C+0A.
- 当智能体从 A A A 前往 B B B 时,获得奖励 + 3 +3 +3;
- 当智能体从 B B B 前往 C C C 时,奖励为 0 0 0;
- 当智能体从 C C C 前往 A A A 时,奖励为 0 0 0。
在这个循环策略( π \pi π)下,每转一圈总共获得 3 3 3 的奖励,用时 3 3 3 步,所以平均奖励 r ( π ) r(\pi) r(π) 为 r ( π ) = 3 3 = 1. r(\pi) = \frac{3}{3} = 1. r(π)=33=1.
我们感兴趣的是折扣值函数 v γ π ( s ) v^\pi_\gamma(s) vγπ(s),它表示从状态 s s s 出发,未来所有折扣奖励的期望和。因为这里是一个确定策略(A→B→C→A 不断循环),可以直接写出每个状态的价值方程。
2. 标准折扣值的 Bellman 方程
令 v ( A ) v(A) v(A), v ( B ) v(B) v(B), v ( C ) v(C) v(C) 分别表示在折扣因子为 γ \gamma γ 时,从状态 A A A, B B B, C$ 出发的折扣价值。根据定义,有:
从 A 出发:立即得到奖励 3 3 3,然后下一步必到 B B B,并继续享受未来折扣价值 γ v ( B ) \gamma\,v(B) γv(B), v ( A ) = 3 + γ v ( B ) . v(A) = 3 + \gamma\,v(B). v(A)=3+γv(B).
从 B 出发:立即得到奖励 0 0 0,下一步到 C C C,然后继续享受折扣价值 γ v ( C ) \gamma\,v(C) γv(C), v ( B ) = 0 + γ v ( C ) . v(B) = 0 + \gamma\,v(C). v(B)=0+γv(C).
从 C 出发:立即得到奖励 0 0 0,下一步到 A A A,然后继续享受折扣价值 γ v ( A ) \gamma\,v(A) γv(A), v ( C ) = 0 + γ v ( A ) . v(C) = 0 + \gamma\,v(A). v(C)=0+γv(A).
因此,三元组 ( v ( A ) , v ( B ) , v ( C ) ) (v(A), v(B), v(C)) (v(A),v(B),v(C)) 满足以下线性方程组:
{ v ( A ) − γ v ( B ) = 3 , v ( B ) − γ v ( C ) = 0 , v ( C ) − γ v ( A ) = 0. \begin{cases} v(A) - \gamma\,v(B) = 3, \\ v(B) - \gamma\,v(C) = 0, \\ v(C) - \gamma\,v(A) = 0. \end{cases} ⎩ ⎨ ⎧v(A)−γv(B)=3,v(B)−γv(C)=0,v(C)−γv(A)=0.
3. 解方程组并得到数值
我们可以先从第二、第三个方程表达 v ( B ) v(B) v(B) 和 v ( C ) v(C) v(C):
- 从 v ( B ) = γ v ( C ) v(B) = \gamma\,v(C) v(B)=γv(C), v ( C ) = γ v ( A ) v(C) = \gamma\,v(A) v(C)=γv(A),可得 v ( B ) = γ 2 v ( A ) . v(B) = \gamma^2\,v(A). v(B)=γ2v(A).
- 将其代入第一个方程: v ( A ) − γ ( γ 2 v ( A ) ) = 3 ⟹ v ( A ) ( 1 − γ 3 ) = 3. v(A) - \gamma \bigl(\gamma^2\,v(A)\bigr) = 3 \quad\Longrightarrow\quad v(A) \bigl(1 - \gamma^3\bigr) = 3. v(A)−γ(γ2v(A))=3⟹v(A)(1−γ3)=3. 因此, v ( A ) = 3 1 − γ 3 . v(A) = \frac{3}{1 - \gamma^3}. v(A)=1−γ33.
- 进而 v ( B ) = γ 2 v ( A ) = 3 γ 2 1 − γ 3 , v ( C ) = γ v ( A ) = 3 γ 1 − γ 3 . v(B) = \gamma^2\,v(A) \;=\; \frac{3\,\gamma^2}{1 - \gamma^3}, \quad v(C) = \gamma\,v(A) \;=\; \frac{3\,\gamma}{1 - \gamma^3}. v(B)=γ2v(A)=1−γ33γ2,v(C)=γv(A)=1−γ33γ.
这三个值 v ( A ) , v ( B ) , v ( C ) v(A), v(B), v(C) v(A),v(B),v(C) 就是表格中“Standard discounted values”(标准折扣值)对应的数值。我们只需要把不同的 γ \gamma γ 值(如 0.8, 0.9, 0.99)代入即可。
3.1 以 γ = 0.8 \gamma = 0.8 γ=0.8 为例
- 1 − γ 3 = 1 − 0. 8 3 = 1 − 0.512 = 0.488 1 - \gamma^3 = 1 - 0.8^3 = 1 - 0.512 = 0.488 1−γ3=1−0.83=1−0.512=0.488.
- v ( A ) = 3 0.488 ≈ 6.15 v(A) = \dfrac{3}{0.488} \approx 6.15 v(A)=0.4883≈6.15.
- v ( C ) = 0.8 × 6.15 ≈ 4.92 v(C) = 0.8 \times 6.15 \approx 4.92 v(C)=0.8×6.15≈4.92.
- v ( B ) = 0. 8 2 × 6.15 = 0.64 × 6.15 ≈ 3.93 v(B) = 0.8^2 \times 6.15 = 0.64 \times 6.15 \approx 3.93 v(B)=0.82×6.15=0.64×6.15≈3.93.
对照表格,可见 v ( A ) ≈ 6.15 , v ( B ) ≈ 3.93 , v ( C ) ≈ 4.92 , v(A)\approx 6.15,\quad v(B)\approx 3.93,\quad v(C)\approx 4.92, v(A)≈6.15,v(B)≈3.93,v(C)≈4.92,
3.2 以 γ = 0.9 \gamma = 0.9 γ=0.9 为例
- 1 − γ 3 = 1 − 0. 9 3 = 1 − 0.729 = 0.271 1 - \gamma^3 = 1 - 0.9^3 = 1 - 0.729 = 0.271 1−γ3=1−0.93=1−0.729=0.271.
- v ( A ) = 3 0.271 ≈ 11.07 v(A) = \dfrac{3}{0.271} \approx 11.07 v(A)=0.2713≈11.07.
- v ( C ) = 0.9 × 11.07 ≈ 9.96 v(C) = 0.9 \times 11.07 \approx 9.96 v(C)=0.9×11.07≈9.96.
- v ( B ) = 0. 9 2 × 11.07 ≈ 8.97 v(B) = 0.9^2 \times 11.07 \approx 8.97 v(B)=0.92×11.07≈8.97.
对照表格,可见 v ( A ) ≈ 11.07 , v ( B ) ≈ 8.97 , v ( C ) ≈ 9.96. v(A)\approx 11.07,\quad v(B)\approx 8.97,\quad v(C)\approx 9.96. v(A)≈11.07,v(B)≈8.97,v(C)≈9.96.
3.3 以 γ = 0.99 \gamma = 0.99 γ=0.99 为例
- 1 − γ 3 = 1 − 0.9 9 3 = 1 − 0.970299 = 0.029701 1 - \gamma^3 = 1 - 0.99^3 = 1 - 0.970299 = 0.029701 1−γ3=1−0.993=1−0.970299=0.029701
- v ( A ) = 3 0.029701 ≈ 101.0 v(A) = \dfrac{3}{0.029701} \approx 101.0 v(A)=0.0297013≈101.0.
- v ( C ) = 0.99 × 101.0 ≈ 99.99 v(C) = 0.99 \times 101.0 \approx 99.99 v(C)=0.99×101.0≈99.99.
- v ( B ) = 0.9 9 2 × 101.0 ≈ 98.99 v(B) = 0.99^2 \times 101.0 \approx 98.99 v(B)=0.992×101.0≈98.99.
对照表格,可见 v ( A ) ≈ 101.01 , v ( B ) ≈ 98.99 , v ( C ) ≈ 99.99 , v(A)\approx 101.01,\quad v(B)\approx 98.99,\quad v(C)\approx 99.99, v(A)≈101.01,v(B)≈98.99,v(C)≈99.99,
现在考虑从每个状态的折扣值中减去常数偏移量 r ( π ) / ( 1 − γ ) r(\pi)/(1-\gamma) r(π)/(1−γ),即 v π γ ( s ) − r ( π ) / ( 1 − γ ) v^{\gamma}_{\pi}(s) - r(\pi)/(1-\gamma) vπγ(s)−r(π)/(1−γ),我们称其为中心化折扣值。这些中心化值的数值要小得多,并且随着折扣因子的增加,它们的变化幅度很小。为了对比,微分值函数也列在表中。这些趋势具有普遍性:对于任何问题,当折扣因子趋近于1时,折扣值的量级会急剧增加,而中心化折扣值的变化很小,并且逐渐逼近微分值函数。
形式上,中心化折扣值是均值中心化奖励的期望折扣和:
v ~ π γ ( s ) ≐ E [ ∑ t = 0 ∞ γ t ( R t + 1 − r ( π ) ) ∣ S t = s , A t : ∞ ∼ π ] , \tilde{v}_{\pi}^{\gamma}(s) \doteq \mathbb{E} \left[ \sum_{t=0}^{\infty} \gamma^t \left( R_{t+1} - r(\pi) \right) \mid S_t = s, A_{t:\infty} \sim \pi \right], v~πγ(s)≐E[t=0∑∞γt(Rt+1−r(π))∣St=s,At:∞∼π],
v π γ ( s ) = r ( π ) 1 − γ + v ~ π γ ( s ) + e π γ ( s ) ⏞ v ~ π γ ( s ) , ∀ s , (3) v_{\pi}^{\gamma}(s) = \frac{r(\pi)}{1-\gamma} + \overbrace{\tilde{v}_{\pi}^{\gamma}(s) + e_{\pi}^{\gamma}(s)}^{{\tilde{v}_{\pi}^{\gamma}(s)}}, \quad \forall s, \tag{3} vπγ(s)=1−γr(π)+v~πγ(s)+eπγ(s) v~πγ(s),∀s,(3)
其中, γ ∈ [ 0 , 1 ] \gamma\in[0,1] γ∈[0,1]。当 γ = 1 \gamma=1 γ=1时,中心化折扣值等于微分值函数,即 v ~ π γ ( s ) = v ~ π ( s ) , ∀ s \tilde{v}_{\pi}^{\gamma}(s) = \tilde{v}_{\pi}(s), \forall s v~πγ(s)=v~π(s),∀s。更一般地,中心化折扣值等于微分值函数加上Laurent级数分解中的误差项,如上式右(下)侧所示。
因此,奖励中心化使得折扣值函数中的所有信息可以通过两个组成部分捕捉:(1)常数平均奖励;(2)中心化折扣值函数。这种分解具有极大的价值:
(a) 当 γ → 1 \gamma\to1 γ→1时,折扣值趋于发散,但中心化折扣值保持较小且易于处理。
(b) 如果问题的奖励整体偏移一个常数 c c c,则折扣值的量级会增加 c / ( 1 − γ ) c/(1-\gamma) c/(1−γ),但中心化折扣值保持不变,因为平均奖励也会增加 c c c。这些效应将在接下来的章节中进行演示。
奖励中心化还使得可以设计允许折扣因子(作为算法参数)在智能体学习过程中变化的算法。在标准折扣方法中,这通常是低效或无效的,因为未中心化的值可能会发生剧烈变化(见图2)。相比之下,中心化值的变化较小,并且当折扣因子趋近于1时,变化几乎可以忽略不计。我们将在最后一节讨论这一令人兴奋的方向。
为了获得这些潜在的益处,我们需要从数据中估计平均奖励。下一节将展示,即使是最简单的方法也可能非常有效。
1. 背景与动机
在无限时域(持续性)强化学习中,我们往往使用折扣值函数来衡量从某状态出发、在策略(\pi)下所能获得的“未来奖励折扣总和”:
v π γ ( s ) = E [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s , A t : ∞ ∼ π ] , γ ∈ [ 0 , 1 ) . v_{\pi}^{\gamma}(s) = \mathbb{E}\Bigl[\sum_{t=0}^{\infty} \gamma^t \,R_{t+1}\;\bigm|\; S_t = s,\;A_{t:\infty}\sim\pi \Bigr], \quad \gamma\in[0,1). vπγ(s)=E[t=0∑∞γtRt+1 St=s,At:∞∼π],γ∈[0,1). 当 γ \gamma γ 接近1时, v π γ ( s ) v_{\pi}^{\gamma}(s) vπγ(s) 往往会变得数值很大(可能出现所谓“发散”到一个很大的量级),因为它累积了几乎所有将来的奖励。奖励中心化(Reward Centering) 的做法是:先估计策略 π \pi π 的平均奖励 r ( π ) r(\pi) r(π),再从每一步奖励中减去这个平均值,从而得到一个“相对奖励”。这样做能在数学与实践上带来多方面好处:
- 去除与状态无关的常数偏移,使学习更加稳定。
- 对奖励中的任何常数偏移具有鲁棒性,例如奖励整体加减一个常数不会影响中心化值。
- 当折扣因子 γ → 1 \gamma\to 1 γ→1 时,原始折扣值可能发散,而中心化折扣值保持在相对较小的范围内,便于数值处理。
2. 中心化折扣值的定义
2.1 公式与含义
所谓中心化折扣值(有时也叫微分折扣值)定义为
v ~ π γ ( s ) ≐ E [ ∑ t = 0 ∞ γ t ( R t + 1 − r ( π ) ) ∣ S t = s , A t : ∞ ∼ π ] . \tilde{v}_{\pi}^{\gamma}(s) \doteq \mathbb{E} \Bigl[ \sum_{t=0}^{\infty} \gamma^t \bigl(R_{t+1} - r(\pi)\bigr) \;\Bigm|\; S_t = s,\; A_{t:\infty} \sim \pi \Bigr]. v~πγ(s)≐E[t=0∑∞γt(Rt+1−r(π)) St=s,At:∞∼π].
- 其中 r ( π ) r(\pi) r(π) 表示在策略 π \pi π 下获得的平均奖励(一个常数,见下节)。
- 每个时间步的奖励都“减去”了该平均值,形成相对奖励 ( R t + 1 − r ( π ) ) \bigl(R_{t+1} - r(\pi)\bigr) (Rt+1−r(π))。
- 这样,如果实际奖励刚好等于平均奖励,中心化后就变为 0;若高于平均奖励则为正值,低于平均奖励则为负值。
直观理解:你可以把 v ~ π γ ( s ) \tilde{v}_{\pi}^{\gamma}(s) v~πγ(s) 理解为:“从状态 s s s 出发,策略 π \pi π 在未来每一步都只关心奖励比平均水平高多少或低多少”。
- 如果某状态往后通常得到的奖励大于平均水平,那它的中心化折扣值就为正;
- 若低于平均水平,则为负。
2.2 当 γ = 1 \gamma = 1 γ=1 时
文中提到,当 γ = 1 \gamma=1 γ=1时, v ~ π γ ( s ) \tilde{v}_{\pi}^{\gamma}(s) v~πγ(s)就等于微分值函数 v ~ π ( s ) \tilde{v}_{\pi}(s) v~π(s),即:
v ~ π 1 ( s ) = v ~ π ( s ) . \tilde{v}_{\pi}^{1}(s) \;=\; \tilde{v}_{\pi}(s). v~π1(s)=v~π(s).
这里的“微分值函数”是指无限时域下不使用折扣的那种相对价值度量(通常在平均奖励MDP的理论中出现)。
- 在 γ = 1 \gamma=1 γ=1时,我们完全不折扣未来奖励,因此“相对奖励”的累积正好对应经典的微分值函数。
3. 与原折扣值函数的关系
在不做中心化的情况下,原折扣值函数是 v π γ ( s ) = E [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s , A t : ∞ ∼ π ] . v_{\pi}^{\gamma}(s) = \mathbb{E}\Bigl[\sum_{t=0}^{\infty} \gamma^t \,R_{t+1}\;\Bigm|\; S_t = s,\; A_{t:\infty}\sim\pi \Bigr]. vπγ(s)=E[t=0∑∞γtRt+1 St=s,At:∞∼π]. 文中给出的分解公式(3)说明了二者的关系: v π γ ( s ) = r ( π ) 1 − γ ⏟ 常数项 + ( v ~ π γ ( s ) + e π γ ( s ) ) ⏟ “中心化值” , ∀ s . v_{\pi}^{\gamma}(s) = \underbrace{\frac{r(\pi)}{1-\gamma}}_{\text{常数项}} \;+\; \underbrace{\Bigl(\tilde{v}_{\pi}^{\gamma}(s) + e_{\pi}^{\gamma}(s)\Bigr)}_{\text{“中心化值”}}, \quad \forall s. vπγ(s)=常数项 1−γr(π)+“中心化值” (v~πγ(s)+eπγ(s)),∀s.
- 第一部分 r ( π ) 1 − γ \frac{r(\pi)}{1-\gamma} 1−γr(π) 是一个与状态无关的常数;它会随 γ → 1 \gamma \to 1 γ→1 而变得很大。
- 第二部分 v ~ π γ ( s ) + e π γ ( s ) \tilde{v}_{\pi}^{\gamma}(s) + e_{\pi}^{\gamma}(s) v~πγ(s)+eπγ(s) 则是中心化折扣值及其近似误差项,其中 e π γ ( s ) e_{\pi}^{\gamma}(s) eπγ(s) 会在 γ → 1 \gamma \to 1 γ→1 时收敛到 0。
因此,当 g a m m a gamma gamma 非常接近 1 时,原折扣值函数 v π γ ( s ) v_{\pi}^{\gamma}(s) vπγ(s) 往往会被那块 r ( π ) 1 − γ \frac{r(\pi)}{1-\gamma} 1−γr(π) 的常数项“抬”得很高;而中心化折扣值只聚焦于“奖励相对于平均奖励的偏差”,数值通常更小也更稳定。
4. 奖励中心化的两大核心益处
4.1 在 γ → 1 \gamma\to 1 γ→1 时保持数值稳定
- (a) 折扣值可能发散,但中心化值不发散
随着 γ → 1 \gamma \to 1 γ→1, r ( π ) 1 − γ \frac{r(\pi)}{1-\gamma} 1−γr(π) 这项会趋向无穷大(除非 r ( π ) = 0 r(\pi)=0 r(π)=0)。这会给函数逼近(如神经网络)带来严重的数值难题。而在中心化后,去掉了这一巨大常数,剩下的 v ~ π γ ( s ) \tilde{v}_{\pi}^{\gamma}(s) v~πγ(s)规模相对较小,更易于处理和学习。小例子:假设在某个简单任务里,平均奖励 r ( π ) = 5 r(\pi)=5 r(π)=5。如果 γ = 0.99 \gamma=0.99 γ=0.99,那么 r ( π ) 1 − γ = 5 1 − 0.99 = 5 0.01 = 500. \frac{r(\pi)}{1-\gamma} = \frac{5}{1-0.99} = \frac{5}{0.01} = 500. 1−γr(π)=1−0.995=0.015=500.
也就是说,哪怕任务并没有什么特别之处,折扣值本身就多出了 500 的“基线偏移”。对于神经网络来说,输出值都在几百到上千的范围内,训练时会更容易出现梯度过大、学习不稳定等问题。但如果把奖励中心化(即每一步都减去 5),则中心化折扣值可以保持在一个比较小的范围,避免了这一麻烦。4.2 对奖励偏移具有鲁棒性
- (b) 奖励整体偏移一个常数 c c c 时,中心化值不变
如果把所有奖励 R t + 1 R_{t+1} Rt+1 改成 R t + 1 + c R_{t+1} + c Rt+1+c,那么平均奖励也会变成 r ( π ) + c r(\pi) + c r(π)+c。 在原折扣值中,这会导致 v π γ ( s ) 新 = v π γ ( s ) 旧 + c 1 − γ , v_{\pi}^{\gamma}(s) \text{ 新 } = v_{\pi}^{\gamma}(s) \text{ 旧 } + \frac{c}{1-\gamma}, vπγ(s) 新 =vπγ(s) 旧 +1−γc, 数值规模显著增加; 但在中心化后,因为 ( R t + 1 + c − [ r ( π ) + c ] ) = ( R t + 1 − r ( π ) ) \bigl(R_{t+1}+c - [r(\pi)+c]\bigr) = (R_{t+1} - r(\pi)) (Rt+1+c−[r(π)+c])=(Rt+1−r(π)),相对奖励并没有发生任何变化,所以 v ~ π γ ( s ) \tilde{v}_{\pi}^{\gamma}(s) v~πγ(s) 保持不变。小例子:如果你在一个游戏中原本定义奖励 { − 1 , 0 , + 1 } \{-1, 0, +1\} {−1,0,+1},后来想让奖励更“正向”一点,于是把它们统一加 10 变成 { 9 , 10 , 11 } \{9, 10, 11\} {9,10,11}。
- 在标准折扣值的世界里,你的值函数会被整体抬高 10 1 − γ \frac{10}{1-\gamma} 1−γ10;
- 在中心化折扣值的世界里,这种改动完全不会影响相对价值,也不会让训练过程出现剧烈数值波动。
5. 可随时间调整折扣因子
文中还指出,奖励中心化让我们可以更灵活地在学习过程中动态调整折扣因子 γ \gamma γ,而不会像标准方法那样引发大范围的数值抖动。
- 标准折扣方法:如果在训练中突然把 γ \gamma γ 从 0.9 调到 0.99,所有值函数 v π γ ( s ) v_{\pi}^{\gamma}(s) vπγ(s) 都会猛然改变,因为 r ( π ) 1 − γ \frac{r(\pi)}{1-\gamma} 1−γr(π) 的那一项放大了许多倍。
- 中心化方法:则主要学习的是 v ~ π γ ( s ) \tilde{v}_{\pi}^{\gamma}(s) v~πγ(s)(相对价值),其对 γ \gamma γ 的变化敏感度小得多;即使 γ \gamma γ 变化,也不会产生“加上一个大常数”的冲击。
这种特性在一些自适应方法或层级强化学习中很有用——有时我们希望初期只关注短期奖励( γ \gamma γ 小),后期再更加重视长期回报( γ \gamma γ 大),使用中心化可以避免训练过程的剧烈震荡。
6. 如何估计平均奖励
要进行奖励中心化,我们需要一个平均奖励 r ( π ) r(\pi) r(π) 的估计。最简单的方法就是在采样过程中做一个移动平均或在线估计:
初始化 r ^ 0 = 0 \hat{r}_0 = 0 r^0=0。
每次得到新奖励 R n + 1 R_{n+1} Rn+1 后,更新: r ^ n + 1 = r ^ n + α ( R n + 1 − r ^ n ) , \hat{r}_{n+1} = \hat{r}_n + \alpha\,(R_{n+1} - \hat{r}_n), r^n+1=r^n+α(Rn+1−r^n), 其中 α \alpha α 为一个学习率(如 0.01)。
用 r ^ n \hat{r}_n r^n 作为对 r ( π ) r(\pi) r(π) 的估计,将其从奖励中减去。
即使是这种最简单的移动平均,也能有效地追踪策略在不同阶段的平均奖励,进而完成中心化操作。
7. 小结与示例回顾
总结知识点:
中心化折扣值: v ~ π γ ( s ) = E [ ∑ t = 0 ∞ γ t ( R t + 1 − r ( π ) ) ] , \displaystyle \tilde{v}_{\pi}^{\gamma}(s) = \mathbb{E}\Bigl[\sum_{t=0}^\infty \gamma^t (R_{t+1}-r(\pi))\Bigr], v~πγ(s)=E[t=0∑∞γt(Rt+1−r(π))], 关注“奖励相对于平均奖励”的折扣总和。
与原值函数的分解: v π γ ( s ) = r ( π ) 1 − γ + v ~ π γ ( s ) + e π γ ( s ) , \displaystyle v_{\pi}^{\gamma}(s) = \frac{r(\pi)}{1-\gamma} + \tilde{v}_{\pi}^{\gamma}(s) + e_{\pi}^{\gamma}(s), vπγ(s)=1−γr(π)+v~πγ(s)+eπγ(s), 其中那一大项 r ( π ) 1 − γ \frac{r(\pi)}{1-\gamma} 1−γr(π) 会在 γ → 1 \gamma\to1 γ→1 时变得极大,而中心化部分 v ~ π γ ( s ) \tilde{v}_{\pi}^{\gamma}(s) v~πγ(s) 通常更小且稳定。
益处:
- (a) γ → 1 \gamma\to1 γ→1 时不发散:避免数值过大;
- (b) 奖励偏移鲁棒性:加减常数 c c c 不会改变中心化值;
- (c) γ \gamma γ 可在学习过程中动态变化:中心化值对折扣因子的大幅改变不敏感。
估计平均奖励:
- 可在线地使用移动平均或更复杂的估计方法;
- 即使简单方法也往往足够。
7.1 具体小示例
- 环境:一个简单的单状态循环,每一步奖励 R t R_t Rt 平均为 5(可能有波动,如 4、5、6)。
- 标准折扣值:如果 γ = 0.99 \gamma=0.99 γ=0.99,则 v π 0.99 ( s ) ≈ 5 1 − 0.99 = 500 , v_{\pi}^{0.99}(s) \approx \frac{5}{1-0.99} = 500, vπ0.99(s)≈1−0.995=500, 数值非常大。
- 中心化折扣值:则是 v ~ π 0.99 ( s ) = E [ ∑ γ t ( R t + 1 − 5 ) ] . \tilde{v}_{\pi}^{0.99}(s) = \mathbb{E}\Bigl[\sum \gamma^t (R_{t+1}-5)\Bigr]. v~π0.99(s)=E[∑γt(Rt+1−5)]. 如果 R t + 1 R_{t+1} Rt+1 多在 4~6 之间波动,那么 v ~ π 0.99 ( s ) \tilde{v}_{\pi}^{0.99}(s) v~π0.99(s) 的值通常只在一个相对小的区间内(正负几分、十几分),远小于 500。
8. 结语
通过奖励中心化,我们可以将折扣值函数“拆分”为:
- 一个状态无关、但会随 γ \gamma γ 变得很大的常数部分( r ( π ) 1 − γ \tfrac{r(\pi)}{1-\gamma} 1−γr(π));
- 一个只关注“相对奖励”的中心化折扣值(外加一个在 γ → 1 \gamma\to1 γ→1时趋于 0 的误差项)。
这不仅从理论上解释了当 γ \gamma γ逼近1时值函数为何会数值膨胀,也为在实践中处理高折扣因子、动态调整 γ \gamma γ、以及应对奖励整体偏移等场景提供了简单而有效的解决思路。