Home / 机器人学习 / 动力学随机化:从参数变化中学习鲁棒控制

024|动力学随机化:从参数变化中学习鲁棒控制

系列首页 · 上一篇 · 下一篇

原论文:Sim-to-Real Transfer of Robotic Control with Dynamics Randomization,Xue Bin Peng 等,2017 年首次公开。论文。

先接住前作的问题

HER让稀疏失败经验变得可学习,却没有处理同一动作在不同摩擦和执行延迟下产生不同后果。动力学随机化把HER和连续控制学习放到一族物理世界中,再让记忆利用最近的响应;稀疏反馈和迁移覆盖分别起作用。

五个前置概念

五个前置概念:系统辨识是从输入和响应推断动力学;部分可观测性是当前输入不足以决定环境状态;循环策略通过记忆历史作决策;非对称 Actor–Critic允许训练评价器看到额外信息;目标重标记为同一轨迹重新定义已经完成的任务。

一、问题设定:未知摩擦与延迟下怎样学到可迁移推盘

在仿真中把圆盘推到目标位置,并不意味着真实机械臂也能做到。同样的关节目标角,真实电机可能晚一点响应;同样的推力,桌面的摩擦可能让圆盘滑得更远。只适应一组精确参数的策略,会把仿真器的习惯误当成世界的规律。

场景是单智能体、在线仿真训练、无模型策略学习,最后到真实机器人评估。“无模型”指策略更新不通过学习环境预测模型规划,并不表示训练没有物理仿真器。

机器人是七自由度 Fetch 机械臂。观测由关节位置与速度、夹爪位置、圆盘位置与姿态、线速度和角速度组成,共 52 维;动作是七个关节目标角相对当前角度的偏移。注意,这不是上一类 HER 实验常见的笛卡尔位置增量加夹爪开合动作。

每个回合随机设置圆盘起点和目标。圆盘距离目标小于 7 厘米时奖励为零,否则为负一。固定时长结束后,是否仍处在目标范围内决定成功。真实圆盘的位置通过 PhaseSpace 动作捕捉系统获得,因此这篇工作解决的是控制动力学迁移,而不是相机视觉识别迁移。

关键隐藏量记为 μ\mu,包括质量、摩擦和控制响应等。即使当前关节与物体状态完整可见,机器人也不能从一张状态快照知道桌面究竟多滑。把物理参数当作隐藏但回合内相对稳定的信息,就能理解为什么历史可能有用。

本文依赖一个实质假设:训练时构造的动力学变化,能让策略学到现实中仍然有用的反馈行为。随机化范围覆盖真实值是有利条件,但仅仅把真实数值放进区间,也不自动保证神经网络能学好对应控制。

二、随机化回合物理并让循环策略利用历史

本文把训练环境变成一族不同的物理世界,每回合更换质量、摩擦、阻尼和控制器等参数,再给策略一段记忆,让它利用“刚才怎样动作、物体怎样响应”调整下一步。算法主体仍是连续动作 Actor–Critic,稀疏奖励则由 HER 提供有效训练信号。

1. 改的是训练分布

单一仿真的目标,换成对动力学分布平均的回报:

J(θ)=Eμ∼ρμEτ∼p(τ∣πθ,μ)[∑t=0T−1r(st,g)].J(\theta)=\mathbb E_{\mu\sim\rho_\mu} \mathbb E_{\tau\sim p(\tau|\pi_\theta,\mu)} \left[\sum_{t=0}^{T-1}r(s_t,g)\right].

ρμ\rho_\mu 是人为指定的随机化分布,τ\tau 是轨迹,gg 是目标。数学上仍然最大化期望回报;机制上改变环境分布并加入记忆;实验衡量的则是真实任务成功率。这三个层次不应混为一个“随机化损失”。

质量、阻尼和摩擦等在回合开始采样后保持固定。控制间隔和观测噪声每步变化。这样保留了可从连续交互推断的物理一致性,同时模拟现实中的时序抖动。把全部参数每步任意重采样,会产生另一种更难、也可能不真实的任务。

