PPO(Proximal Policy Optimization)是基于策略的强化学习算法,属于off-policy算法。核心在于通过KL散度或Clip方法限制策略梯度更新的幅度,从而优化策略。使用KL penalty算法时,神经网络参数按特定公式更新;采用Clip算法时,参数更新方式亦有差异。这两种方法在PPO算法中体现为更新策略的不同方式。伪代码展示...
PPO Clip相比于PPO Penalty效果更好,也更容易实现。 与PPO Penalty不同,与其费心随着时间的推移改变惩罚,PPO Clip直接限制策略可以改变的范围。PPO Clip将目标散度的变化范围限定在 范围内,替代优势改写为: PPO-Clip中的替代优势 PPO Clip和PPO Penalty一样,都舍弃了二阶梯度的思路,因此可以使用像ADAM等优化器来执...
因此我们称之为自适应KL惩罚(adaptive KL penalty)。 4.2.2 近端策略优化裁剪(PPO-clip、PPO2) 如果觉得计算 KL 散度太复杂了,还有一个 PPO2算法,PPO2 即近端策略优化裁剪。近端策略优化裁剪的目标函数里面没有 KL 散度,其要最大化的目标函数为 第二项前面有一个裁剪(clip)函数,裁剪函数是指,在括号里面有...
第一项期望式是在最大化reward的同时,最小化和SFT模型的per-token KL penalty,可以理解为是一种正则手段,两者组合成关于prompt-Responce pair最终的Reward:R(x,y)=rθ(x,y)−βlog(πΦRL(y∣x)/πSFT(y∣x))。per-token KL penalty的好处如下: 1. 充当熵红利(Entropy bonus),鼓励policy探索并阻止...
PPO-Penalty:前身是TRPO(Trust Region Policy Optimization信任区域策略优化)。二者区别在于TRPO把KL散度作为一个约束,不容易求解;而PPO-Penalty直接把KL作为目标函数的一项(类似正则化)。 PPO-Clip:用clip函数裁剪掉过大或过小的重要性系数,易于实现。 3. 网络设置 ...
我们首先从PPO Penalty入手,它在概念上最接近TRPO。 4.2 PPO Penalty TRPO在理论分析上推导出与KL散度相乘的惩罚项,但在实践中,这种惩罚往往过于严格,只产生非常小的更新。因此,问题是如何可靠地确定缩放参数β ,同时避免overshooting: Δθ∗ = argmax Δθ L θ + Δθ ( θ + Δθ ) −β ( ...
另外一种方法是用 KL 惩罚因子来代替截断的方法: 3. 算法 算法非常简洁。同时这里需要注意:PPO是一个 on-policy 算法! 4. 效果展示 4.1 对比两种更新方法 原论文对比了 no clipping or penalty ,Clipping,KL penalty 三种更新方式之间的区别。结果是后面两个表现更好,另外 Clipping 比 KL 表现更好。
β 是可以动态调整的,因此称之为自适应 KL 惩罚(adaptive KL penalty)。总结:如果 KL(θ,θk)>KLmax,增大 β;如果 KL(θ,θk)<KLmin,减小 β。 这种近端策略优化惩罚(PPO1)算法可以完整表示为: JPPOθk(θ)=Jθk(θ)−βKL(θ,θk)Jθk(θ)≈∑(st,at)pθ(at∣st)pθk(at∣st)Aθ...
KL penalty和Clip PPO算法的核心在于更新策略梯度,主流方法有两种,分别是KL散度做penalty,另一种是Clip剪裁,它们的主要作用都是限制策略梯度更新的幅度,从而推导出不同的神经网络参数更新方式 采用KL penalty算法,那么神经网络参数按照下面的方式更新 采用Clip算法,那么神经网络参数按照下面的方式更新 ...
PPO-Penalty做的事情就更直观了,直接把限制条件放进优化目标中,而这个限制条件就被称为“KL penalty",PPO-Penalty的优化目标如下: arg \max_{\pi_{\theta}}J(\pi_{\theta}) = \underset{\tau \sim \pi_{\theta_{old}}}{E_{t}}[\frac{\pi_{\theta}(a_{t}|s_{t})}{\pi_{\theta_{old}...