并非所有转换都重要:来自PPO的证据

arXiv cs.LG 论文

摘要

本文研究了使用PPO进行在线强化学习中的时间相关性问题,表明从轨迹中随机丢弃固定比例的转换可以减少梯度冗余并稳定训练,而不会降低性能。

arXiv:2605.24071v1 公告类型:新 摘要:在线策略下训练强化学习代理意味着每次更新时收集新的经验,而这些经验伴随着一个隐藏的问题。轨迹中的每个状态都是前一个状态的直接输出,由代理自身的动作因果链连接。因此,连续的转换永远不会真正独立。它们携带重叠的信息,网络接收到的梯度信号最终比批次大小所暗示的重复得多。相同的方向被反复强化,价值网络在策略变化时难以跟上,训练变得悄无声息地不稳定,而奖励曲线很少能揭示这一点。 本文探讨了这种冗余是否可以直接消除。我们表明,在适当的阶段从轨迹中随机丢弃固定比例的转换,同时保持奖励信号完整,就足以打破重复的梯度结构并稳定训练。改变很小:一个采样步骤,没有新组件,不修改核心算法,并且适用于任何PPO实现。在五个难度递增的环境中——CartPole-v1、Acrobot-v1、LunarLander-v2、HalfCheetah-v5和Hopper-v5——该方法在奖励上与原始PPO匹配,同时在KL散度、策略熵和价值估计上产生更一致的训练动态。丢弃25%的转换被证明是最佳点:足以破坏冗余,又不会使批次过薄。
查看原文
查看缓存全文

缓存时间: 2026/05/26 09:00

# 来自PPO的证据:在不降低性能的情况下减少PPO中的时间相关性
来源:https://arxiv.org/html/2605.24071
Ajhesh Basnetajheshb@gmail\.com 人工智能与数据科学系,KPR工程技术学院,哥印拜陀

###### 摘要

在策略上训练强化学习智能体意味着每次更新时都要收集全新的经验,而这些经验本身隐藏着一个问题。rollout中的每个状态都是前一个状态的直接输出,由智能体自身的动作因果地串联在一起。因此,连续的转换并非真正独立。它们携带重叠的信息,网络接收到的梯度信号最终比批大小所暗示的要重复得多。相同的方向被一遍又一遍地强化,价值网络在策略变化时难以跟上,训练会变得悄无声息地不稳定,仅凭奖励曲线很难揭示这一点。

本文探讨是否可以直接移除这种冗余。我们证明,在适当的阶段,从rollout中随机丢弃固定比例的转换(同时保持奖励信号完整),足以打破重复的梯度结构并稳定训练。改动很小:一个采样步骤,无需新组件,无需修改核心算法,并且适用于任何PPO实现。在五个难度递增的环境中(CartPole-v1、Acrobot-v1、LunarLander-v2、HalfCheetah-v5和Hopper-v5),该方法在奖励上与标准PPO持平,同时在KL散度、策略熵和价值估计方面产生更一致的训练动态。丢弃25%的转换似乎是最佳点:足以打破冗余,又不会使批处理变得过于稀疏。源代码:https://github.com/ajheshbasnet/rollout-slim。

## 1 引言

监督学习假设训练样本是独立同分布的(IID)。在此假设下,跨批次的梯度信号保持多样性和非冗余性,学习过程稳定进行。在策略上的强化学习中,这个假设不仅被打破,而且从结构上就被破坏了。

在单个轨迹τ中,每个状态sₜ₊₁都是sₜ的直接因果产物。轨迹不是独立观测的集合,而是一个链条,其中每个转换都源于策略自身先前的决策。将其输入神经网络会产生梯度向量,这些向量在每次更新时都指向几乎相同的方向,产生功能上共线的权重变化,从而减慢并破坏学习的稳定性,这在训练看起来已经出问题之前很难察觉。

