[强化学习]易混知识勘误_from李宏毅P2——PPO\Off-policy\On-policy

本文是这篇博文的注,如有需要请以其为纲

知识勘误其他笔记链接

易混知识勘误_from李宏毅P1-----Policy Gradient

易混知识勘误_from李宏毅P2——PPO\Off-policy\On-policy

易混知识勘误_from李宏毅P3——Q_Learning

易混知识勘误_from李宏毅P4——Actor-Critic/A3C

易混知识勘误_from李宏毅P5——Sparse Reward的解决方法(目标太难怎么办)

易混知识勘误_from李宏毅P6——Imitation Learning 模仿式学习


目录

1.难题:On-policy & Off-policy 有啥区别?

2.为啥训练的policy和样本的policy不一致也可以用?Importance Sampling

3.怎么理解Importance Sampling要求多次采样才能取等的限制?

4.PPO(Proximal Policy Optimization)是怎么回事?

5.PPO2-PPO的改进版


1.难题:On-policy & Off-policy 有啥区别?

若agent与环境互动,则为On-policy(此时因为agent亲身参与,所以互动时的policy和目标的policy一致);若agent看别的agent与环境互动,自己不参与互动,则为Off-policy(此时因为互动的和目标优化的是两个agent,所以他们的policy不一致)。

两者在采样数据利用上的区别

  • On:这时要求采样所用的policy和目标policy一致,采样后进行学习,学习后目标policy更新了,此时需要把采样的policy同步更新以保持和目标policy一致,这也就导致了需要重新采样。
  • Off:这种情况下,反正采样的plicy也和目标的policy不一样,所以你目标的policy随便更新,采样后的数据可以用很多次也可以。

2.为啥训练的policy和样本的policy不一致也可以用?Importance Sampling

首先声明一下:Importance Sampling的概念就是,把一个分布和函数值都会变的函数的期望,转化成分布不变函数值大变的函数的期望。

从Expected Reward观察on-policy:

故事:现在有一些档案,其中不同的档案有不同的分数,其中当档案的比例变了后,当把档案放回柜子的时候,柜子有魔法将会修改档案的内容。现在先把所有档案从柜子里拿出来,之后首先要把一些发潮的档案扔掉(有些\tau没有被采样到),然后再通过扔掉一些档案调整各个档案的数量比,之后随机选10个出来,让分数最高。然后把档案放回柜子,此时因为档案的比例变了,所以档案的内容也变了。

上面的故事中,不同的档案就是不同的\tau,档案的分数就是\tauR,扔档案调整比例就是调整policy \theta,那么会根据比例调整档案内容的设定是从哪里来的呢?那是因为\tau(档案)的内容和policy(比例)有关,当policy改变的时候,\tau必然发生改变。

现在的问题是,每次从柜子中拿档案这个过程是由小蚂蚁进行的,这个过程可能要花费10天,我们想能不能让小蚂蚁只拿一次档案呢?

 

我们的目标是求这个:,但是E的角标的p(\theta)一直在变,我们不希望他一直在变,所以用下面这个式子代替之,这里的q不变,目的达成!

为什么p(\theta)一直在变呢? --因为我们的优化对象是\theta,p(\theta)中的自变量在变,所以它的函数值也在变

为什么我们不期望他一直在变呢?--因为\tau(Trajectory)是由\theta(policy)决定的,当policy改变的时候,\tau就会发生改变,这时候就需要重新生成一次\tau,而这是十分费时间,所以不希望p(\theta)一直在变

3.怎么理解Importance Sampling要求多次采样才能取等的限制?

如上图,首先明确:f(x)是一个函数,p是x的出现概率,q是x的另一种出现概率。期望获得p下x的f(x)的期望,但是目前只能对q下x进行采样。这时可通过第一行的式子进行转换。

上式的局限性:若采样很多,虽然概率小,但是也可能采到最左侧的那个采样点,因为它的p/q都很大,所以右式和左式可以相等;若采样不多,则上面的等式可能不成立。

4.PPO(Proximal Policy Optimization)是怎么回事?

Importance Sampling结合到RL中,这样就可以把一个policy所得到的\tau集合多次使用。但是因为训练所得的policy \theta和样本数据的policy \theta'差别太大,所以对原问题加一个constrain KL(\theta\theta'

KL的含义是,衡量\theta 和 \theta'有多像。这里的KL衡量的是两者的behaviour的距离(给定s时输出的a[这个其实是用概率向量表征]的差距)

PPO的前身是TRPO(Trust Region Policy Opti),PPO相比TRPO,把KL结合到了J的式子中,少了一个约束

【beta】

其中KL前面的参数\beta如何设置?先设置一个能接受的最大差别KL_{max},然后对J进行优化,并观察KL的大小,若KL大于你的KL_{max},则说明J没把KL放在眼里,就把\beta调大。

5.PPO2-PPO的改进版

 相比PPO,PPO2是对两个线取min,仔细看后面的那个其实和前面的那个一样只是系数不同,那个clip的含义是:对第一个参数的上下限进行限制,下限为2参,上限为3参。整体的图像如下所示

上图横轴为p_{\theta}/p_{\theta'},表示两个policy的差别,绿色为min后的第一个成员,蓝线为min的第二个成员。红线为A>/<0 时的J。

当A>0时期望p_{\theta}尽可能地大,但是不能和p_{\theta'}差别过大,如左图,过大则为平。

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值