PPO原论文阅读

一、Introduction

1.目前存在的问题:

(deep)Q-learning:在一些简单问题上表现不佳,可理解性差

基础的policy gradient算法:(如REINFORCE)鲁棒性差,需要大量数据

TRPO:复杂,在包含噪音(如dropout)或者权重共享机制的问题中不兼容

在扩展性、数据利用率以及鲁棒性上还有上升空间

二、背景知识:策略优化

1.策略梯度方法

策略梯度中常用的gradient estimator格式:

相对应的目标函数:

2.Trust Region方法(TRPO)

加入拉格朗日因子变成:

问题:很难选择一个确定的β在所有问题 甚至某一类问题上都表现的很好。

三、引入Clipped形式

1.限制过度乐观:

这个式子的形式很巧妙,使用clip来防止结果过于激进:如A>0时如果r超过1+E就进行截断处理,A<0时如果r小于1-E就进行阶段处理。

当新策略试图对旧策略已经做得不错(A_t > 0)的地方进行过于激进的改进(r_t >> 1),或者对旧策略做得不好(A_t < 0)的地方进行过于激进的避免(r_t << 1)时,PPO会踩刹车(裁剪),防止策略突然偏离太远导致崩溃。

2.允许必要的悲观修正

但是不会阻止悲观的结果:如果A>0且r<1-E则不进行截断处理,A<0时r>1+E时不进行截断处理。这是为了激励模型积极学习,下面是解释:

  • 情景一 (A_t>0, r_t<<1):r_t*A_t 是一个很小的正数(甚至可能变负) ,而 clip(r_t, 1-ε, 1+ε)*A_t ≈ (1-ε)*A_t 是一个较大的正数 。所以 min 选择了很小的 r_t*A_t

  • 情景二 (A_t<0, r_t>>1):r_t*A_t 是一个很大的负数 (因为负的A_t被放大了),而 clip(r_t, 1-ε, 1+ε)*A_t ≈ (1+ε)*A_t 是一个较小的负数 (负的A_t被缩小了)。所以 min 选择了很大的负数 r_t*A_t

  • 目标函数的含义: PPO的目标是最大化 这个 min(...) 函数的值。

  • 梯度更新的方向: 为了最大化目标函数:

    • 在情景一中,目标函数取了一个很小的值(甚至负值)。为了最大化它,优化器会强烈地推动策略参数 θ 朝着增加 r_t(θ)(即增加选择这个好动作的概率)的方向更新

    • 在情景二中,目标函数取了一个很大的负值。为了最大化它(即让这个负值变得不那么负),优化器会强烈地推动策略参数 θ 朝着减少 r_t(θ)(即减少选择这个坏动作的概率)的方向更新

  • "积极更新"的体现: 由于目标函数值在错误方向上非常差(很小或很负),优化器计算出的梯度(更新方向)的幅度会非常大 。这导致参数 θ 会在这个方向上迈出相对较大的一步,迅速纠正这个错误。这就是"允许更积极地更新"的数学体现。

想象你在训练一个机器人走路(策略)。PPO的clip机制就像给机器人脚上装了带弹簧的限制器([1-ε, 1+ε])。

当机器人想迈出一个非常大的步子向前冲(乐观更新,可能跌倒)时,弹簧限制器会拉住它(裁剪),只允许它迈出安全的一步。

但当机器人不小心踩空,即将向后摔倒(严重错误,性能崩溃)时,弹簧限制器不会阻止它把脚快速收回来重新站稳(不裁剪,允许积极纠错)。如果这个时候限制器还强行拉住脚不让它收回来,机器人肯定会重重摔倒。PPO选择松开限制器,让机器人能迅速做出挽救动作

说白了就是允许严重的错误,而模型为了纠正这个错误会强烈推动策略参数的更新。

四、Adaptive KL Penalty Coefficient

论文中指出了一个替代或者补充方法,就是增加KL惩罚项,但是这个的表现明显比clip的糟糕。

五、算法完整过程

最终算法是要梯度上升下面这个式子来实现参数更新:

其中CLIP就是三中的式子,不再介绍。VF表示和target的损失函数,S表示熵奖励(为了提高模型中的探索性)。

这里解释一下VF:因为我在学习强化学习的时候感受到的强化学习和监督/无监督学习的主要区别就是解决的问题不同,监督/无监督学习主要是为了优化,是可以有固定的标签的,只是训练的时候给不给的问题(或者好不好获得),但强化学习是关于和环境交互学习策略的,是没有办法获得具体标签的,所以强化学习的目标是最大化state value而监督/无监督学习是最小化和target之间的loss函数。但是这里的VF感觉像是监督学习了。

答:虽然强化学习整理是"无监督" 的,但是在训练值函数的时候可以构造一个"伪标签"。也就是说这里的target不是环境直接给的target,而是我们基于经验计算的目标。

VF项的展开公式是,其中Vθ(st)是为了估计每个状态的价值而构建的值函数网络,训练时,我们用采样得到的经验去构造目标值 Vtarg,再用 均方误差(MSE) 来回归这个目标值。

相关推荐
DuHz2 小时前
超宽带脉冲无线电(Ultra Wideband Impulse Radio, UWB)简介
论文阅读·算法·汽车·信息与通信·信号处理
c0d1ng13 小时前
二月第二周周报(论文阅读)
论文阅读
DuHz13 小时前
通过超宽带信号估计位置——论文精读
论文阅读·人工智能·机器学习·自动驾驶·汽车
Biomamba生信基地14 小时前
《Science Advances》11例样本图谱文章,空间转录组揭示特发性肺纤维化病理特征
论文阅读·空间转录组分析
觉醒大王2 天前
哪些文章会被我拒稿?
论文阅读·笔记·深度学习·考研·自然语言处理·html·学习方法
觉醒大王2 天前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
张较瘦_3 天前
[论文阅读] AI | 用机器学习给深度学习库“体检”:大幅提升测试效率的新思路
论文阅读·人工智能·机器学习
m0_650108243 天前
IntNet:面向协同自动驾驶的通信驱动多智能体强化学习框架
论文阅读·marl·多智能体系统·网联自动驾驶·意图共享·自适应通讯·端到端协同
m0_650108244 天前
Raw2Drive:基于对齐世界模型的端到端自动驾驶强化学习方案
论文阅读·机器人·强化学习·端到端自动驾驶·双流架构·引导机制·mbrl自动驾驶
快降重科研小助手4 天前
前瞻与规范:AIGC降重API的技术演进与负责任使用
论文阅读·aigc·ai写作·降重·降ai·快降重