Proximal Policy Optimization (PPO)详解

On-policy v.s. Off-policy

On-Policy方式指的是用于学习的agent与观察环境的agent是同一个,所以参数θ始终保持一致。
Off-Policy方式指的是用于学习的agent与用于观察环境的agent不是同一个,他们的参数θ可能不一样。
比如下围棋,On-Policy方式是agent亲历亲为,而Off-Policy是一个agent看其他的agent下棋,然后去学习人家的东西。
在这里插入图片描述

将On-policy变为Off-policy

我在之前的博客里写的Policy gradient用的是On-Policy,现在我们要将其变为Off-policy,那么为什么要变呢?看下图蓝线画的部分,表示的是在某个actor的情况下,或者说是某个参数θ的情况下,随机取样出来不同的┏的期望(可以看看我的这篇博客大致学习一下Policy Gradient详解)然后我们利用梯度上升更新θ,但是θ只要一更新,这个期望就会变,也就是说当theta更新时,我们又必须重新计算期望了。这就导致了想找到一个好的θ太慢了。那么我们使用Off-Policy能解决这个问题,我们使用Πθ‘去和环境做互动,我们可以得到在θ’下所随机取出的样本的期望,然后让Πθ去利用这个这些样本去训练θ,现在,我们介绍一下Importance Sampling.
下图的importance sampling中,那个Ex~p(f(x))表示x从p中取的情况下,f(x)的期望是多少?很明显约等于1/N∑f(xi),但是我们现在规定不准从p中取x,只能从q中取x,那么就有如下的式子转换:蓝框圈的部分是权重,p与q不能相差太多。
在这里插入图片描述
上面的那种做法有一个问题,虽然他们的期望可能相等或者相近,但经过证明,最后方差的式子是不一样的,多了红框圈出的部分,再次说明p与q不能差距太大。
在这里插入图片描述
看下面这张图,先看等式左半边,在p里面取x,那么p的左半边被取的机率很高,然后左半边又都是正的,然后代入f(x),但是f(x)的左边都是负的,所以整个期望是负的。然后再看等式右边,在q里面取,q在右边被取得几率大,然后q大于p,所以p\q小于1,然后f(x)又是正得,所以为正,但事实果真如此吗?如果我现在sample到了一个左边的点,f(x)就为负了,而且p\q>1,这将影响整个右边的结果,可能为负,所以只有在取更多样本时,下面这个式子才越准确。
在这里插入图片描述然后我们将On-policy转换为Off-policy,如下图所示,注意画蓝线的地方,我们是从θ‘sample的样本,然后我们可以使用θ’的样本去多次训练θ。
在这里插入图片描述

在这里插入图片描述那个A就是advantage function,我这篇博客里有这个函数的简介(可以看看我的这篇博客大致学习一下Policy Gradient详解
在这里插入图片描述

PPO算法/TRPO算法

PPO算法是一种新型的Policy Gradient算法,Policy Gradient算法对步长十分敏感,但是又难以选择合适的步长,在训练过程中新旧策略的的变化差异如果过大则不利于学习。PPO提出了新的目标函数可以再多个训练步骤实现小批量的更新,解决了Policy Gradient算法中步长难以确定的问题。
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

PPO2

在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值