赞
踩
PPO是在基本的Policy Gradient基础上提出的改进型算法
Policy Gradient方法存在核心问题在于数据的bias。因为Advantage估计是不完全准确的,存在bias,那么如果Policy一次更新太远,那么下一次采样将完全偏离,导致Policy更新到完全偏离的位置,从而形成恶性循环。因此,TRPO的核心思想就是让每一次的Policy更新在一个Trust Region里,保证policy的单调提升。
Policy gradient方法是on policy的,因此本来要求每次就使用on policy的数据进行训练。但是很显然,on policy的数据训练一次就扔掉太低效了。所以TRPO及PPO说是on policy,实际上大部分情况是off policy的,只能说是near on policy。怎么做呢?就是一次采样的数据分minibatch训练神经网络迭代多次,一般我们还会重复利用一下数据,也就是sample reuse。对于PPO,最佳的sample reuse=3,即一个样本使用3次。
那么,由于训练中使用了off policy的数据(只有第一个更新是on policy,后面都是off policy),数据分布不同了,因此,我们需要使用importance sampling来调整。
期望等价写成 ∫ f ( x ) p ( x ) d x \int f(x)p(x)dx ∫f(x)p(x)dx 然后引入新的采样分布q(x)进行变换 ∫ f ( x ) p ( x ) q ( x ) q ( x ) d x \int f(x)\frac{p(x)}{q(x)}q(x)dx ∫f(x)q(x)p(x)q(x)dx,这时候我们发现这和最大熵模型引入隐含变量的套路有点相似,然后就可以把原来xp的期望改写成xq的期望。所以最终可以得到
E x p [ f ( x ) p ( x ) ] = E x q [ f ( x ) p ( x ) q ( x )
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。