2. 记忆不必显式输出摩擦系数

策略形式为 at=πθ(st,zt,g)a_t=\pi_\theta(s_t,z_t,g),其中 ztz_t 是 LSTM 从状态与先前动作积累的记忆。作者把它解释为隐式系统辨识,但并未监督它输出准确的质量或摩擦数值。因此“记忆有助于控制”比“模型已经正确识别了物理参数”更符合证据。

网络分成两条支路:状态与上一动作进入 128 维嵌入及 128 单元 LSTM;当前状态和目标还进入前馈支路。两者拼接后经过两层 128 单元网络。目标只说明要去哪,不包含动力学信息,所以不必进入辨识支路。当前状态有直接路径,也避免所有即时几何信息必须挤过记忆。

3. 训练中的 Critic 可以知道更多

Critic 使用 Qϕ(st,at,yt,g,μ)Q_\phi(s_t,a_t,y_t,g,\mu),额外获得仿真器真实参数 μ\mu;部署的 Actor 没有这个输入。训练信息与执行信息因此不对称。Critic 更容易分辨“动作不好”与“这次桌面不同”,从而给 Actor 更有意义的反馈。

其 TD 目标可概括为:

qt=rt+γQϕˉ(st+1,πθˉ(st+1,zt+1,g),yt+1,g,μ).q_t=r_t+\gamma Q_{\bar\phi} (s_{t+1},\pi_{\bar\theta}(s_{t+1},z_{t+1},g),y_{t+1},g,\mu).

横线表示缓慢更新的目标网络。Critic 拟合 qtq_t;Actor 沿着 Critic 对动作的梯度改进。循环网络训练还必须按轨迹恢复记忆,不能把每一步当作互不相关的图片样本。

HER 则以概率 0.8 将回放轨迹的目标换成实际达到的目标,并重新计算奖励。它改善稀疏反馈;动力学随机化改善训练覆盖;LSTM 提供历史依赖,三者解决不同障碍。

教学伪代码如下,省略优化器与目标网络细节:

随机物理参数把任务变成一个带隐藏常量的控制问题。若状态 sts_t 可测、物理参数 μ\mu 在回合内固定,可把记忆理解为关于 μ\mu 的信念 bt(μ)∝p(st∣st−1,at−1,μ)bt−1(μ)b_t(\mu)\propto p(s_t|s_{t-1},a_{t-1},\mu)b_{t-1}(\mu) 的压缩近似;网络没有真的计算这个Bayes公式,但它说明为何同一当前位置需要结合历史动作后果判断下一步。

教学例:同样位于目标左边2厘米的物体,之前轻推便移动很多时应减小力度,之前大推仍几乎不动时可能需要加力。若摩擦每步完全独立重抽,上一推的证据不再预测下一推,记忆优势会改变。因此原文按回合固定质量/摩擦、每步改变噪声/时序的区别是方法假设,不是无关实现细节。原文§IV-C

用小例子建立直觉

自构例子,未运行:同一个圆盘轻推后,世界 A 只移动一厘米,世界 B 滑动五厘米。仅看当前离目标距离的策略,可能继续输出相同大小的推量。带记忆的策略还能参考上一推量和移动结果,在 B 中减小动作。这说明历史有控制价值,但不要求内部有一个叫“摩擦系数”的神经元。

三、每回合采样物理参数并训练带记忆的策略

质量等长期参数在回合内保持一致,观测噪声则按设定扰动,记忆才有机会从历史响应识别当前条件。训练Critic可用的物理真值不能进入部署Actor。

初始化 Actor、带动力学输入的 Critic、轨迹回放池
重复:
    采样目标 g、回合动力学参数 μ,清空记忆
    在该仿真世界执行带探索噪声的循环策略
    每步随机控制间隔和观测噪声,保存完整轨迹
    将轨迹、原目标和 μ 存入回放池
    采样若干完整轨迹
    以概率 0.8 替换为 HER 目标并重算奖励
    沿时间重建 Actor 与 Critic 记忆
    用 TD 目标训练 Critic,用确定性策略梯度训练 Actor
