李宏毅深度强化学习(国语)课程(2018) 笔记(二)Proximal Policy Optimization(PPO)

   李宏毅深度强化学习(国语)课程(2018)_哔哩哔哩_bilibili

        on-policy:要learn的agent和环境互动的agent是同一个,即agent一边跟环境互动,一边学习;

        off-policy:要learn的agent和环境互动的agent是同一个,即在旁边看别人玩。

        on-policy→off-policy的目的是为提高数据利用效率

        on-policy→off-policy的公式推导:实现从p分布的policy中sample data→q分布的policy中sample data。

        实际操作中,p分布和q分布还是不能差太多,否则会导致一些问题出现。这是因为期望相等,方差Variance不一定相等,公式推导如下。

         如果sample的次数不够多,就会出现问题,如下图。

        由于跟环境做互动的是θ',而不是θ,因此,θ' sample出来的数据和θ没有关系。进而,可以实现θ'跟环境做互动产生一大堆数据以后,θ可以update很多次。Train到一定程度以后,θ'重新跟环境做互动。

        A^{^{\theta }}(s_{_{t}},a_{_{t}})是Accumulated Reward 减去 bias,用来估测动作的相对好坏,如果正就增加动作几率,如果负,就减少几率。

        这里有个假设,p_{\theta }(s_{_{t}})p_{​{\theta }'}(s_{t})分布是差不多的,可以抵消,另外的原因是因为算不出来的。

        前面的假设是p_{\theta }(s_{t}|a_{t})p_{​{\theta}' }(s_{t}|a_{t})不能差太多,否则结果会不准确。那么,如何避免差太多,就是PPO要做的事情,就是在training的时候,多加了一个constraint这个constraint就是θ和θ'这两个model 输出的action的KL散度,KL Divergence。TRPO是PPO的前身,constraint的位置不同是两者的区别。

        注意:PPO比TRPO在实操上容易多,效果差不多。KL Divergence并不是θ和θ'参数的距离,是行为上的距离,即给同一个state的时候,action几率分布之间的差距。

        PPO算法流程:

         PPO 2 公式复杂,但是操作起来简单。

式中, clip函数的含义

式中,min函数的含义 

猜你喜欢

转载自blog.csdn.net/qq_22749225/article/details/125491056