ICML 2026 poster
这篇文章提出了 Reparameterization Proximal Policy Optimization (RPO) ,核心贡献在于建立了重参数化策略梯度(RPG)与PPO风格替代目标函数之间的理论联系,从而为RPG提供了统一、稳定的样本复用机制。
RPO 解决了 RPG 领域的两个核心痛点:
- 样本利用率低:RPG 通过反向传播计算动力学雅可比矩阵(Jacobians)代价高昂,但此前方法仅用一次就丢弃;
- 训练不稳定:RPG 在长时域或接触动力学环境中容易出现梯度爆炸/消失。
RPO 通过以下三个关键设计实现稳定且高效的样本复用:(i) 将 RPG 与 PPO 风格的替代目标函数统一;(ii) 针对 RPG 特性的重要性权重裁剪机制;(iii) 显式 KL 散度正则化。实验表明,RPO 在 DFlex 和 Rewarped 模拟器上的多个运动控制与灵巧操作任务中,均实现了 SOTA 级别的样本效率和最终性能。
想象你在教一个机器人走路。传统 RPG 方法(如 SHAC)的做法是:让机器人走一段路,然后立刻根据这段经验调整策略一次------之后就扔掉这段经验。问题是,计算"这段经验对策略的反馈"需要遍历整个运动学链条(计算雅可比矩阵),这个过程非常耗时。如果能像 PPO 那样,用同一段经验反复更新策略多次,效率会大幅提升。
但这里有个陷阱:RPG 本身就不稳定,反复使用旧数据会让策略"跑偏"得更厉害,导致训练崩溃。RPO 的核心洞察是:RPG 在复用样本时,实际上是在优化一个 PPO 风格的替代目标函数。基于这一洞察,RPO 设计了专门的裁剪和正则化机制,让 RPG 也能像 PPO 一样稳定地复用样本,从而兼得"高样本效率"和"训练稳定性"。
文章目录
-
- 一、研究背景
-
- [1.1 强化学习与策略梯度](#1.1 强化学习与策略梯度)
- [1.2 两种策略梯度估计器](#1.2 两种策略梯度估计器)
- [1.3 RPG 的两大瓶颈](#1.3 RPG 的两大瓶颈)
- 二、主要研究问题
-
- [2.1 核心问题](#2.1 核心问题)
- [2.2 解决思路的动机](#2.2 解决思路的动机)
- 三、核心贡献
- 四、方法详解
-
- [4.1 替代目标函数的重参数化形式](#4.1 替代目标函数的重参数化形式)
- [4.2 替代目标函数的 RPG 梯度](#4.2 替代目标函数的 RPG 梯度)
- [4.3 Action-Gradient 复用的核心推导](#4.3 Action-Gradient 复用的核心推导)
- [4.4 裁剪机制:RPG 专用的重要性权重裁剪](#4.4 裁剪机制:RPG 专用的重要性权重裁剪)
- [4.5 KL 散度正则化](#4.5 KL 散度正则化)
- [4.6 熵正则化](#4.6 熵正则化)
- [4.7 总体目标函数](#4.7 总体目标函数)
- [4.8 值函数训练](#4.8 值函数训练)
- [4.9 完整算法流程](#4.9 完整算法流程)
- 五、实验场景与结果
-
- [5.1 实验设置](#5.1 实验设置)
- [5.2 主要实验结果](#5.2 主要实验结果)
- [5.3 消融实验](#5.3 消融实验)
- 六、总结与展望
一、研究背景
1.1 强化学习与策略梯度
强化学习(Reinforcement Learning, RL)的目标是找到一个最优策略,使得智能体在环境中获得的累积奖励最大化。形式化地,问题被建模为一个马尔可夫决策过程(MDP):
( S , A , p , r , p 0 , γ ) (\mathcal{S}, \mathcal{A}, p, r, p_0, \gamma) (S,A,p,r,p0,γ)
其中:
- S \mathcal{S} S 是状态空间, A \mathcal{A} A 是动作空间
- p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a) 是状态转移概率
- r ( s , a ) r(s,a) r(s,a) 是奖励函数
- p 0 ( s 0 ) p_0(s_0) p0(s0) 是初始状态分布
- γ ∈ [ 0 , 1 ) \gamma \in [0,1) γ∈[0,1) 是折扣因子
策略 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(a∣s) 是一个参数化的概率分布(通常用神经网络表示),目标是最大化期望折扣累积奖励:
θ ∗ = arg max θ J ( θ ) = arg max θ E τ ∼ π θ R ( τ ) \theta^* = \arg\max_\theta J(\theta) = \arg\max_\theta \mathbb{E}{\tau \sim \pi\theta}R(\\tau) θ∗=argθmaxJ(θ)=argθmaxEτ∼πθR(τ)
其中轨迹 τ = ( s 0 , a 0 , s 1 , a 1 , ... ) \tau = (s_0, a_0, s_1, a_1, \dots) τ=(s0,a0,s1,a1,...), R ( τ ) = ∑ t = 0 ∞ γ t r ( s t , a t ) R(\tau) = \sum_{t=0}^{\infty} \gamma^t r(s_t, a_t) R(τ)=∑t=0∞γtr(st,at)。
1.2 两种策略梯度估计器
计算 ∇ θ J ( θ ) \nabla_\theta J(\theta) ∇θJ(θ) 有两种主要方法:
REINFORCE(得分函数估计器) :
∇ θ J ( θ ) = E τ ∼ π θ ∇ θ log π θ ( τ ) ⋅ R ( τ ) \nabla_\theta J(\theta) = \mathbb{E}{\tau \sim \pi\theta}\left\\nabla_\\theta \\log \\pi_\\theta(\\tau) \\cdot R(\\tau)\\right ∇θJ(θ)=Eτ∼πθ∇θlogπθ(τ)⋅R(τ)
这种方法只依赖于策略的对数概率梯度,不需要知道环境动力学,但方差很大,导致样本效率低。PPO、TRPO 等经典算法都基于此。
重参数化策略梯度(RPG) :
RPG 利用重参数化技巧(reparameterization trick),将随机动作采样表示为确定性变换:
a t = μ θ ( s t ) + σ θ ( s t ) ⋅ ε t , ε t ∼ N ( 0 , I ) a_t = \mu_\theta(s_t) + \sigma_\theta(s_t) \cdot \varepsilon_t, \quad \varepsilon_t \sim \mathcal{N}(0, I) at=μθ(st)+σθ(st)⋅εt,εt∼N(0,I)
记为 a t = f θ ( ε t ; s t ) a_t = f_\theta(\varepsilon_t; s_t) at=fθ(εt;st)。当环境动力学 s t + 1 = g ( s t , a t ) s_{t+1} = g(s_t, a_t) st+1=g(st,at) 和奖励函数 r ( s , a ) r(s,a) r(s,a) 可微时,RPG 可以直接通过**反向传播(Backpropagation Through Time, BPTT)**计算策略梯度:
∇ θ J ( θ ) = E s 0 , ε 0 , ε 1 , ... ∇ θ R ( τ ) \nabla_\theta J(\theta) = \mathbb{E}_{s_0, \varepsilon_0, \varepsilon_1, \dots}\\nabla_\\theta R(\\tau) ∇θJ(θ)=Es0,ε0,ε1,...∇θR(τ)
RPG 的关键优势在于方差更低 ,因为它利用了环境动力学的梯度信息(雅可比矩阵 ∂ s t + 1 ∂ a t \frac{\partial s_{t+1}}{\partial a_t} ∂at∂st+1 和 ∂ s t + 1 ∂ s t \frac{\partial s_{t+1}}{\partial s_t} ∂st∂st+1)。近年来,随着可微分模拟器(如 DFlex、Rewarped)的兴起,RPG 在机器人控制领域展现出巨大潜力。
1.3 RPG 的两大瓶颈
尽管 RPG 样本效率高,现有方法面临两个严峻挑战:
瓶颈一:动力学雅可比矩阵利用率低
通过 BPTT 计算 ∇ θ R ( τ ) \nabla_\theta R(\tau) ∇θR(τ) 需要计算动力学雅可比矩阵,这是整个训练过程中计算代价最高的部分。然而,现有 on-policy RPG 方法(如 SHAC、SAPO)每收集一批轨迹后,只进行一次策略更新,然后就丢弃这些昂贵的雅可比计算结果。这种"用一次就扔"的做法严重浪费了计算资源。
瓶颈二:训练固有的不稳定性
RPG 在长时域轨迹或存在接触/碰撞的动力学环境中, notoriously 容易出现梯度爆炸或消失。即使采用 SOTA 的方差缩减技术(如 SHAC 的短视界回滚、SAPO 的熵正则化),训练过程中仍会出现剧烈的性能波动。图 1 展示了 SAPO 在 Humanoid 任务上的训练曲线:KL 散度的剧烈尖峰对应着性能的突然下降。
这两个瓶颈构成了一个两难困境:复用样本能提高效率,但会加剧不稳定性(因为增加了 update-to-data ratio);而限制更新次数又浪费了昂贵的雅可比计算。
二、主要研究问题
2.1 核心问题
本文要回答的核心问题是:
如何为 RPG 建立一种有理论依据的样本复用机制,使其既能充分利用昂贵的动力学雅可比矩阵,又能保持训练稳定?
具体来说,这包含三个子问题:
- 理论问题:RPG 的样本复用与 PPO 的替代目标函数之间是否存在内在联系?如果存在,这种联系是什么?
- 算法问题:如何设计适用于 RPG 的裁剪机制,以约束离策略更新中的重要性权重?
- 实践问题:裁剪机制是否足以保证稳定性?还需要哪些额外的正则化手段?
2.2 解决思路的动机
动机一:PPO 的启示
PPO 之所以能在模型无关(model-free)设定下实现稳定的样本复用,关键在于其替代目标函数(surrogate objective):
L π θ old ( θ ) = ∫ s ∑ t = 0 ∞ γ t p ( s t = s ∣ π θ old ) ∫ a A π θ old ( s , a ) π θ ( a ∣ s ) d a d s \mathcal{L}{\pi{\theta_{\text{old}}}}(\theta) = \int_s \sum_{t=0}^{\infty} \gamma^t p(s_t=s|\pi_{\theta_{\text{old}}}) \int_a A^{\pi_{\theta_{\text{old}}}}(s,a) \pi_\theta(a|s) \, da \, ds Lπθold(θ)=∫st=0∑∞γtp(st=s∣πθold)∫aAπθold(s,a)πθ(a∣s)dads
这个目标的含义是:用旧策略 π θ old \pi_{\theta_{\text{old}}} πθold 收集的数据,评估新策略 π θ \pi_\theta πθ 的表现。PPO 通过裁剪(clipping)或 KL 约束来防止新策略偏离旧策略太远,从而实现稳定的多轮更新。
一个自然的想法是:能否将 PPO 的替代目标函数思想移植到 RPG 中? 但这不是简单的替换问题,因为:
- PPO 的梯度是 REINFORCE 风格的,依赖对数概率的梯度;
- RPG 的梯度是通过 BPTT 得到的,形式完全不同。
动机二:样本复用的必要性
在真实机器人上训练策略时,数据收集极其昂贵(每次 rollout 可能需要数秒甚至数分钟)。如果 RPG 能复用样本进行多次策略更新,将大幅减少所需的真实环境交互次数。因此,为 RPG 建立稳定的样本复用机制具有重大的实际价值。
三、核心贡献
本文的主要贡献可以概括为三点:
贡献一:理论联系
证明了在样本复用机制下,RPG 通过 BPTT 计算的策略梯度,本质上是在优化一个 PPO 风格的替代目标函数。这为 RPG 的 on-policy 和 off-policy 更新提供了统一的理论框架。
贡献二:算法设计
提出了 Reparameterization Proximal Policy Optimization (RPO),包含三个关键组件:
- 基于替代目标函数的 RPG 样本复用;
- 针对 RPG 特性的非对称重要性权重裁剪机制;
- 显式 KL 散度正则化(因为实验发现仅裁剪不足以保证稳定)。
贡献三:实验验证
在 DFlex 和 Rewarped 两个可微分模拟器上,对 5 个具有挑战性的连续控制任务(4 个运动控制 + 1 个灵巧操作)进行了全面实验,证明 RPO 在样本效率和最终性能上均达到 SOTA。
四、方法详解
4.1 替代目标函数的重参数化形式
首先,我们需要将 PPO 的替代目标函数改写为重参数化形式。利用无意识统计学家法则(law of the unconscious statistician),可以将式 (3) 改写为:
L π θ old ( θ ) = ∫ s d π θ old ( s ) ∫ ε A π θ old ( s , a ) ∣ a = f θ ( ε ; s ) p std ( ε ) d ε d s (6) \mathcal{L}{\pi{\theta_{\text{old}}}}(\theta) = \int_s d^{\pi_{\theta_{\text{old}}}}(s) \int_\varepsilon A^{\pi_{\theta_{\text{old}}}}(s, a)\big|{a=f\theta(\varepsilon;s)} p_{\text{std}}(\varepsilon) \, d\varepsilon \, ds \tag{6} Lπθold(θ)=∫sdπθold(s)∫εAπθold(s,a) a=fθ(ε;s)pstd(ε)dεds(6)
其中:
- d π θ old ( s ) = ∑ t = 0 ∞ γ t p ( s t = s ∣ π θ old ) d^{\pi_{\theta_{\text{old}}}}(s) = \sum_{t=0}^{\infty} \gamma^t p(s_t=s|\pi_{\theta_{\text{old}}}) dπθold(s)=∑t=0∞γtp(st=s∣πθold) 是旧策略诱导的未归一化状态密度;
- p std ( ε ) p_{\text{std}}(\varepsilon) pstd(ε) 是标准高斯分布的概率密度;
- f θ ( ε ; s ) f_\theta(\varepsilon;s) fθ(ε;s) 是重参数化变换。
关键区别 :这个目标函数与 SVG(Stochastic Value Gradient)的根本不同在于,它使用的是旧策略 的价值函数 A π θ old A^{\pi_{\theta_{\text{old}}}} Aπθold,而非当前策略的价值函数。
4.2 替代目标函数的 RPG 梯度
对式 (6) 求关于 θ \theta θ 的梯度,得到:
∇ θ L π θ old ( θ ) = ∫ s d π θ old ( s ) ∫ ε ∇ θ a ⋅ ∇ a A π θ old ( s , a ) ∣ a = f θ ( ε ; s ) p std ( ε ) d ε d s (8) \nabla_\theta \mathcal{L}{\pi{\theta_{\text{old}}}}(\theta) = \int_s d^{\pi_{\theta_{\text{old}}}}(s) \int_\varepsilon \left\\nabla_\\theta a \\cdot \\nabla_a A\^{\\pi_{\\theta_{\\text{old}}}}(s,a)\\big\|_{a=f_\\theta(\\varepsilon;s)}\\right p_{\text{std}}(\varepsilon) \, d\varepsilon \, ds \tag{8} ∇θLπθold(θ)=∫sdπθold(s)∫ε∇θa⋅∇aAπθold(s,a) a=fθ(ε;s)pstd(ε)dεds(8)
由于 A π θ old ( s , a ) = Q π θ old ( s , a ) − V π θ old ( s ) A^{\pi_{\theta_{\text{old}}}}(s,a) = Q^{\pi_{\theta_{\text{old}}}}(s,a) - V^{\pi_{\theta_{\text{old}}}}(s) Aπθold(s,a)=Qπθold(s,a)−Vπθold(s),且 V π θ old ( s ) V^{\pi_{\theta_{\text{old}}}}(s) Vπθold(s) 与动作 a a a 无关,因此:
∇ a A π θ old ( s , a ) = ∇ a Q π θ old ( s , a ) \nabla_a A^{\pi_{\theta_{\text{old}}}}(s,a) = \nabla_a Q^{\pi_{\theta_{\text{old}}}}(s,a) ∇aAπθold(s,a)=∇aQπθold(s,a)
式 (8) 的含义是:策略梯度等于"策略输出对参数的梯度"乘以"Q 函数对动作的梯度",再在整个状态-噪声空间上积分。
4.3 Action-Gradient 复用的核心推导
这是本文最核心的理论结果。我们需要回答:缓存的 action-gradient ∇ a R ( τ ) \nabla_a R(\tau) ∇aR(τ) 与式 (8) 中的 ∇ a Q π θ old ( s , a ) \nabla_a Q^{\pi_{\theta_{\text{old}}}}(s,a) ∇aQπθold(s,a) 有什么关系?
步骤一:收集轨迹并缓存 action-gradients
用行为策略 π θ old \pi_{\theta_{\text{old}}} πθold 收集一批轨迹。对于第 k k k 个时间步,计算:
∇ a k R ( τ ) = γ k ∇ a k ∑ t = k ∞ γ t − k r ( s t , a t ) \nabla_{a_k} R(\tau) = \gamma^k \nabla_{a_k} \sum_{t=k}^{\infty} \gamma^{t-k} r(s_t, a_t) ∇akR(τ)=γk∇akt=k∑∞γt−kr(st,at)
关键观察 :在确定性动力学和重参数化技巧的假设下, ∇ a k R ( τ ) \nabla_{a_k} R(\tau) ∇akR(τ) 是 γ k ∇ a Q π θ old ( s k , a k ) \gamma^k \nabla_a Q^{\pi_{\theta_{\text{old}}}}(s_k, a_k) γk∇aQπθold(sk,ak) 的无偏蒙特卡洛估计。这是因为重参数化技巧允许我们将 Q 函数对动作的梯度表示为所有可能路径上回报对动作梯度的期望。
我们将这些 action-gradients 缓存下来,供后续多次更新使用。
步骤二:On-policy 更新(第一轮)
在第一轮更新中,当前策略 π θ \pi_\theta πθ 与行为策略 π θ old \pi_{\theta_{\text{old}}} πθold 相同。直接将缓存的 action-gradients 反向传播通过策略网络:
∇ θ a k ⋅ ∇ a k R ( τ ) \nabla_\theta a_k \cdot \nabla_{a_k} R(\tau) ∇θak⋅∇akR(τ)
对所有时间步求和并取平均,即得到式 (8) 的 on-policy 无偏估计。
步骤三:Off-policy 更新(后续轮次)
更新策略参数从 θ \theta θ 到 θ ′ \theta' θ′ 后,行为策略与当前策略不再相同。此时需要计算 off-policy 梯度。
核心技巧:动作再生(Action Regeneration)
为了建立从 θ ′ \theta' θ′ 到 a k a_k ak 的计算路径,我们需要"再生"出产生该动作的噪声:
ε reg = f θ ′ − 1 ( a k ; s k ) (10) \varepsilon_{\text{reg}} = f_{\theta'}^{-1}(a_k; s_k) \tag{10} εreg=fθ′−1(ak;sk)(10)
其中 f θ ′ − 1 f_{\theta'}^{-1} fθ′−1 是重参数化变换的逆。对于高斯策略:
a = μ θ ( s ) + σ θ ( s ) ⋅ ε ⟹ ε = a − μ θ ( s ) σ θ ( s ) a = \mu_\theta(s) + \sigma_\theta(s) \cdot \varepsilon \implies \varepsilon = \frac{a - \mu_\theta(s)}{\sigma_\theta(s)} a=μθ(s)+σθ(s)⋅ε⟹ε=σθ(s)a−μθ(s)
有了 ε reg \varepsilon_{\text{reg}} εreg,就可以将动作表示为 a k = f θ ′ ( ε reg ; s k ) a_k = f_{\theta'}(\varepsilon_{\text{reg}}; s_k) ak=fθ′(εreg;sk),从而建立新的可微计算图。
然后将缓存的 action-gradient 通过这条新路径反向传播,并乘以重要性采样比率进行修正:
ρ ( θ ′ ) = π θ ′ ( a ∣ s ) π θ old ( a ∣ s ) \rho(\theta') = \frac{\pi_{\theta'}(a|s)}{\pi_{\theta_{\text{old}}}(a|s)} ρ(θ′)=πθold(a∣s)πθ′(a∣s)
最终,off-policy 梯度估计为:
γ k ∇ θ ′ a k ⋅ ∇ a k Q π θ old ( s k , a k ) ∣ a k = f θ ′ ( ε reg ; s k ) ⋅ ρ ( θ ′ ) \gamma^k \nabla_{\theta'} a_k \cdot \nabla_{a_k} Q^{\pi_{\theta_{\text{old}}}}(s_k, a_k)\big|{a_k=f{\theta'}(\varepsilon_{\text{reg}};s_k)} \cdot \rho(\theta') γk∇θ′ak⋅∇akQπθold(sk,ak) ak=fθ′(εreg;sk)⋅ρ(θ′)
4.4 裁剪机制:RPG 专用的重要性权重裁剪
PPO 的裁剪机制依赖于优势函数的符号:
L clip ( θ ) = E min ( ρ ( θ ) A π θ old ( s , a ) , clip ( ρ ( θ ) , 1 − ϵ , 1 + ϵ ) A π θ old ( s , a ) ) L^{\text{clip}}(\theta) = \mathbb{E}\left\\min\\left(\\rho(\\theta) A\^{\\pi_{\\theta_{\\text{old}}}}(s,a), \\text{clip}(\\rho(\\theta), 1-\\epsilon, 1+\\epsilon) A\^{\\pi_{\\theta_{\\text{old}}}}(s,a)\\right)\\right Lclip(θ)=Emin(ρ(θ)Aπθold(s,a),clip(ρ(θ),1−ϵ,1+ϵ)Aπθold(s,a))
但这种设计不能直接用于 RPG,因为:
- RPG 不显式地增加或减少对数似然,因此没有"方向性";
- RPG 的梯度形式与 REINFORCE 完全不同。
RPO 提出了非对称裁剪机制:
梯度贡献 = { ρ ( θ ) ∇ θ a ∇ a R ( τ ) , if 1 − c low ≤ ρ ( θ ) ≤ 1 + c high 0 , otherwise (11) \text{梯度贡献} = \begin{cases} \rho(\theta) \nabla_\theta a \nabla_a R(\tau), & \text{if } 1 - c_{\text{low}} \leq \rho(\theta) \leq 1 + c_{\text{high}} \\ 0, & \text{otherwise} \end{cases} \tag{11} 梯度贡献={ρ(θ)∇θa∇aR(τ),0,if 1−clow≤ρ(θ)≤1+chighotherwise(11)
其中:
- c low c_{\text{low}} clow 和 c high c_{\text{high}} chigh 是不对称的裁剪边界;
- 当重要性权重比率超出范围时,该样本的梯度贡献被完全置零;
- 在范围内的样本,其梯度仍被 ρ ( θ ) \rho(\theta) ρ(θ) 加权。
设计动机:过滤掉具有极端重要性权重比率的样本,防止动作概率变得过低,从而避免数值不稳定性。
4.5 KL 散度正则化
实验发现,仅依靠裁剪不足以完全保证稳定性。因此 RPO 引入了显式的 KL 散度正则化:
L KL ( θ ) = E D KL ( π θ old ( ⋅ ∣ s ) ∥ π θ ( ⋅ ∣ s ) ) (12) \mathcal{L}_{\text{KL}}(\theta) = \mathbb{E}\leftD_{\\text{KL}}(\\pi_{\\theta_{\\text{old}}}(\\cdot\|s) \\\| \\pi_\\theta(\\cdot\|s))\\right \tag{12} LKL(θ)=EDKL(πθold(⋅∣s)∥πθ(⋅∣s))(12)
注意:这个正则化只在样本复用时生效(即 off-policy 更新轮次),因为在第一轮 on-policy 更新中,KL 散度及其梯度均为零。
4.6 熵正则化
为了鼓励探索,RPO 还包含熵奖励:
L ent ( θ ) = E H ( π θ ( ⋅ ∣ s ) ) (13) \mathcal{L}_{\text{ent}}(\theta) = \mathbb{E}\leftH(\\pi_\\theta(\\cdot\|s))\\right \tag{13} Lent(θ)=EH(πθ(⋅∣s))(13)
4.7 总体目标函数
综合以上三项,RPO 的策略训练目标为:
L policy ( θ ) = λ surr L π θ old ( θ ) − λ KL L KL ( θ ) + λ ent L ent ( θ ) (14) \mathcal{L}{\text{policy}}(\theta) = \lambda{\text{surr}} \mathcal{L}{\pi{\theta_{\text{old}}}}(\theta) - \lambda_{\text{KL}} \mathcal{L}{\text{KL}}(\theta) + \lambda{\text{ent}} \mathcal{L}_{\text{ent}}(\theta) \tag{14} Lpolicy(θ)=λsurrLπθold(θ)−λKLLKL(θ)+λentLent(θ)(14)
其中 λ surr \lambda_{\text{surr}} λsurr、 λ KL \lambda_{\text{KL}} λKL、 λ ent \lambda_{\text{ent}} λent 分别是三个分量的系数。
4.8 值函数训练
值函数网络通过最小化回归损失来训练:
L ϕ = E ∥ V ϕ ( s ) − V \^ ( s ) ∥ 2 (15) \mathcal{L}_\phi = \mathbb{E}\left\\\|V_\\phi(s) - \\hat{V}(s)\\\|\^2\\right \tag{15} Lϕ=E∥Vϕ(s)−V\^(s)∥2(15)
其中 V ^ ( s ) \hat{V}(s) V^(s) 是通过 TD- λ \lambda λ 计算的值目标。RPO 采用双 Critic 网络,并使用两个值函数的均值来计算值目标。
4.9 完整算法流程
算法 1: Reparameterization Proximal Policy Optimization (RPO)
1: 初始化策略参数 θ 和值函数参数 φ
2: for 迭代 k = 1, 2, ..., K do
3: 初始化空缓存 B
4: 用当前策略 π_θ 在并行环境中收集一批短视界轨迹,存入 B
5: // 计算并缓存 action-gradients
6: 通过 BPTT 计算并缓存每个动作关于折扣累积回报的梯度: ∇_a R(τ)
7: for 策略更新轮次 m = 1, 2, ..., M do
8: 用 π_θ 再生 B 中存储的动作 (式 10)
9: 将裁剪后的缓存 action-gradients 反向传播到策略网络参数 θ,按重要性权重比率加权 (式 11)
10: 计算 KL 散度和熵正则化项的梯度 (式 12, 13)
11: 合并梯度并更新策略网络参数 θ
12: end for
13: for 值更新轮次 l = 1, 2, ..., L do
14: 通过最小化回归损失更新值函数参数 φ (式 15)
15: end for
16: end for
五、实验场景与结果
5.1 实验设置
环境:使用两个可微分模拟器:
| 模拟器 | 任务 | 状态维度 | 动作维度 | 任务描述 |
|---|---|---|---|---|
| DFlex | Hopper | 11 | 3 | 三关节平面机器人,最大化前进速度 |
| DFlex | Ant | 37 | 8 | 四足机器人,最大化前进速度 |
| DFlex | Anymal | 49 | 12 | 真实四足机器人,最大化前进速度 |
| DFlex | Humanoid | 76 | 21 | 高维双足机器人,最大化前进速度 |
| Rewarped | Hand Reorient | 72 | 16 | Allegro 机械手,学习重新定向立方体 |
基线方法:
- SAPO:SOTA RPG 方法,使用短视界轨迹和熵正则化
- SHAC:RPG 方差缩减方法(使用 SAPO 仓库中的改进版本)
- PPO:经典模型无关策略梯度方法
- GI-PPO:先用 RPG 更新一轮,再用 REINFORCE 进行 PPO 风格的 off-policy 更新
评估指标:每个任务运行 12 个随机种子,每个种子运行 2 次(Hopper 除外)。训练曲线展示 episode return 随 environment steps 的变化。最终性能通过 128 个 episode 的确定性评估和随机评估来测量。
5.2 主要实验结果
样本效率:RPO 在所有任务上均展现出显著优于基线的样本效率:
- Hand Reorient:SAPO 需要额外约 300 万环境步才能达到 RPO 的水平
- Hopper:RPO 达到 5000 分比 SAPO 快约 500 万步
- Ant:RPO 是最快达到 8000 分的方法
- Anymal:RPO 仅用 400 万步就超越了 SAPO 和 SHAC 的最终性能
- Humanoid:RPO 达到 8000 分比 SAPO 快约 200-300 万步
最终性能:如表 1 所示,RPO 在所有任务上均达到或超越 SOTA:
- 在 Anymal 上,RPO 显著优于所有基线
- 在 Humanoid 和 Ant 上,RPO 优于 SAPO 且大幅领先其他方法
- 在 Hopper 和 Hand Reorient 上,RPO 达到最佳性能,与 SAPO 相当
训练稳定性:RPO 的训练曲线比 SAPO 和 SHAC 更平滑,尤其在 Humanoid 和 Hand Reorient 环境中,避免了 SAPO 出现的剧烈性能波动。
墙钟时间:RPO 训练 1000 万步约需 81 分钟,而 SHAC 训练 4000 万步约需 313 分钟。样本复用带来的计算开销远小于其带来的整体效率提升。
5.3 消融实验
消融实验验证了 RPO 三个核心组件的必要性:
无 KL 正则化:训练明显更不稳定,样本效率显著下降,最终性能也受损。
无样本复用(仅 2 轮策略更新,而非默认的 5 轮):样本效率大幅下降,最终性能降低。
无裁剪机制:在 Hand Reorient 等任务上性能显著退化,证明裁剪机制对数值稳定性的重要性。
结论:RPO 的强性能并非来自单一组件,而是三个组件协同作用的结果。
六、总结与展望
RPO 通过建立 RPG 与 PPO 风格替代目标函数之间的理论联系,为 RPG 提供了统一、稳定的样本复用框架。其核心创新包括:
- 理论层面:证明了缓存 action-gradients 并复用进行多轮更新,等价于优化一个重参数化形式的替代目标函数;
- 算法层面:设计了针对 RPG 特性的非对称裁剪机制和显式 KL 正则化,确保样本复用时的训练稳定性;
- 实践层面:在多个具有挑战性的运动控制和灵巧操作任务上验证了 SOTA 性能。
RPO 的样本复用机制对未来在真实物理环境中训练 RPG 策略具有重要意义------在真实机器人上,每一次环境交互都代价高昂,充分利用每一段轨迹的价值至关重要。