强化学习过程中的方差

Q: 什么是方差

A: 训练过程中的策略梯度或td-error的方差。

训练过程中,在不同ss下有着不同的rr的分布,有的状态本身很好导致所有动作都有高回报,同时有的状态所有动作都有低回报。高回报的状态下所有动作都会得到高奖励带来的大梯度,而低回报下所有动作都会得到小奖励带来的小梯度。

在训练过程中,相同状态下动作的相对好坏是确定的,但要反复遍历完全部动作才能成功估计某个动作相对其他动作的好坏。比如存在如下两个状态和两个动作,以及相应的回报:

rr s1s_1 s2s_2
a1a_1 100 1
a2a_2 101 0

一次训练过程中经过s1,a1s2,a1s_1, a_1\rightarrow s_2, a_1得到的奖励序列为[100, 1],梯度大小与奖励正相关,因此梯度的变化非常剧烈,方差很大,影响训练稳定性。

因为强化学习实际需要学会的是每个动作相比另一个动作的优势,来指导每个状态下的动作选择,因此只需要每个状态的rr减去当前状态的v(s)v(s),表示做选择之后的期望回报相对于做选择之前的变化,就可以抵消不同状态本身的差异,减小方差。

进一步思考,当前的减小方差实际上是消除了不同状态之间,不同动作所对应的回报的均值,相当于对梯度进行标准化。如果归一化不同状态之间不同动作对应回报的方差,使得所有状态均衡被考虑,对于训练是否会有帮助?

results matching ""

    No results matching ""