添加时间:2024-04-29 03:44:35
如题,另外Proximal具体表现在算法的哪些地方呢?
在监督学习中可以很容易地实现代价函数,并在上面运行梯度下降,并且,我们将非常有信心通过相对较少的超参数调优得到出色的结果。强化学习的成功之路并不是那么明显——算法有许多难以调试的活动部分,它们需要大量的努力来调优,以获得良好的结果。PPO (Proximal Policy Optimization) 在实现的便利性、样本复杂性和调优的便利性之间取得了平衡,试图在每一步计算一个更新,使代价函数最小化,同时确保与前一个策略的偏差相对较小[1]。
根据《Proximal Policy Optimization Algorithms》[2] 的说法,近端策略优化 (PPO) 提出了一种新的强化学习策略梯度方法,它通过与环境的交互在采样数据之间交替,并优化一个使用随机梯度上升的“替代”目标函数。虽然标准的策略梯度方法对每个数据样本执行一个梯度更新,但是PPO提出了一个新的目标函数,它支持多阶段的小批更新。PPO具有信赖域策略优化 (Trust Region Policy Optimization, TRPO) 的一些优点,但它们实现起来更简单,更通用,并且具有更好的样本复杂度。信赖域策略优化是一种基于策略梯度的强化学习方法,也是了解PPO的前提知识。推荐先阅读《Trust Region Policy Optimization》[3]。
Proximal 这个单词虽然在这里被译为“近端”,但是它还有近侧的、临近的之含义。
如前文所述:PPO试图在每一步计算一个更新,使代价函数最小化,同时确保与前一个策略的偏差相对较小,这里的策略偏差是对于KL散度(KL-divergence)来说的,KL散度是衡量两个概率分布之间的不同程度,如果新策略与旧的策略相差过大,KL散度就会大。PPO的一个实现的变体使用了自适应KL惩罚来控制每次迭代中的策略更改,新的变体使用了一个在其它算法中没有定义的新目标函数,这个目标函数实现了一种与随机梯度下降兼容的信赖域更新方法,并通过消除KL惩罚和需要进行自适应更新来简化算法。其结果相对于TRPO而言,才导致了与前一个策略的偏差相对较小。于是显得距离前一个策略更近一些。
【讨论】
有某位非本专业的知友指出:还能够从 Proximal 这个词汇联想到一类涉及矩阵范数优化问题[4]中的 软阈值算子 (soft thresholding/shrinkage operator)[5] [6],以及 图Lasso 求逆协方差矩阵 (Graphical Lasso for inverse covariance matrix) [7]中使用近端梯度下降 (Proximal Gradient Descent, PGD) 求解 Lasso 问题[8]。
但是客观的说,PPO算法的原文作者 John Schulman等人并未在该论文中对PPO整个算法的数学推导做太多论述,而更多的是从目标函数的设计思路与实现来说的(我打算给作者致函问一下)。如果该知友能够给出整个完整的数学推导,相信对PPO是一个很大的贡献。相信是有发表价值的!
PPO的目标是使用off-policy data对策略进行优化。
首先要注意到,重要性采样只能纠正目标的偏差,而不能纠正样本的方差。那么这一类off-policy算法要解决的核心问题就是,off-policy data和on-policy data分布差异过大导致学习不稳定。
怎么让数据分布差异不太大呢?一种想法是,不要去使用从训练开始到现在采集的所有off-policy data,而是使用最近几个回合的off-policy data,就像是一种在replay pool上执行的滑动窗口,只筛选最近几个回合的样本。由于最近几个回合RL训练过程不可控,策略分布仍然有可能差异太大,造成调参的困难——难以调整滑动窗口的长度。
于是PPO的研究者就会想到,直接度量一下策略分布差异的远近。把分布差异过大的样本所产生的梯度给丢掉。这个近端(proximal)就呼之欲出了,通过梯度剪裁自适应地丢掉那些分布差异过大的策略所采集的样本,我们就可以不去过分考虑调整滑动窗口的具体长度了。
地址:海南省海口市电话:0898-08980898传真:0898-1230-5678
Copyright © 2012-2018 耀世娱乐-耀世注册登录入口 版权所有ICP备案编号:琼ICP备xxxxxxxx号