部署:
    只保留 Actor,输入观测、目标和历史记忆
    不提供真实质量、摩擦,也不在硬件上更新权重

四、分开仿真消融与Fetch真实推盘结果

作者声称,这样训练的策略可以无需真实机器人上的额外训练,直接迁移到 Fetch 推盘任务。表II 支持的是这一具体任务:LSTM 策略真实成功率为 0.89±0.060.89\pm0.06,无随机化前馈策略为零。它没有证明任意机器人、任意接触任务都可直接迁移。

原图怎么读: 图5,原论文图注与图像。模拟与真实关节都执行相同目标轨迹,比较的是肩、肘、腕的响应。轨迹差异说明动力学仍不同,即使后面的推物成功率接近也不能说模型已完全一致。

Sim-to-Real Transfer of Robotic Control with Dynamics Randomization,图5:模拟与真实关节都执行相同目标轨迹,比较的是肩、肘、腕的响应。轨迹差异说明动力学仍不同,即使后面的推物成功率接近也不能说模型已完全一致。
实验图原图摘引:Xue Bin Peng 等,2017 年首次公开,HTML S5.F5,图5。核对原文。原版权保留。
项目 原文设置与解释
环境 MuJoCo 训练,真实 Fetch 推盘评估,起点和目标在限定桌面区域变化
交互预算 每策略约 8000 次更新、约一亿样本;100 核集群约八小时仿真计算
批次 128 条轨迹,每条 100 步;训练回合约四秒
评估时长 真实回合 200 步,长于训练的 100 步,不能忽略这一差别
基线 无随机化前馈、随机化前馈、带最近八步历史的前馈、LSTM
重复 每架构四个训练随机种子;仿真评估 100 回合;真实试验数量因方法不同
指标 回合结束时圆盘处于目标容差内的比例
特权信息 Critic 获得仿真物理参数;Actor 不获得;真实位置依赖动作捕捉

表I 给出连杆质量为默认值的 [0.25,4][0.25,4] 倍、关节阻尼 [0.2,20][0.2,20] 倍、圆盘质量 [0.1,0.4][0.1,0.4] 千克等。控制间隔为 Δt=0.04+Exp(λ)\Delta t=0.04+\mathrm{Exp}(\lambda) 秒,其中 λ∈[125,1000] s−1\lambda\in[125,1000]\ \mathrm{s}^{-1} 是指数分布的率参数,不能把这个区间直接读成策略控制频率。传感噪声标准差为各特征运行标准差的 5%。

奖励与推盘位置目标直接对应,但没有把能耗、接触力或动作平滑纳入主要成功指标。即使成功率较高,也不能据此判断它适合直接搬运易碎物体。

五处证据应该怎样读

位置 比较与观察 支持什么,不能证明什么
图5 同一目标关节轨迹在真实与仿真中响应不同 确有模型偏差;不能仅由轨迹差判断哪种随机化最有效
图6 四种架构的仿真学习曲线 LSTM 在随机动力学下学习较好;不是硬件训练时间曲线
表II、图7 LSTM 真实 0.89±0.060.89\pm0.06,前馈 0.67±0.140.67\pm0.14,历史前馈 0.70±0.100.70\pm0.10 历史建模在此任务有迁移价值;真实样本较少,不能推出普遍显著优势
表III 固定控制间隔降到 0.29±0.110.29\pm0.11,去观测噪声降到 0.25±0.120.25\pm0.12 时序和测量扰动的重要性很突出;单项消融不能穷尽模块交互
V-C 节 圆盘下附薯片袋改变接触,成功率 0.91±0.040.91\pm0.04 对一种额外接触变化有鲁棒性;不能说改变接触反而确定提高性能

