符号定义

价值表达

蒙特卡洛式

从头到尾走一遍,每次action都能拿到采样的真实收益。

累计奖励

强化学习的特点,当前动作选择时,不仅只考虑当下,也要考虑未来长期收益。

累计折扣奖励

更注重当下,越远的未来折扣越大。

模型预估式

结合蒙特卡洛和模型预估

1-Step

当前一步通过采样得到真实收益,未来通过模型预估。

考虑未来折扣。

k-Step

更普遍的,先走k步得到采样收益,剩下的通过模型预估。当时退化到1-Step,当时退化到全部采样。

考虑未来折扣。

价值表达 -> 优势表达

价值表达表示action的绝对价值,通过一些采样得到收益,如果收益都是正值,那么被采样的action就会得到正梯度,会强化下次被采样到的概率。相当于谁被采到谁受益,形成了马太效应。所以,通过减去一个baseline,得到action的相对收益,这就是优势表达的思路。

baseline的形式

也有不同的估计方法。

蒙特卡洛式

采样很多action,用均值表示,比如RLOO、GRPO(这里不考虑方差)。 其中,表示t时刻第i个采样,共采n个。

模型预估式

表示

优势表达的常用形式

各有不同形式,可以随意组合。

下面是k-Step价值表达结合模型预估,这个形式比较常用。其中,表示k-Step选择某个具体k时的

上式对于每个token,都需要累加k次才能计算出,总计算量是。有没有更简便的方法?有的,下面是推导。

首先发现,存在递归关系。通过这个递归关系,进一步可以得到当前和未来的关系。 其中,

只需要从最后一个token往前累加即可得到每个token的,简写为:

或者

优势表达 -> 广义的优势表达

本部分的的推导基于

可以看到,当k越大,需要采样的项越多,导致方差越大、偏差越小。

那么选择什么k值最合适呢?

最优的k值难以确定,我们可以叠加很多,做一个综合考虑来平衡偏差和方差,这就是Generalized Advantage Estimation(GAE)2

把公式代入,得到:

时,等趋近0,并且乘上的后,最终得到GAE的简单计算逻辑。可以看到,从最后一个token向前累计即可。

或者

公式相比公式,在每项累加时多了一个权重系数起到什么作用,具有什么意义呢?

时,退化成;当时,退化成。可以看到,起到调节k大小的作用,进而在偏差和方差间做均衡。

虽然推导时基于,但实际应用时可以代入任意形式的。比如,代入,可得: 其中,计算最后一个action的时,可以把简单设为0。

参考

  • [1][台大李宏毅强化学习课程](http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html)
  • [2][High-Dimensional Continuous Control Using Generalized Advantage Estimation](http://arxiv.org/abs/1506.02438)