学之前的基础:
2.价值学习
图片来源:【王树森】深度强化学习
policy-based reinforcement learning(策略学习):
用神经网络近似策略函数,叫策略网络,用于控制agent运动。
策略学习就是训练出控制agent在每个s时做a的策略,就是概率。
在超级马里奥游戏中,通过state和卷积层conv得到特征feature,然后全连接dense到三个维度的向量,通过激活函数softmax得到每个方向对应动作的概率。
当用神经网络近似策略函数后,
我们可以得到近似的状态价值函数:
如何令策略网络越来越好?改进θ,令V(s;θ)越来越大。
因此得到该函数:
J(θ)表示以S为随机变量对V函数进行期望,得到只和θ有关的平均状态价值函数,也就是可以利用J(θ)得到以θ为随机变量,与s无关,找到最好的θ参数,得到与s无关时最大的J(θ)。
改进θ运用的算法:
policy gradient sacent(策略梯度算法):
通过观测的s和 贝塔β(学习率)得到这个θ迭代式。
在这里叫做policy gradient(策略梯度)。
如何推导policy gradient(策略梯度):
可以把Qπ挪到右边是因为这里假设Qπ与θ无关,而实际其实是有些关联的,所以这里不太严谨,挪到右边是为了让我们学明白点,好理解点。
所以得到:
如果a离散,则可以直接用,但是一般不行,所以一般用蒙特卡洛近似。
首先变换形式:
蓝色方框为变换的部分,反向推导如下:
回到上式,可以看出形式为概率π成语右边那部分,所以得到类似期望的函数形式:
因此一共得到策略梯度的两种等价形式:
第一种可以在a为离散的时候用。第二种在连续的时候用,但是由于做积分不太可能,因为近似出的π函数太复杂了,所以用蒙特卡洛近似 近似 出该积分。
蒙特卡洛近似(离散和连续都适用):(用一个或多个随机样本近似期望)
根据π函数随机抽样得到a,设:
在我们得到a后,可以计算出g(a,θ),然后我们认为该值为无偏估计,所以期望等于g(a,θ)本身,也就是:
蒙特卡洛近似的总结就是:用一个或多个随机样本近似期望。
算法总结: