机器学习与深度学习系列连载: 第三部分 强化学习(十四) 深度强化学习-策略梯度与OpenAI的当家算法:PPO(2)

策略梯度与OpenAI的当家算法:PPO(2)

1. 从在线策略到离线策略(on policy and off policy)

• On-policy: Agent 学习和交互的环境是同一个环境
• Off-policy: Agent 学习和交互的环境是不是同一个环境

举例:下棋的时候是自己下棋 就是on policy
下棋前先看别人下棋,然后自己总结经验来下棋,就是off policy

为什么要考虑off-policy 的策略:

on-policy过程中数据是由policy和环境多次互动得到的,但是policy update之后,数据又要重新从环境中收集,以前的数据无法使用,造成训练缓慢。

off-policy 目标: 数据从另外一个策略??′中sample出来,我们可以重复使用这些数据。

2. 重要性抽样:Importance Sampling

一般的,当 x i x_i xi 从p(x)中sample出,那么当 x i x_i xi 从另外一个概率密度函数q(x),sample出呢?
在这里插入图片描述

两者的方差区别:

在这里插入图片描述

在这里插入图片描述

由于:
在这里插入图片描述
所以有:
在这里插入图片描述

  • Importance Sampling的注意事项:
    p(x) 和 q(x) 的分布不能相差太远。 下图中国就是分布相差太远后,期望值的正负都会受影响。
    在这里插入图片描述

3. 离线策略 off policy 策略梯度算法

我们使用另外的策略 θ ′ \theta^{'} θ,sample 数据
根据important sampling:
在这里插入图片描述
于是在策略梯度中,我们有:
在这里插入图片描述

在这里插入图片描述

反推我们的目标函数:
在这里插入图片描述

4. TRPO和PPO

核心思路: 不能让离线策略和现实策略差距太大

最牛的算法,也是最基本的思路上衍生出来的,希望大家有所领悟。

(1) TRPO (Trust Region Policy Optimization)
在这里插入图片描述

TRPO其实就是增加了 K L ( θ , θ ′ ) KL(\theta,\theta^{'}) KL(θ,θ)的Constraint,就是这么简单。

(2) PPO 算法

PPO 其实将 K L ( θ , θ k ) KL(\theta,\theta^{k}) KL(θ,θk) t h e t a k theta^{k} thetak和TRPO
t h e t a ′ theta^{'} theta都是离线策略)的Constraint 就像L1或者L2一样,列入到目标函数:

在这里插入图片描述
其中的KL距离是动态调整的:
在这里插入图片描述

算法是:
• Initial policy parameters θ 0 \theta_0 θ0
• In each iteration
• Using ?? to interact with the environment to collect
?? , ?? and compute advantage A θ k A_{\theta k} Aθk ?? , ?? • Find ? optimizing ? ?

(2) PPO2 算法

我们给:在这里插入图片描述
手工设定值得下限和上限。
在这里插入图片描述在这里插入图片描述

整体的目标函数:
在这里插入图片描述

5. 总结

实验结果:
from https://arxiv.org/abs/1707.06347
在这里插入图片描述

千里之行,始于足下,在人工智能学习中,高级的、复杂的算法
都是基于基础理论和基础算法的。所以只要坚持不懈,一定会有突破。

本专栏图片、公式很多来自David Silver主讲的UCL-Course强化学习视频公开课和台湾大学李宏毅老师的深度强化学习课程,在这里,感谢这些经典课程,向他们致敬!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值