强化学习PPO算法的思路流程

首先可以肯定的是PPO算法是基于actor-critic框架的,但是它又含有强烈的Policy Gradient的风格。本文仅介绍PPO算法的应用流程。

通常PPO算法的实现中有三个network,一个critic network,两个actor network(old_actor and new_actor)。在一个episode中,agent首先利用现有的策略Pi (new_actor network)与环境进行互动获得一个batch的数据,在这个过程中actor和critic网络是不会被优化的。而在获得一个完整的batch数据后,actor network和critic network开始对这一batch数据进行学习,这一点类似于Policy Gradient。但又不同于Policy Gradient的是,actor network和critic network会对sample到的这一个batch的数据进行T次的学习。

其中,在采集完这个batch数据后,使用critic network获得估计的值函数,然后根据critic network估计的值函数和batch数据中存储的每个时刻的reward按照一定的折扣率分别计算采集到的这个batch数据中每个时刻值函数,如下公式所示

在对采集到的这个batch数据学习时,old_actor network就用到了。首先将获得这个batch数据的new_actor network中的参数复制给old_actor network,然后开始进行new_actor network和critic network的学习。首先将这个batch数据存储的T个state输入给critic network,critic network分别输出T个时刻的估计值函数,然后再根据公式(10)所示计算出T个target value function,最后就可以计算出T个优势函数(TD error)(不同于DDPG中用target network来以计算TD error)

之后就利用batch数据的TD error对new_actor network的参数进行N次优化,其中的loss如下式所示

最后,利用batch数据的TD error对critic network进行B次优化。对critic network的优化方法和Advantage actor-critic算法中所用方法基本一样。

  • 6
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值