策略梯度Policy Gradient
policy决定actor的行为,给定一个输入,输出行为
公式和之前讲的一样
R是一个τ的总分!!!!!!!!!!!不是单个s,a的reward
tip1:add baseline 之前说过
tip2:这个action之前的reward与这个action无关,所以只计算该action和action之后的reward。还可以加入一个衰减因子γ(<1),离该动作时间越长的,影响越小。
on policy:学习的agent和环境互动来学习
off policy:学习的agent和环境与互动的agent不是同一个,这个agent看别人玩来学习。
变了,p
(τ)就变了,就要sample新的τ,所以花很多时间在sample
sample一次τ,训练很多次,就会节约时间。
把从p sample变成从q,q为任意分布,根据公式,变换后还能得到所需要的。从q sample τ,p在变,τ可以一直保持不变,继续训练。
q的几率为0,p不为0的时候没有定义。
p和q不能差太多。因为虽然他们的期望是一样的,但是方差是不一样的。除非sample足够多。
'用来sample,训练
如何做梯度更新
PPO用的比较多,差距是行为上的距离,不是参数的距离。(那个KL让我很迷幻……)
PPO算法:
初始化一个0,
在每个迭代:
用k去sample,st,at。用他们来更新
,可以用很多次。
PPO2
结果是红色的线