Sim-to-Real Transfer of Robotic Control with Dynamics Randomization,图6:读图对应本段的“四种架构的仿真学习曲线”;LSTM 在随机动力学下学习较好;不是硬件训练时间曲线。
原图摘引:Xue Bin Peng 等,2017 年首次公开,HTML S5.F6,图6。核对原文。读图对应本段的“四种架构的仿真学习曲线”;LSTM 在随机动力学下学习较好;不是硬件训练时间曲线。
Sim-to-Real Transfer of Robotic Control with Dynamics Randomization,图7:读图对应本段的“LSTM 真实 $0.89\pm0.06$,前馈 $0.67\pm0.14$,历史前馈 $0.70\pm0.10$”;历史建模在此任务有迁移价值;真实样本较少,不能推出普遍显著优势。
原图摘引:Xue Bin Peng 等,2017 年首次公开,HTML S5.F7,图7。核对原文。读图对应本段的“LSTM 真实 0.89±0.060.89\pm0.06,前馈 0.67±0.140.67\pm0.14,历史前馈 0.70±0.100.70\pm0.10”;历史建模在此任务有迁移价值;真实样本较少,不能推出普遍显著优势。

表II 的真实试验分别为 LSTM 28 次、无随机化 10 次、前馈 12 次、历史前馈 20 次。论文列有“±”数值,但本文未确认其统计量定义,因此不把它另称为置信区间或跨种子标准差。LSTM 相对前馈的均值差为 22 个百分点,这是直接相减,不等于“提高了 22%”。

消融中的固定连杆质量和固定圆盘摩擦分别为 0.64 和 0.48,说明随机化不是只有视觉纹理那一条路。不过这里不能把所有失败都归因于“参数区间太窄”:网络优化、探索和记忆学习同样可能影响结果。

五、随机范围和状态测量限定零样本迁移

作者在结尾把更多任务和视觉输入列为后续方向。本文的分析是:动作捕捉、固定物体类别、有限工作区和较宽位置容差,降低了感知及精密操作难度。把这一结果推广到插孔、软物体或高速接触,还需要新的实验。

另一个代价是训练覆盖与学习难度的权衡。过窄的分布容易遗漏现实;过宽的分布可能包含根本无法同时完成的控制情形。记忆只能利用可辨识的响应,不能凭空恢复从未观察到的信息。在第一次接触前,两个外观与状态相同但摩擦不同的世界仍可能无法区分。

追问:回合内物理参数突然变化时,已有循环记忆可能怎样误导策略?

参考答案:若训练主要在每回合固定参数中进行,历史隐藏状态会汇总旧物理条件;突变后继续依赖旧记忆可能延迟调整。应把回合间变化与回合内变化分别测量,报告变化后的短时误差和恢复时间。一次回合整体成功率可能掩盖这个过渡,原零样本结果也不自动保证任意突变下的及时适应。

六、沿机制关系继续读

本篇将DDPG与HER作模块组合,而与RMA构成教学对照:两者利用近期动作后果适应隐藏物理因素,显式特权编码—适应模块与隐式循环记忆并不相同。

七、自测三题与参考答案

问题1:为什么质量在回合内固定,观测噪声却每步改变?

答案:质量代表一个持续存在的物理世界,固定后历史响应才可帮助推断它;测量误差本来就可能随时间变化。两者描述不同不确定性。若质量也每步独立乱跳,历史辨识的价值和任务本身都会改变。

问题2:Critic 知道真实摩擦,是否意味着部署时作弊?

答案:要看 Actor 是否使用这一输入。这里物理参数只在训练评价器中出现,执行策略依赖可测状态和历史,所以没有要求真机实时提供摩擦真值。但这仍是训练特权,比较其他算法时应该说明,不能当作完全相同的信息条件。

问题3:真实成功率接近仿真,能否说明现实差距已经消失?

答案:不能。成功是带七厘米容差的任务指标,仿真与现实评估时长也不同;两种系统可以动力学明显不同却都到达目标。结果说明策略容忍了部分差距,并不说明模型准确,也不保证更严格位置精度或其他任务同样成功。