本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、策略学习
思路:用policy network来近似策略函数 ,用policy gradient算法来训练这个网络
函数近似的一般方法:线性函数,kernel函数,神经网络(就叫policy network了)
softmax是用来做映射的,因为我们需要各个动作的概率,所以要求输出都为正数,且加和为1,这里的softmax就是让输出具有这样的特征。
我们要找到一种评价方式,在这种评价方式下,当前的局面是最好的。因此,我们肯定需要状态价值函数:
目标函数:,策略学习就是改进θ,让最大
策略梯度:如果a是离散的,那么
则有
其中是与有关的,而是与θ有关的,但为了便于理解,把它看作是无关的,拎到外面。
但实际上一般不用这种方法算策略梯度,而是作这个策略梯度的蒙特卡洛近似:
这里的log只是一种方法,莫烦的说法是用log的收敛性比较好。
现在得到了两种策略梯度的计算形式。
1)用第一种形式:
但因为是求和,所以只能用于动作空间是离散区间的情况
2)用第二种形式:适合动作空间是连续区间的情况(离散区间也可以用)
由于是根据抽样得到的,所以是对策略梯度的无偏估计。
流程总结:
这里第3步的怎么算?
1)reinforce方法:用来近似代替
缺点:需要玩完一局,才能知道,才能更新一次
2)actor-critic方法:用神经网络做函数近似
以后再说。