强化学习三 || 策略学习

策略函数 π(a|s),它的输入是状态s,输出是一个概率分布,给每一个动作a一个概率值,如下图,就会输出一个三维向量,这三个动作都有可能被抽到,只不过概率有大有小

image-20220213123318590

假如一个游戏只有5个状态,10个动作,我们画一张 5*10的表,表里面每一个格子表示一个概率


我们用神经网络来近似π函数,称之为策略网络 π(a|s;θ)

image-20220213123932214


回顾一下 V 函数

image-20220213124807181

现在我们用神经网络来近似V函数,其实就是用近似的π函数来代替原公式的π函数

image-20220213125018211

V函数可以评估状态s 和策略 π的好坏

image-20220213203306584

我们再在V函数中对 s 求期望消掉 s ,得到 J(Θ) 对 J(Θ) 用策略梯度算法来求最优值

策略梯度算法

image-20220213203629293

这是一个梯度上升算法,β是学习率

推导公式

image-20220213204006784

image-20220213204413422

image-20220213204731736

image-20220213204922270

对于离散的动作——采用累加的方式

image-20220213205757576

对于连续的动作——采用积分的方式

由于π函数是一个神经网络,参数较多,无法直接做积分;所以我们采用蒙克卡罗近似(用一个或多个随机样本来近似期望)来 得到该积分的近似值

image-20220213210141383

从π函数中随机抽出一个动作 a_pred

image-20220213210353230

算出 g(a_pred,Θ)的值 ,这个值就是 无偏估计

image-20220213210540855

image-20220213211422783

image-20220213211510910

采用梯度上升,目的让 V函数变大

image-20220213212150491


总结

image-20220213212443595

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