仿真到现实迁移的数学基础:域随机化与域适配的工程推导
第一章 工程困境:为什么仿真中完美的策略在真实机械臂上会失效
1.1.1.1 从推物任务说起
想象我们训练了一台七自由度机械臂,在仿真环境中它能优雅地将一个圆盘推到目标位置。关节力矩计算精确,接触模型稳定,视觉输入干净。然而,当同样的策略部署到真实的 Fetch 机械臂上时,圆盘开始打滑、机械臂抖动,最终目标位置偏差超过十厘米。这不是代码的 bug,而是现实鸿沟(Reality Gap)的数学本质在物理系统中的显形。
我们面临的第一个工程问题是:仿真与真实之间的差异,究竟在哪个环节撕裂了策略的泛化能力?
1.1.1.2 视觉鸿沟与动力学鸿沟的双通道耦合
差异并非单一来源。至少存在两条独立的失配通道:
- 视觉通道:仿真渲染器生成的图像服从分布 PsimimageP_{sim}^{image}Psimimage,而真实相机捕获的图像服从 PrealimageP_{real}^{image}Prealimage。即使两者具有相同的条件结构(即给定物体位姿后图像的生成逻辑),边缘分布的偏移足以让卷积神经网络的特征提取层产生系统性偏差。
- 动力学通道:仿真中的状态转移服从 Psim(s′∣s,a)P_{sim}(s' \mid s, a)Psim(s′∣s,a),真实物理系统服从 Preal(s′∣s,a)P_{real}(s' \mid s, a)Preal(s′∣s,a)。这种偏移源于质量估计误差、未建模的摩擦迟滞、关节阻尼的时变特性,以及控制回路的实际延迟。
这两条通道并非独立。视觉估计的位姿误差会进入控制回路,而控制指令的执行偏差又会改变下一帧的图像内容。这种感知-动作耦合让鸿沟的效应随时间指数级累积。
图注:上图展示双通道耦合结构。红色系节点表示仿真与真实之间的分布根因;绿色系节点表示策略运算;蓝色系表示动作输出。视觉与动力学两条路径在策略网络处交汇,形成闭环发散。
1.1.1.3 仿真不是不够真,而是"太确定"
一个反直觉的工程洞察是:高保真仿真器未必能缩小现实鸿沟。真正的问题在于,仿真环境是一个确定性(或窄分布)的数据生成器,而真实世界是一个宽分布、非平稳的随机过程。策略在仿真中学习的,是针对特定动力学参数和视觉特征的"过拟合"解。当部署环境哪怕只有百分之五的参数偏移,策略的行为可能偏离训练流形,进入未探索的状态空间区域。
这引出了我们的核心工程观点之一:仿真到现实的迁移失败,本质上是训练分布对测试分布的支撑覆盖不足,而非仿真精度不够。
认知检查点:现实鸿沟的本质不是仿真误差,而是训练分布与测试分布之间的支撑集不匹配。因此,提升迁移能力的正确方向是扩大训练分布的覆盖范围,而非无限逼近某一特定真实参数。
第二章 分布偏移的形式化:从工程直觉到数学边界
1.2.1.1 MDP 视角下的环境差异
我们将仿真环境和真实环境建模为两个马尔可夫决策过程(MDP)。设状态空间为 S\mathcal{S}S,动作空间为 A\mathcal{A}A,折扣因子为 γ∈[0,1)\gamma \in [0, 1)γ∈[0,1)。
仿真环境:
Msim=(S,A,Psim,r,γ)\mathcal{M}_{sim} = \left( \mathcal{S}, \mathcal{A}, P_{sim}, r, \gamma \right)Msim=(S,A,Psim,r,γ)
真实环境:
Mreal=(S,A,Preal,r,γ)\mathcal{M}_{real} = \left( \mathcal{S}, \mathcal{A}, P_{real}, r, \gamma \right)Mreal=(S,A,Preal,r,γ)
其中 Psim(s′∣s,a)P_{sim}(s' \mid s, a)Psim(s′∣s,a) 与 Preal(s′∣s,a)P_{real}(s' \mid s, a)Preal(s′∣s,a) 分别为状态转移核。为简化分析,假设奖励函数 r(s,a)r(s, a)r(s,a) 结构一致(若视觉输入作为状态的一部分,则视觉差异已体现在转移核的观测分支中)。
策略 π\piπ 在环境 M\mathcal{M}M 下的期望回报定义为:
JM(π)=Eτ∼p(τ∣π,M)[∑t=0T−1γtr(st,at)]J_{\mathcal{M}}(\pi) = \mathbb{E}_{\tau \sim p(\tau \mid \pi, \mathcal{M})} \left[ \sum_{t=0}^{T-1} \gamma^t r(s_t, a_t) \right]JM(π)=Eτ∼p(τ∣π,M)[t=0∑T−1γtr(st,at)]
我们的核心目标是:仅通过仿真环境的数据,界定策略在真实环境中的性能下界。
1.2.1.2 总变差距离与策略价值差异
引入总变差距离(Total Variation Distance)度量两个转移核的差异:
DTV(Psim(⋅∣s,a) ∥ Preal(⋅∣s,a))=12∫S∣Psim(s′∣s,a)−Preal(s′∣s,a)∣ ds′D_{TV}\left( P_{sim}(\cdot \mid s, a) \,\|\, P_{real}(\cdot \mid s, a) \right) = \frac{1}{2} \int_{\mathcal{S}} \left| P_{sim}(s' \mid s, a) - P_{real}(s' \mid s, a) \right| \, ds'DTV(Psim(⋅∣s,a)∥Preal(⋅∣s,a))=21∫S∣Psim(s′∣s,a)−Preal(s′∣s,a)∣ds′
假设策略 π\piπ 诱导的状态-动作分布为 dπM(s,a)d_{\pi}^{\mathcal{M}}(s, a)dπM(s,a)。若回报有界 ∣Rt∣≤Rmax|R_t| \leq R_{max}∣Rt∣≤Rmax,则价值差异满足:
∣Jreal(π)−Jsim(π)∣≤2γRmax1−γ⋅E(s,a)∼dπsim[DTV(Psim ∥ Preal)]\left| J_{real}(\pi) - J_{sim}(\pi) \right| \leq \frac{2 \gamma R_{max}}{1 - \gamma} \cdot \mathbb{E}_{(s,a) \sim d_{\pi}^{sim}} \left[ D_{TV}\left( P_{sim} \,\|\, P_{real} \right) \right]∣Jreal(π)−Jsim(π)∣≤1−γ2γRmax⋅E(s,a)∼dπsim[DTV(Psim∥Preal)]
该式的工程含义是:即使单步转移差异很小,折扣因子 γ\gammaγ 接近一时,累积误差会被放大。对于长程任务(如持续推物),动力学偏移的效应随时间步指数级累积。在 Bode 图意义上,这类似于一个积分环节对低频扰动的持续累积——微小的稳态偏差最终导致系统饱和。
图注:因果链图展示动力学偏移的闭环放大机制。红色系为根因与终果,黄色系为原始输入,绿色系为运算环节。虚线表示控制流依赖关系。
1.2.1.3 动力学参数的敏感性耦合
上述边界看似悲观,但它揭示了一个关键工程洞察:并非所有参数偏移都同等危险。考虑参数化动力学模型 P(s′∣s,a,μ)P(s' \mid s, a, \mu)P(s′∣s,a,μ),其中 μ∈Rd\mu \in \mathbb{R}^dμ∈Rd 为物理参数向量(质量、摩擦、阻尼等)。对单步转移进行一阶泰勒展开:
P(s′∣s,a,μ)≈P(s′∣s,a,μ0)+∇μP⋅(μ−μ0)P(s' \mid s, a, \mu) \approx P(s' \mid s, a, \mu_0) + \nabla_{\mu} P \cdot (\mu - \mu_0)P(s′∣s,a,μ)≈P(s′∣s,a,μ0)+∇μP⋅(μ−μ0)
代入价值差异边界,可得:
∣Jreal−Jsim∣≲2γRmax(1−γ)2⋅LP⋅∥μreal−μsim∥\left| J_{real} - J_{sim} \right| \lesssim \frac{2 \gamma R_{max}}{(1-\gamma)^2} \cdot L_{P} \cdot \|\mu_{real} - \mu_{sim}\|∣Jreal−Jsim∣≲(1−γ)22γRmax⋅LP⋅∥μreal−μsim∥
其中 LPL_PLP 为转移核关于参数的 Lipschitz 常数。这个推导告诉我们:
- 高敏感参数(如接触摩擦系数、动作延迟)的微小偏移会被 (1−γ)−2(1-\gamma)^{-2}(1−γ)−2 放大;
- 低敏感参数(如远端连杆质量)的较大偏移可能对策略价值影响甚微。
因此,工程上的优先事项不是校准所有参数,而是识别并覆盖高敏感度参数子空间。
认知检查点:策略价值差异的上界由三个因素共同决定:单步转移距离、折扣因子的累积效应、以及参数-动力学的 Lipschitz 耦合强度。这意味着,盲目提高仿真 fidelity 是低效的,必须定向覆盖对策略价值影响最大的参数子空间。
1.2.1.4 视觉分布的 Wasserstein 视角
对于视觉通道,图像分布的差异更适合用 Wasserstein 距离描述。设仿真图像分布为 QsimQ_{sim}Qsim,真实图像分布为 QrealQ_{real}Qreal,策略的价值函数为 Vπ(I)V^{\pi}(I)Vπ(I)(以图像 III 为输入)。若 VπV^{\pi}Vπ 关于图像特征具有 Lipschitz 常数 LVL_VLV,则:
∣Jrealvision(π)−Jsimvision(π)∣≤LV⋅W1(Qsim,Qreal)\left| J_{real}^{vision}(\pi) - J_{sim}^{vision}(\pi) \right| \leq L_V \cdot W_1(Q_{sim}, Q_{real})Jrealvision(π)−Jsimvision(π)≤LV⋅W1(Qsim,Qreal)
其中 W1W_1W1 为一阶 Wasserstein 距离。该式说明:若策略的价值函数在视觉空间中足够平滑(Lipschitz 常数小),即使图像分布存在显著偏移,策略仍能保持稳定性能。这解释了为什么域随机化通过增加训练分布的广度,能有效降低价值函数的局部 Lipschitz 常数——策略被迫学习对纹理、光照不变的鲁棒特征。
图注:视觉通道的分布差异度量。红色系为原始输入分布,绿色系为距离运算,黄色系为策略平滑性参数。Wasserstein 距离比 KL 散度更适合描述图像空间的结构性偏移。
第三章 域随机化的数学本质:用广度换取鲁棒性
1.3.1.1 从"逼近真实"到"覆盖真实"
传统系统辨识的思路是:通过调整仿真参数 μ\muμ,使 Psim(⋅∣μ)P_{sim}(\cdot \mid \mu)Psim(⋅∣μ) 尽可能接近 PrealP_{real}Preal。Tobin 等人提出的域随机化则彻底反转了这一逻辑:不再试图让仿真更像真实,而是让仿真足够多样,使得真实世界看起来只是训练分布中的另一个样本。
形式化地,我们将仿真环境扩展为一个参数化 MDP 族:
Mμ=(S,A,P(⋅∣⋅,⋅,μ),r,γ),μ∼ρμ\mathcal{M}_{\mu} = \left( \mathcal{S}, \mathcal{A}, P(\cdot \mid \cdot, \cdot, \mu), r, \gamma \right), \quad \mu \sim \rho_{\mu}Mμ=(S,A,P(⋅∣⋅,⋅,μ),r,γ),μ∼ρμ
其中 ρμ\rho_{\mu}ρμ 是定义在参数空间上的随机化分布。训练目标不再是最大化单一环境的回报,而是最大化期望回报:
Jrand(π)=Eμ∼ρμ[Jμ(π)]J_{rand}(\pi) = \mathbb{E}_{\mu \sim \rho_{\mu}} \left[ J_{\mu}(\pi) \right]Jrand(π)=Eμ∼ρμ[Jμ(π)]
1.3.1.2 覆盖论证与泛化保证
假设真实世界的动力学参数 μ∗\mu^*μ∗ 服从分布 PrealμP_{real}^{\mu}Prealμ(我们并不知道其具体形式,甚至不知道其支撑集)。域随机化的核心假设是:
supp(Prealμ)⊆supp(ρμ)\text{supp}\left( P_{real}^{\mu} \right) \subseteq \text{supp}\left( \rho_{\mu} \right)supp(Prealμ)⊆supp(ρμ)
即随机化分布的支撑集覆盖了真实参数的分布。在这一条件下,我们可以建立如下泛化边界。设策略类 Π\PiΠ 的 Rademacher 复杂度为 Rn(Π)\mathfrak{R}_n(\Pi)Rn(Π),在 nnn 个不同参数环境上训练,则对于任意 π∈Π\pi \in \Piπ∈Π,以高概率成立:
Jreal(π)≥Jrand(π)−O(Rn(Π)+log(1/δ)n)⏟统计泛化误差−ϵcoverage⏟覆盖误差J_{real}(\pi) \geq J_{rand}(\pi) - \underbrace{\mathcal{O}\left( \mathfrak{R}_n(\Pi) + \sqrt{\frac{\log(1/\delta)}{n}} \right)}_{\text{统计泛化误差}} - \underbrace{\epsilon_{coverage}}_{\text{覆盖误差}}Jreal(π)≥Jrand(π)−统计泛化误差O(Rn(Π)+nlog(1/δ))−覆盖误差ϵcoverage
其中覆盖误差 ϵcoverage\epsilon_{coverage}ϵcoverage 取决于 ρμ\rho_{\mu}ρμ 对 PrealμP_{real}^{\mu}Prealμ 的支撑覆盖程度。若覆盖完全,此项为零。该边界揭示了一个工程权衡:增加参数随机化的范围(扩大支撑集)可以降低覆盖误差,但可能增加策略类的复杂度(因为需要适应更宽的分布),从而抬高统计泛化误差。
图注:域随机化的覆盖-复杂度权衡矩阵。黄色系为原始决策,绿色系为正向效应,红色系为负向效应,紫色系为最终输出。最优随机化范围位于两种误差的帕累托前沿上。
1.3.1.3 域随机化不是数据增强,而是归纳偏置的重编程
很多工程团队将域随机化视为"仿真中的数据增强"——在图像上加噪声、改颜色。这种理解低估了它的数学本质。数据增强保持训练分布和测试分布的相对关系不变,只是增加了训练样本的多样性。而域随机化直接改变了训练分布的支撑集,迫使策略学习一组跨参数环境共享的不变表示(Invariant Representation)。
从表示学习的角度看,策略网络 fπ(s;θ)f_{\pi}(s; \theta)fπ(s;θ) 必须提取满足如下条件的特征 zzz:
P(z∣μi)≈P(z∣μj),∀μi,μj∈supp(ρμ)P(z \mid \mu_i) \approx P(z \mid \mu_j), \quad \forall \mu_i, \mu_j \in \text{supp}(\rho_{\mu})P(z∣μi)≈P(z∣μj),∀μi,μj∈supp(ρμ)
这意味着中间层特征必须对随机化参数不敏感,同时对任务目标保持敏感。这正是一个因果推断中的不变性原理在控制问题中的工程实现:策略必须学会识别哪些状态特征是任务的因果父节点,而哪些只是动力学参数的混淆因子。
认知检查点:域随机化的数学本质不是增加数据量,而是通过对训练分布支撑集的重构,强制策略网络提取对动力学参数不敏感、但对任务目标敏感的不变特征。这解释了为什么即使使用低保真渲染,随机化仍能实现零样本迁移。
1.3.1.4 随机化维度的工程选择
Tobin 等人在视觉域随机化中考虑了纹理、光照、相机位姿、噪声等维度;Peng 等人在动力学随机化中随机化了 95 个物理参数。然而,并非所有维度都对泛化同等重要。基于前述敏感性分析,我们提出一个工程决策框架:
- 计算参数敏感度矩阵 Sij=∂J∂μjS_{ij} = \frac{\partial J}{\partial \mu_j}Sij=∂μj∂J 在典型策略下的期望幅值;
- 优先随机化高敏感度参数(如接触摩擦、动作延迟),允许其分布范围较宽;
- 对低敏感度参数(如远端连杆质量)可采用窄分布或固定值,以降低策略学习难度。
这种定向随机化策略在计算资源有限时尤为重要。一个常见的工程误判是:随机化维度越多越好。实际上,每增加一个无关维度,策略类的有效复杂度就会不必要地膨胀,导致统计泛化误差上升。
图注:定向随机化的决策流程。黄色系为输入数据,红色系为高敏感参数,蓝色系为低敏感参数,绿色系为运算与策略,紫色系为输出结果。
第四章 动力学随机化与隐式系统辨识:Peng 方法的数学解释
1.4.1.1 参数化 MDP 族与自适应策略
Peng 等人的核心贡献在于将域随机化从视觉通道扩展到动力学通道,并引入记忆型策略(Recurrent Policy)实现隐式系统辨识。设动力学参数 μ\muμ 在每一幕开始时从 ρμ\rho_{\mu}ρμ 中采样,并在该幕内保持不变。策略不再仅仅是状态的映射 π(a∣s)\pi(a \mid s)π(a∣s),而是状态-历史联合映射:
π(at∣st,ht),ht=(st−1,at−1,st−2,at−2,… )\pi(a_t \mid s_t, h_t), \quad h_t = (s_{t-1}, a_{t-1}, s_{t-2}, a_{t-2}, \dots)π(at∣st,ht),ht=(st−1,at−1,st−2,at−2,…)
其中历史 hth_tht 通过循环神经网络(LSTM)压缩为隐状态 ztz_tzt。该架构的数学本质是:策略在执行在线贝叶斯推断,从历史轨迹中估计当前环境的后验参数分布,并据此调整动作。
1.4.1.2 隐式贝叶斯滤波的工程直觉
想象一个工程师在调试一台从未见过的机械臂。他不会先拆解测量每个连杆的质量,而是观察机械臂对标准指令的响应,在心里估算"这机器臂似乎比仿真中的惯性大,需要更保守的控制"。LSTM 策略完成的正是这一过程,只是以梯度下降的方式端到端学习。
形式化地,若真实参数 μ∗\mu^*μ∗ 未知,策略的最优行为应基于后验期望:
π∗(at∣st)=∫π(at∣st,μ) P(μ∣ht) dμ\pi^*(a_t \mid s_t) = \int \pi(a_t \mid s_t, \mu) \, P(\mu \mid h_t) \, d\muπ∗(at∣st)=∫π(at∣st,μ)P(μ∣ht)dμ
其中 P(μ∣ht)P(\mu \mid h_t)P(μ∣ht) 为给定历史后的参数后验。LSTM 的隐状态 ztz_tzt 正是对这一后验分布的充分统计量的压缩表示。策略网络不需要显式输出 μ\muμ 的估计值,只需要输出在该后验下的最优动作。这种隐式系统辨识避免了显式参数选择的结构风险。
图注:隐式系统辨识的闭环结构。黄色系为原始观测,绿色系为编码与推断运算,紫色系为策略输出,红色系为未知真实参数。虚线表示参数对环境的因果影响,但策略无需显式估计该参数。
1.4.1.3 记忆型策略的泛化边界
对于记忆型策略,泛化边界需要修正以考虑历史信息的压缩能力。设 LSTM 的隐状态维度为 dzd_zdz,历史长度为 HHH,则策略类复杂度与 dz⋅Hd_z \cdot Hdz⋅H 相关。在动力学随机化框架下,真实环境性能的下界可表示为:
Jreal(π)≥Eμ∼ρμ[Jμ(π)]−O(dz⋅Hn)−ϵcoverageJ_{real}(\pi) \geq \mathbb{E}_{\mu \sim \rho_{\mu}} \left[ J_{\mu}(\pi) \right] - \mathcal{O}\left( \sqrt{\frac{d_z \cdot H}{n}} \right) - \epsilon_{coverage}Jreal(π)≥Eμ∼ρμ[Jμ(π)]−O(ndz⋅H)−ϵcoverage
这个边界揭示了一个关键工程洞察:记忆容量与随机化范围必须匹配。若随机化分布 ρμ\rho_{\mu}ρμ 非常宽(覆盖大量截然不同的动力学),而 LSTM 隐状态维度 dzd_zdz 太小,策略将无法从历史中区分不同的动力学模式,导致自适应失败。反之,若 dzd_zdz 过大而随机化范围很窄,则策略可能过拟合到历史噪声,产生虚假的"适应"行为。
认知检查点:记忆型策略在域随机化中完成的不是显式参数识别,而是对后验分布充分统计量的在线压缩。记忆容量必须与随机化分布的复杂度匹配,否则会出现"欠适应"或"过拟合历史"两种失效模式。
1.4.1.4 与鲁棒控制的对偶关系
动力学随机化与传统鲁棒控制(H∞H_{\infty}H∞ 控制、μ\muμ 综合)存在深刻的数学对偶。鲁棒控制假设不确定性有界,并设计在最坏情况下稳定的控制器;域随机化则假设不确定性服从分布 ρμ\rho_{\mu}ρμ,并设计在期望意义下最优的策略。
两者的关键差异在于信息利用:鲁棒控制器是无记忆的,必须在设计阶段考虑所有可能的不确定性;而随机化训练的记忆型策略是有记忆的,可以在运行阶段通过观测历史逐步缩小不确定性。这使得域随机化策略在工程上更灵活——它不需要事先知道不确定性边界,只需要在训练阶段覆盖足够宽的参数范围。
图注:鲁棒控制与域随机化的对偶比较。红色系为不确定性描述,绿色系为设计目标,蓝色系为控制器形态,紫色系为域随机化的额外能力。
第五章 域适配与距离最小化:从随机化到定向对齐
1.5.1.1 域适配作为分布对齐问题
域随机化提供了强大的零样本迁移能力,但当仿真与真实之间的差异超出随机化分布的支撑集时,需要引入域适配(Domain Adaptation)进行定向修正。设仿真状态分布为 PsimSP_{sim}^SPsimS,真实状态分布为 PrealSP_{real}^SPrealS。域适配的目标是找到一个特征变换 g:S→Zg: \mathcal{S} \to \mathcal{Z}g:S→Z,使得:
PsimZ=g#PsimS≈PrealZ=g#PrealSP_{sim}^{Z} = g_{\#} P_{sim}^S \approx P_{real}^{Z} = g_{\#} P_{real}^SPsimZ=g#PsimS≈PrealZ=g#PrealS
其中 g#g_{\#}g# 表示推前映射(push-forward)。在对抗域适配框架中,通过训练一个域判别器 DDD 来区分仿真特征与真实特征,同时训练特征提取器 ggg 来欺骗判别器,最终达到纳什均衡:
mingmaxD Es∼Preal[logD(g(s))]+Es∼Psim[log(1−D(g(s)))]\min_g \max_D \, \mathbb{E}_{s \sim P_{real}} [\log D(g(s))] + \mathbb{E}_{s \sim P_{sim}} [\log (1 - D(g(s)))]gminDmaxEs∼Preal[logD(g(s))]+Es∼Psim[log(1−D(g(s)))]
1.5.1.2 联合泛化边界:随机化加适配
当域随机化与域适配联合使用时,泛化边界可以写成两项之和:
Jreal(π)≥Jrand(π)−ϵrandomization⏟随机化残差−ϵadaptation⏟适配残差J_{real}(\pi) \geq J_{rand}(\pi) - \underbrace{\epsilon_{randomization}}_{\text{随机化残差}} - \underbrace{\epsilon_{adaptation}}_{\text{适配残差}}Jreal(π)≥Jrand(π)−随机化残差ϵrandomization−适配残差ϵadaptation
其中适配残差取决于特征对齐后的分布距离:
ϵadaptation≤Lπ⋅W1(g#PsimS,g#PrealS)\epsilon_{adaptation} \leq L_{\pi} \cdot W_1\left( g_{\#} P_{sim}^S, g_{\#} P_{real}^S \right)ϵadaptation≤Lπ⋅W1(g#PsimS,g#PrealS)
这里 LπL_{\pi}Lπ 为策略在特征空间中的 Lipschitz 常数。该式说明:即使源域(仿真)与目标域(真实)的原始分布差异很大,只要存在一个低维特征子空间使得两者对齐,且策略在该子空间上足够平滑,迁移仍是可行的。
图注:域随机化与域适配的联合架构。红色系为原始分布,绿色系为特征提取与对齐,蓝色系为判别器,紫色系为最终策略。虚线表示对抗训练的反馈路径。
1.5.1.3 从随机化到适配的工程演化路径
在实际机器人部署中,我们建议以下三阶段演化路径:
- 阶段一:纯域随机化。在仿真中训练,直接部署到真实环境。适用于差异较小、安全性要求不高的任务(如视觉定位)。
- 阶段二:随机化加离线适配。利用少量真实数据(无需标签)对齐特征分布,修正随机化未覆盖的偏移。
- 阶段三:在线迭代适配。在真实环境中持续收集数据,通过元学习或渐进网络进一步微调策略,形成闭环改进。
这种渐进式路径符合工程实际:先用随机化获得一个"足够好"的初始策略,再用适配和微调逼近最优。试图一次性构建完美仿真器往往是成本高昂的工程陷阱。
图注:Sim-to-Real 的工程演化路径。红色系为初始态,橙色系为中间态,绿色系为终态,紫色系为各阶段适用的工程场景。点线表示阶段对应的工程目标。
认知检查点:域适配与域随机化不是替代关系,而是互补。随机化提供对未知参数的鲁棒先验,适配则利用真实数据修正随机化分布未覆盖的残余偏移。联合使用的泛化边界是两项残差之和,而非取最大值。
第六章 工程权衡、部署直觉与物理意义
1.6.1.1 随机化维度的帕累托前沿
回到 Peng 等人随机化的 95 个参数,工程上必须回答:这些参数是否都需要宽范围随机化?我们的分析表明,应构建参数敏感度-随机化成本的帕累托前沿。高敏感度参数(如关节阻尼、接触摩擦)的宽范围随机化收益极高;低敏感度参数(如天空盒纹理)的过度随机化只会增加训练方差。
一个实用的工程判据是:若某参数的随机化范围扩大一倍,而策略在验证环境集上的期望回报下降不超过百分之五,则该参数处于"过度随机化"区间,应收紧其分布。
1.6.1.2 计算资源的隐性成本
域随机化要求策略在训练期间适应大量不同的动力学配置,这通常需要比单环境训练多一个数量级的样本。然而,仿真样本的获取成本远低于真实样本。工程决策应基于等效真实样本成本进行换算:若一次域随机化训练消耗一百万仿真步,但避免了五百次真实机械臂交互,则其经济收益是显著的。
图注:训练成本的权衡分析。绿色系为低成本仿真,红色系为高成本真实交互,黄色系为域随机化策略,橙色系为中间过程,蓝色系为传统方法,紫色系为优化结果。
1.6.1.3 部署前的工程验证清单
在将策略部署到真实物理系统之前,建议执行以下验证:
- 动力学覆盖验证:在仿真中测试策略在极端参数(如双倍质量、零摩擦)下的性能。若策略在这些极端情况下仍能保持基本功能(不发散),则随机化分布可能已覆盖真实世界的合理范围。
- 记忆状态检验:监控 LSTM 隐状态 ztz_tzt 在真实部署时的轨迹。若 ztz_tzt 在前几个时间步内迅速收敛到某一稳态区域,说明策略正在成功进行在线辨识;若持续振荡,则可能存在未覆盖的动力学模式。
- 价值差异边界估计:利用仿真中训练的价值函数,对真实轨迹进行离线评估。若真实轨迹的折扣回报与价值预测偏差超过理论边界,则提示存在系统性的未建模动态。
1.6.1.4 这在实际物理系统中意味着什么
本章的所有数学推导最终归结为一条可落地的工程判断:Sim-to-Real 迁移的成功不取决于仿真器与真实物理的逐点匹配,而取决于训练分布是否以足够的概率质量覆盖了真实世界的动力学与感知不确定性。在实际部署中,这意味着:
- 对于视觉任务,优先投资纹理、光照、相机位姿的宽分布随机化,而非高保真渲染管线;
- 对于接触任务,优先投资摩擦、阻尼、延迟的随机化,以及记忆型策略架构,而非精确的系统辨识;
- 对于高价值、高风险的物理系统(如手术机器人、无人机),采用域随机化提供鲁棒先验 + 域适配进行残余修正 + 在线监控进行安全兜底的三层架构。
最终,最优的 Sim-to-Real 策略不是试图消除现实鸿沟,而是让策略对鸿沟"无感"——通过数学上可证明的分布覆盖和 Lipschitz 平滑性,将真实世界转化为训练分布中的另一个内点。
图注:物理系统部署的三层安全架构。红色系为随机化根节点,橙色系为适配中间层,蓝色系为监控辅助,绿色系为各层输出,紫色系为最终物理系统。
附录:核心伪代码——动力学随机化训练流程
Algorithm: DynamicsRandomizationTraining
Input: 参数空间分布 rho_mu, 策略网络 pi_theta, 价值网络 Q_phi
Output: 部署策略 pi_theta
Initialize replay buffer M
for episode = 1 to N do
Sample mu ~ rho_mu // 每幕采样动力学参数
Reset environment with dynamics mu
Initialize LSTM hidden state z_0 = 0
for t = 1 to T do
Observe state s_t
Compute action a_t = pi_theta(s_t, z_t, g) // g 为目标
Execute a_t, observe next state s_{t+1}
Store transition (s_t, a_t, r_t, s_{t+1}, mu, g) in M
Update z_{t+1} = LSTM(s_t, a_t, z_t) // 隐状态更新
end
// Hindsight Experience Replay
for each stored trajectory tau do
Sample alternate goal g' from final state s_T
Recompute rewards r_t' with respect to g'
Store augmented transitions in M
end
// Off-policy update
for update_step = 1 to K do
Sample batch B from M
// Critic update (omniscient: uses true mu)
Compute target y = r + gamma * Q_phi'(s', pi_theta'(s', z', g), mu)
Update phi by minimizing (Q_phi(s, a, mu) - y)^2
// Actor update
Update theta by maximizing Q_phi(s, pi_theta(s, z, g), mu)
end
end
return pi_theta
伪代码执行快照说明:
- 第 5 行执行后,环境动力学在该幕内固定,但跨幕之间覆盖宽分布。
- 第 10 行执行后,LSTM 隐状态 ztz_tzt 编码了历史轨迹关于动力学参数的充分统计量。
- 第 18 行后,HER 将失败轨迹转化为成功样本,解决稀疏奖励下的信用分配问题。
- 第 26 行,价值网络在训练时接收真实 μ\muμ,降低梯度方差;策略网络在推理时无 μ\muμ 输入,依赖 ztz_tzt 隐式推断。
1404



被折叠的 条评论
为什么被折叠?