还有第二个更难发现的问题。一旦策略更新超越了τ₁,价值网络就开始处理它从未训练过的状态。陈旧的价值估计会导致损坏的优势信号,进而产生损坏的策略梯度,将智能体推向批评者更少见过的新的状态空间区域,并且这个循环不断收紧。这是“致命三元组”[2 (https://arxiv.org/html/2605.24071#bib.bib2)]的一个直接实例:函数逼近与非平稳数据分布下的自举相结合。

像DQN和SAC这样的离策略方法通过经验回放来规避这个问题。转换被存储、打乱并随机采样,这在实际中能很好地近似IID。像PPO[1 (https://arxiv.org/html/2605.24071#bib.bib1)]这样的在策略方法无法做到这一点。数据必须来自当前策略,因此旧的转换不能重复使用,时间相关性问题在每个rollout中都被搁置未解决。

使得这个问题值得进一步研究的是一个反直觉的观察结果:如果你从rollout中随机丢弃一大比例的转换,并且仍然与使用所有转换训练的智能体性能相匹配,这强烈暗示大多数转换携带的梯度信号几乎相同。状态之间的相关性如此之高,以至于网络实际上并非独立地从每个状态中学习——它看到的是相同的信息在重复。这是本文所依据的核心发现。

#### 向量化环境呢?

对时间相关性的一种常见实际应对方法是同时运行6-8个并行环境副本,同时从多个独立轨迹中收集转换。这确实能减少批次内的相关性,因为每个工作线程处于不同情节的不同位置。它是有效的。但并行运行N个环境意味着N倍的内存和N倍的CPU开销,在单台机器或受限硬件上,这种成本会迅速增加。这里介绍的方法通过在优势估计后进行子采样,从单个环境rollout中实现类似的相关性降低效果。它并非在所有情况下都能替代向量化环境,但它是实现相同目标的一条显著更便宜的路径。

本文研究三种方法来减少这种相关性,而不触及核心PPO目标或损害性能。

## 2 背景

### 2.1 在策略轨迹收集

在策略RL中,智能体通过在当前策略πθ下运行环境来收集轨迹:

τ = (s₀, a₀, r₀) → (s₁, a₁, r₁) → (s₂, a₂, r₂) → … → (sₜ, aₜ, rₜ) (1)

每个转换(sₜ, aₜ, rₜ, sₜ₊₁)都是由前一个因果产生的,使得轨迹成为一个时间上依赖的链条,而不是独立观测的集合。

### 2.2 时间相关性及其对梯度的影响

策略梯度目标是:

∇J(θ) = E_{τ∼πθ}[∑ₜ ∇log πθ(aₜ|sₜ) · Aₜ] (2)

这个期望假设样本来自平稳分布。在实践中,连续状态sₜ和sₜ₊₁高度相似,因此梯度向量∇log πθ(aₜ|sₜ)和∇log πθ(aₜ₊₁|sₜ₊₁)最终几乎平行。

### 2.3 非平稳自举反馈循环

价值网络的TD更新是:

V(sₜ) ← V(sₜ) + α[rₜ + γV(sₜ₊₁) − V(sₜ)] (3)

V(sₜ)和V(sₜ₊₁)都来自同一个网络,其权重在训练期间不断变化。在τ₁上训练后,批评者能很好地拟合这些状态,损失较低。经过n次更多的轨迹更新后,权重已经发生了显著漂移。现在在τ₁上评估批评者会产生高误差,即使该误差在最初训练时很低。这会在轨迹间不断累积,并导致非平稳自举反馈循环,这是“致命三元组”[2 (https://arxiv.org/html/2605.24071#bib.bib2)]的一个特例:函数逼近加上自举再加上不断变化的数据分布。

要理解为什么这是一个问题,考虑一个简单的类比。想象一位老师只教微积分来训练一个学生。每个例子、每次练习、每个测试都来自那一章。学生在微积分上表现出色。然后几周后,老师开始问代数的问题,假设学生同样准备好了。学生很挣扎,并不是因为他们忘记了微积分,而是因为他们从未被训练过新材料。价值网络正面临这种情况。它在τ₁的状态分布上训练,但随着策略更新,智能体访问不同的状态,批评者被要求评估的分布在其下发生变化。批评者的预测变得不可靠,不是因为网络忘记了所学的东西,而是因为所学的与现在被问及的东西不再匹配。

### 2.4 为什么在策略方法必须丢弃旧数据

重用来自旧策略πθ_old的轨迹来更新当前策略πθ会引入分布不匹配。训练数据不再反映当前策略实际到达的地方,这会以在更新中不断累积的方式偏差梯度。丢弃旧轨迹并非实际不便,而是因为使用它们违反了推导目标时所依据的假设。

### 2.5 相关工作

在策略RL中的数据效率和相关性问题吸引了越来越多的研究工作,每种方法都从不同角度入手。GePPO[4 (https://arxiv.org/html/2605.24071#bib.bib4)]将PPO扩展到离策略设置,通过推导在样本重用下成立的策略改进保证,并将这些保证直接与原始算法中的裁剪机制联系起来。PTR-PPO[5 (https://arxiv.org/html/2605.24071#bib.bib5)]采用了一种互补的方法,将策略收集与旧轨迹的优先回放相结合,以从每次rollout中提取更多信号。PPG[6 (https://arxiv.org/html/2605.24071#bib.bib6)]将策略和价值优化阶段完全分离,允许批评者以更高的样本重用率进行训练,而不影响策略的稳定性。最近,PROPS[7 (https://arxiv.org/html/2605.24071#bib.bib7)]观察到有限的在策略样本通常无法匹配真实的在策略分布——采样误差本身就是高方差梯度的来源——并通过使用自适应离策略行为策略来收集更接近当前策略分布的数据来解决这个问题。SAPG[8 (https://arxiv.org/html/2605.24071#bib.bib8)]采取了一条不同的路径:它将并行环境划分为块,每个块优化一个独立的策略,然后通过离策略更新将它们组合起来,以恢复单策略rollout固有缺乏的数据多样性。

另一条独立的研究路线研究了rollout内数据的统计结构(不仅仅是数据如何收集)如何塑造学习。Hollenstein等人[9 (https://arxiv.org/html/2605.24071#bib.bib9)]发现PPO中相关的动作噪声系统性地改善了探索,最佳噪声颜色介于白噪声和粉红噪声之间,具体取决于每次更新收集的数据量。Tavakoli等人[10 (https://arxiv.org/html/2605.24071#bib.bib10)]更广泛地表明,动作冗余(即不同动作导致几乎相同的下一状态转换)是RL中的一个基本问题,并在离散和连续设置中都降低了样本效率。

这些方法的共同点是它们都在数据收集阶段进行干预:它们改变了轨迹的收集方式、旧轨迹的权重方式或行为策略的选择方式。我们的方法不同。我们完全不改变rollout和优势估计,仅在优势计算完成后、梯度更新形成时对转换进行子采样。这意味着奖励信号被完全保留,而优化批次变得不那么冗余——这一区别被证明是重要的,正如本文中的方法1和方法2所展示的那样,它们正是因为更早地干预并在此过程中破坏了信用分配信号而失败。

## 3 方法

所有三种方法均使用PPO在五个环境中进行评估:CartPole-v1、Acrobot-v1、LunarLander-v2、HalfCheetah-v5和Hopper-v5。

### 3.1 方法1:固定K步采样

这里,转换仅每K步存储到缓冲区一次。中间奖励不会被丢弃——它们被累积并添加到存储的转换的奖励中。例如,对于状态s₀, s₁, s₂, s₃, s₄:s₀被存储,s₁和s₂被跳过但它们的奖励被累积,s₃被存储,奖励为r₀ + r₁ + r₂ + r₃。这保留了总奖励信号,同时减少了缓冲区中相关转换的数量。

#### 动机。

在存储的样本之间设置固定的时间间隔并累积中间奖励,旨在减少梯度共线性,同时不丢失被跳过步骤的奖励信号。

#### 结果。

该方法仅在低复杂度的离散环境中效果相当好,例如CartPole-v1,其状态空间小,奖励信号密集且简单,固定的跳步间隔足以捕获关键的状态转换。然而,它在更复杂的环境中失败。在Acrobot-v1上,其奖励结构稀疏且需要协调的多关节控制,该方法显示出早期的不稳定性。LunarLander-v2暴露了该方法的核心弱点。在跳过步骤上求和奖励会丢失细粒度的因果信号——智能体无法知道它在任何特定时间步做对了或做错了什么,收敛性也因此受到影响。固定的跳步间隔还带来了另一个问题:它在每个轨迹的相同位置留下空洞,并且这些盲点永远不会被轮换掉。

### 3.2 方法2:随机自适应K步采样

方法1总是跳过相同的位置——所以修复方法很简单:不再使用固定间隔,而是随机绘制跳步间隔:

ε = N(0, 1) (4)
k′ = { k if ε > 0; k+1 if ε ≤ 0 } (5)

#### 动机。

固定的K意味着相同的状态在每个轨迹中被无一例外地跳过——如果K=2,只有偶数索引的状态进入缓冲区,而每个奇数索引的状态对优化器永久不可见。通过ε∼N(0,1)随机化跳步间隔解决了这个问题:间隔每次都会改变,因此缓冲区不再有固定的奇偶偏差,并且随着时间的推移,实际上会看到更广泛、更具代表性的轨迹切片。

#### 结果。

方法2在方法1的基础上有了真正的改进——CartPole-v1训练得更干净,在Acrobot-v1上,旋转的盲点帮助明显。但LunarLander-v2仍然不工作,原因在于随机化跳步并没有触及实际问题:奖励仍然在被跳过的步骤上求和,而这种求和正是破坏具有塑形奖励的环境中的精确信用分配的原因。两种方法最终都有相同的缺陷——它们适用于小型、简单、离散的游戏,但一旦环境要求智能体准确理解哪个动作导致了哪个结果,它们就会失效。

### 3.3 方法3:随机P%轨迹子采样

该方法匹配了标准PPO的性能,并且在某些情况下在稳定性上超过了它。

#### 关键见解。

方法1和方法2都在数据收集阶段(优势估计运行之前)进行干预,这损害了奖励信号的完整性。方法3在优化阶段(优势估计之后)进行干预,因此真实信号被完全保留,而梯度更新仍然被去相关。

#### 步骤。

完整的轨迹缓冲区正常收集,不进行跳步。在完整、未修改的转换序列上计算优势:

Âₜ = ∑_{l=0}^{∞} (γλ)ˡ δₜ₊ₗ, δₜ = rₜ + γV(sₜ₊₁) − V(sₜ) (6)

在此之后,从完整轨迹中随机选择p%的转换(无替换)形成用于优化的批次。

相似文章

无漂移扩散策略优化

arXiv cs.LG

DiPOD通过交错自蒸馏与策略梯度更新来稳定扩散策略优化,保持紧凑的ELBO,防止双重漂移现象,在语言和连续控制任务中均能获得更高奖励。

超越LLM强化学习中的统一令牌级信任区域

Hugging Face Daily Papers

本文介绍了CPPO,这是一种通过使用位置加权阈值和累积前缀预算来改进基于可验证奖励的LLM强化学习方法,旨在解决统一令牌级信任区域的局限性。

基于同伴成功与失败的多 rollout 在策略蒸馏

arXiv cs.LG

提出多 rollout 在策略蒸馏 (MOPD),一种将教师条件化于同伴成功和失败的 rollout 以提供更密集的 token 级监督进行语言模型后训练的方法,在多个基准上提升了性能。

近端策略优化

OpenAI Blog

# 近端策略优化 来源: [https://openai.com/index/openai-baselines-ppo/](https://openai.com/index/openai-baselines-ppo/) OpenAI 我们推出了一类新的强化学习算法——近端策略优化(PPO),其性能与最先进的方法相当或更优,同时实现和调优都要简单得多。由于易用性和良好的性能,PPO 已成为 OpenAI 的默认强化学习算法。[策略梯度