当前位置:   article > 正文

进阶篇---PPO代码逐行分析_ppo算法代码

ppo算法代码

进阶篇—PPO代码逐行分析

一、TRPO、PPO、DPPO

PG (Policy gradient)
最常用的策略梯度估计其表达形式如下
在这里插入图片描述
TRPO(Trust Region Policy Optimization)
这是一种具有单调递增性质的PG算法,构造了一个带有约束的目标函数
在这里插入图片描述
使用一个惩罚项来替代TRPO的约束项,从而把约束优化问题转换为无约束优化问题
在这里插入图片描述
PPO(Proximal Policy Optimization)
PPO有两种版本,一是使用Clipped Surrogate Objective
在这里插入图片描述
在这里插入图片描述
另一种是Adaptive KL Penalty Coefficient
在这里插入图片描述
值得注意的是这里的超参数初始值并不重要,因为其会很快的自适应调整。
DPPO(Distributed Proximal Policy Optimization)
DPPO是一种同步并行PPO算法。DPPO把网络参数存在到一个服务器上,并且会在每一个gradient step后同步地更新workers的参数。

二、算法流程

首先是一个类似AC中的多任务损失函数
在这里插入图片描述
S S S为交叉熵损失,用来提高策略探索能力, L t V F L_t^{VF} LtVF ( V θ ( s t ) − V t t a r g ) 2 (V_ \theta(s_t)-V_t^{targ})^2 (Vθ(st)Vttarg)2
A3C在每一次迭代中,都要采集T个samples(T远远小于回合长度),计算T个n-step return,然后使用这T个数据更新评价网络:
在这里插入图片描述
PPO也使用了相同的思路,但是使用GAE实现
在这里插入图片描述
最后,整个算法流程如下
在这里插入图片描述

三、代码

逐行分析写在注释上了,有需要的自取我的GitHub

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/171454
推荐阅读
相关标签
  

闽ICP备14008679号