强化学习(四)策略梯度

综述

无论是SARAR,Q-learning还是DQN,都是基于值函数的模型,即模型通过数据集训练参数去近似得到值函数。基于值函数的模型在处理控制问题时,需要由值函数更新策略再由策略更新值函数。这种做法难以收敛,而且学习到的策略过于简单(根据值函数取最大值)。虽然策略最终会收敛,但是在学习过程中,并不一定选择值函数最大的动作就是最优的,所以基于值函数的模型存在很大的改进空间,一个改进点就是将学习过程中简单的策略转化成更合理的策略。我们可以将策略参数化,使用参数去控制策略的选择,这样可以使得模型在学习中不断修正策略,从而达到更好的效果。另一个改进点是针对连续的动作空间,当动作是连续值时,很难根据所有动作的收益取最大得到最佳动作,如果我们可以将连续的动作看作是一个由参数控制的分布,就可以轻易从这个分布中去选择动作了。

模型结构

基于策略的模型,使用参数控制策略的选择,输入是一个状态向量,中间是神经网络参数,输出是各个动作的选择概率或者是动作的一个分布。

学习过程

在学习过程中,目标是最大化策略的期望收益。策略的期望收益计算如下:

其中,$\tau$是代理的一次执行过程,$R(\tau)$是这次执行的总收益,$P_{\theta}(\tau)$是当前策略下有$\tau$这个执行过程的概率。对于这个期望,我们不可能穷举所有的$\tau$,所以采用蒙特卡洛的方法去近似,即:

我们希望最大化收益,即最大化上式,所以对这个式子关于参数$\theta$求导,得到:

上式就是求得梯度的式子,然后根据最大梯度上升不断更新策略,使得策略的收益期望最大即可。

改进

上面的学习过程中,如果所有的$\tau$的收益$R(\tau)$都是正的,那么每次采样得到的$\tau$在参数更新后的出现概率都会增大,但是我们是希望正的较大的出现概率增大,而正的较小的出现概率减小。所以一个改进的方法是使用采样的$R(\tau)$的期望作为基准线,收益小于基准线的$\tau$的出现概率减小,收益大于基准线的$\tau$的出现概率增大。另外在计算梯度时,我们可以展开式子:

其中$b$是前面提到的基准线,一般使用多条采样路径的平均值去表示。可以看到,无论是在哪个$t$,更新时都使用全部的$R(\tau)$,这是不合理的,所以修改一下更新公示。我们一般认为,更新第$t$个时刻,只与这个时刻后面的收益有关,所以有:

其中$E[R_t(\tau)]$表示将路径$\tau$第$t$时刻看作是开始时刻时的期望收益,使用这个期望收益作为第$t$时刻的基准线。本质上这种做法是将一条执行路径$\tau$分解成$T$条后缀路径去更新参数,每条后缀路径的出现概率只与对应时刻第一步的策略选择有关,可以看作是这条后缀路径的收益约等于对应时刻第一步选择的期望收益,类似随机梯度的思想。