MoConVQ: Unified Physics-Based Motion Control via Scalable Discrete Representations
Peking University; Beijing Academy of Artificial Intelligence
问题背景
物理仿真角色能与物理环境交互,生成逼真的角色动画,并对外力扰动和环境变化做出自然响应。这对数字人和具身智能体都很关键。但由于全身人体动力学的复杂性,控制多样、敏捷的人体运动一直是长期难题。
近年的研究把生成模型和深度强化学习(DRL)结合起来,得到了生成式的物理运动表示。但这些方法有几个明显局限:
- 数据规模小:训练数据通常只有几分钟到几十分钟,运动多样性有限。把 DRL 框架扩展到几十小时甚至更大规模的数据并不容易。
- 潜空间语义不明确:学到的潜在运动表示往往缺乏显式含义,很难从潜空间中挑选出想要的运动。
- 任务迁移成本高:要使用某个特定动作,往往需要专门设计奖励函数来引导策略,还需要额外的 DRL 训练。
本文聚焦两个核心问题:(a)什么才是能控制多样运动的有效运动表示?(b)如何从大规模数据中高效地学出这种表示?作者提出 MoConVQ 框架,让物理角色从几十小时的示例运动中掌握多样运动技能,并为下游任务提供统一、直观的接口。
核心方法
MoConVQ 建立在向量量化变分自编码器(VQ-VAE) 与基于模型的强化学习之上,从大规模无结构运动数据集学习离散运动嵌入。整个系统由三部分组成:运动编码器 \(E\)、物理解码器 \(D\),以及一组离散码本 \(B\)。
离散运动表示
编码器把一段运动 \(M\)(一序列姿态 \([s_t]\))映射为潜向量序列,再量化为码序列,最后由解码器通过仿真重建运动:
\[V = E(M), \quad Z = B(V), \quad \tilde{M} = D(Z)\]
量化通过在码本中寻找最近邻完成:
\[z_k, I_k = \arg\min_{z_i \in B} \lVert z_i - v_k \rVert_2^2\]
其中 \(I_k\) 是 \(z_k\) 在码本中的索引。因此一段运动等价地可以用一串离散索引 \(S = [I_k]\) 表示——这正是后续接入 GPT 和大语言模型的关键。
编码器是 1D 卷积网络,把 \(T\) 帧运动下采样成 \(K\) 个潜码。解码器更复杂:先用 1D 反卷积把量化码上采样成与原帧率一致的中间码 \([u_t]\),再由一个控制策略 \(\pi\) 自回归地计算动作并推进仿真:
\[a_t = \pi(s_t, u_t), \quad s_{t+1} = \text{Sim}(s_t, a_t)\]
编码器和解码器都支持流式处理,运行时可以持续喂入新姿态、实时生成并修改潜码,形成连续的仿真运动流。
残差 VQ-VAE
单一码本的表示能力受码本大小限制。数据越多越杂,每个小片段的潜在变化就越多,为区分这些细节需要分配更多比特,导致码本指数级膨胀、训练不稳定(码本坍塌)。
作者采用残差 VQ-VAE:在标准 VQ 之外堆叠多个残差量化层(RVQ),每层量化上一层的残差。若把标准 VQ 视为第 0 层,则每个 \(v_k\) 的量化码是所有 RVQ 码之和:
\[z_k = \sum_{d=0}^{N} z_k^d\]
等价地表示为各层索引组成的元组 \(I_k = (I_k^0, I_k^1, \dots, I_k^N)\)。相比直接扩大码本,残差结构让模型容量随层数指数增长,还建立了由粗到细的表示:粗层捕捉运动主干,细层补充细节。
基于模型的训练
作者把仿真当作黑盒,这让框架不依赖具体物理引擎,但也使解码器不可微,无法用标准 VQ-VAE 的梯度回传训练。借鉴 ControlVAE 等工作,作者联合训练一个世界模型 \(W\) 来近似黑盒仿真器:
\[\hat{a}_t = \pi(\hat{s}_t, u_t), \quad \hat{s}_{t+1} = W(\hat{s}_t, \hat{a}_t)\]
用世界模型替代 \(\text{Sim}\) 后,整个解码过程变得完全可微。训练时交替更新世界模型和 MoConVQ 组件直至收敛。世界模型的损失为仿真序列与世界模型合成序列的差异:
\[L_W = \lVert \tilde{M}_{\text{sim}} - \tilde{M}_W \rVert\]
MoConVQ 组件(编码器、码本、策略)的损失包含重建损失、承诺损失、VQ 目标和一个动作正则项:
\[L = \lVert M - \tilde{M}_W \rVert + \beta_1 \lVert E(M) - \text{sg}(Z) \rVert + \beta_2 \lVert \text{sg}(E(M)) - Z \rVert + \beta_3 L_{\text{reg}}\]
其中 \(\text{sg}\) 是停止梯度算子。
技术细节
- 角色与仿真:浮动基座的关节刚体系统,19 个关节、20 个刚体,身高 1.6 m、体重 49.5 kg。在定制的 ODE 引擎中以 120 Hz 稳定仿真,控制策略以 20 Hz 执行。用 PD 控制施加关节力矩:\(\tau = k_p(\bar{\theta} - \theta) - k_d\dot{\theta}\),策略输出的动作即各关节的目标旋转。
- 动作正则:为避免模型把高频噪声误当作运动细节(造成抖动、脚滑),作者用指数滑动平均(EMA)作为软约束。\(L_{\text{reg}}\) 既约束动作与其 EMA 的差异(鼓励平滑),也约束动作绝对幅度(稳定训练)。
- 策略网络:采用分层混合专家(MoE)模型,六个专家各为四层 256 单元 MLP,由两层 64 单元的门控网络混合。
- 世界模型:四层 512 单元 MLP,配合一个大小 50000 的先进先出重放缓冲区,每次迭代替换 1024 帧,显著稳定训练。
- 训练技巧:码本 EMA 更新、码复位(缓解坍塌)、量化器 dropout(随机使用前若干 RVQ 层,使运动可用任意数量的初始层表示,从而在复杂度和重建质量间可调)。
- 训练规模:数据集 23.2 小时(来自 LaFAN 和 AMASS),下采样到 20 FPS。训练用 \(T=24\) 帧片段,每段编码为 \(K=6\) 个潜码,码维 768,\(N=8\) 个 RVQ 层,每个码本 512 个码向量。单张 RTX 3090 训练约六天(40k epoch)。
统一框架下的下游任务
任务分两类:编码器-解码器任务(追踪控制)和仅解码器任务(训练高层策略生成潜码序列)。
- 通用追踪控制:输入运动经编码、量化、仿真解码后重建。量化能消除原运动的扰动,可追踪未见过的运动甚至含噪输入,并生成物理正确的运动。测试来源包括未见数据集、运动学生成结果、视频姿态估计。
- 交互控制:用仅解码器配置训练高层策略。量化表示带来的鲁棒性使得可用监督学习(而非 RL)高效训练。以转向控制为例,作者用自回归策略 \(\pi_{\text{steering}}\) 从参考数据集蒸馏策略,并采用计划采样(scheduled sampling)逐步从参考码过渡到生成码。
- GPT 生成式运动先验(MoConGPT):采用基于索引的表示,用 Transformer 预测 \(p(I_k \mid I_{
双 Transformer:时序 Transformer 聚合历史码信息,深度 Transformer 基于聚合特征和前面 RVQ 层的索引计算当前层索引。加入交叉注意力接入 T5 编码的文本特征后,得到 T2M-MoConGPT,实现物理正确的文本到运动生成。 - 接入大语言模型(LLM):用仅解码器配置的 VQ 索引,通过上下文学习(ICL) 让预训练 LLM 学会使用运动。作者给 Claude-2 提供约 1600 条”文本描述 + 索引序列”示例(利用其 100k 上下文),LLM 无需微调即可理解索引的含义,并将运动片段重组生成新动作。作者形象地把 LLM 比作角色的”大脑”,MoConVQ 则是管理运动协调的”小脑”。
实验结果
- 未见运动追踪:在 2 小时 HDM05 测试集上,MPBPE 为 6.3 cm,仿真运动贴近输入,且自动修复了重定向带来的脚滑、穿地等伪影。
- 运动学生成追踪:潜空间运动匹配可从单个舞蹈片段生成多样不重复的连续舞蹈,无需在姿态空间做混合;对 SOTA 潜扩散生成结果追踪后,抖动和漂浮伪影被有效消除。
- 视频姿态估计(Human3.6M):追踪 HybrIK 的估计结果,完全不使用残差力(此前物理方法常靠不合理的根部残差力维持平衡)。在从未见过该数据集的情况下,PA-MPJPE(69.3 mm)与全物理基线 SimPoE 相当;运动质量指标(平滑度 \(e_{\text{smooth}}=3.4\)、加速度抖动 Accel=5.1)优于各基线。
- 文本到运动(HumanML3D):作为首个处理通用文本到运动任务的物理方法,R-precision 和 FID(0.254)与运动学基线可比,且不产生漂浮、穿透、抖动。作者指出简单的复制关节旋转重定向策略显著拉低了 R-precision——把真值来回重定向后指标同样明显下降,说明差距主要来自重定向而非生成质量。
- LLM 集成:Claude-2 能把”向前走然后坐下”等新查询分解为已学动作的索引序列并组合,甚至能解释为何选择某些索引。对更抽象的任务(如”走出正方形轨迹”“开门取钥匙坐到椅子上”)也能通过推理组合动作完成,而 T2M-MoConGPT 无法处理这类训练集中不存在的抽象描述。
- 消融:连续 VAE 在干净数据上追踪精度更高,但加入高斯噪声 \(\epsilon \sim \mathcal{N}(0, 0.1)\) 后性能骤降,而 MoConVQ 几乎不受影响,说明向量量化对扰动鲁棒;残差结构在保持鲁棒性的同时显著提升追踪精度,VQ 层捕捉整体轨迹、残差层细化细节。
贡献与局限
贡献:
- 提出可扩展到超大数据集(20+ 小时)的统一物理运动生成框架,据作者所述是首个在如此规模和多样性数据上训练的物理生成式运动控制模型。
- 提出 T2M-MoConGPT,首个处理通用文本到运动合成任务的物理方法。
- 提出与大语言模型的新颖集成方式,让 LLM 理解并在仿真环境中使用人体运动,为借助 LLM 推理能力创造智能仿真角色打开了空间。
局限:
- 对数据集中稀疏且孤立的动作(如后空翻、某些功夫动作)仍难以学好,可考虑渐进式强化学习。
- 卷积解码器需要若干未来运动码来计算当前动作,会带来实时延迟,可尝试因果卷积等结构。
- 运动表示不区分身体部位,难以直接控制单个肢体,组合式运动表示是可探索方向。
- 当前框架面向单人动作,扩展到环境交互与多智能体是有价值的未来方向。