论文状态:已完成

AMP: Adversarial Motion Priors for Stylized Physics-Based Character Control

发表:2021/04/06
原文链接PDF 下载
价格:0.100000
价格:0.100000
已有 2 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了一种全自动化的对抗性运动先验 (AMP) 方法,旨在为物理模拟角色生成优雅、逼真的动作。通过对抗性模仿学习,AMP简化了高层任务目标的设定,同时从非结构化运动剪辑中学习低层行为风格,避免了复杂的动作选择机制,实现在多样化数据集上高质量动作生成。

摘要

Synthesizing graceful and life-like behaviors for physically simulated characters has been a fundamental challenge in computer animation. Data-driven methods that leverage motion tracking are a prominent class of techniques for producing high fidelity motions for a wide range of behaviors. However, the effectiveness of these tracking-based methods often hinges on carefully designed objective functions, and when applied to large and diverse motion datasets, these methods require significant additional machinery to select the appropriate motion for the character to track in a given scenario. In this work, we propose to obviate the need to manually design imitation objectives and mechanisms for motion selection by utilizing a fully automated approach based on adversarial imitation learning. High-level task objectives that the character should perform can be specified by relatively simple reward functions, while the low-level style of the character's behaviors can be specified by a dataset of unstructured motion clips, without any explicit clip selection or sequencing. These motion clips are used to train an adversarial motion prior, which specifies style-rewards for training the character through reinforcement learning (RL). The adversarial RL procedure automatically selects which motion to perform, dynamically interpolating and generalizing from the dataset. Our system produces high-quality motions that are comparable to those achieved by state-of-the-art tracking-based techniques, while also being able to easily accommodate large datasets of unstructured motion clips. Composition of disparate skills emerges automatically from the motion prior, without requiring a high-level motion planner or other task-specific annotations of the motion clips. We demonstrate the effectiveness of our framework on a diverse cast of complex simulated characters and a challenging suite of motor control tasks.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

AMP: Adversarial Motion Priors for Stylized Physics-Based Character Control

1.2. 作者

Xue Bin Peng, Ze Ma, Pieter Abbeel, Sergey Levine, Angjoo Kanazawa

1.3. 发表期刊/会议

ACM Transactions on Graphics (ACM Trans. Graph. 40, 4, Article 1), SIGGRAPH。该期刊/会议是计算机图形学领域顶级的出版平台,享有极高的声誉和影响力,发表的内容通常代表了该领域最前沿和高质量的研究成果。

1.4. 发表年份

2021年 (UTC: 2021-04-05T22:43:14.000Z)

1.5. 摘要

这篇论文解决了计算机动画中为物理模拟角色合成优雅、逼真行为的根本挑战。传统的基于跟踪的数据驱动方法虽然能生成高质量的动作,但其有效性高度依赖于精心设计的客观函数,并且在面对大型多样化运动数据集时,需要复杂的机制来选择合适的动作进行跟踪。

本文提出了一种对抗性运动先验 (Adversarial Motion Priors, AMP) 的全自动化方法,它基于对抗性模仿学习 (adversarial imitation learning),从而避免了手动设计模仿目标和运动选择机制的需求。高层任务目标可以通过相对简单的奖励函数来指定,而角色的低层行为风格则可以通过非结构化的运动剪辑数据集来指定,无需任何明确的剪辑选择或排序。

这些运动剪辑用于训练一个对抗性运动先验,该先验为通过强化学习 (Reinforcement Learning, RL) 训练角色指定风格奖励 (style-rewards)。对抗性强化学习过程会自动选择执行哪个动作,并从数据集中动态地进行插值和泛化。该系统生成的高质量动作与最先进的基于跟踪的技术相当,同时能够轻松适应大型非结构化运动剪辑数据集。不同技能的组合自动从运动先验中涌现,无需高层运动规划器或对运动剪辑进行任务特定标注。作者在多样化的复杂模拟角色和一系列具有挑战性的运动控制任务上展示了该框架的有效性。

1.6. 原文链接

  • 官方来源: https://doi.org/10.1145/3450626.3459670
  • ArXiv 预印本: https://arxiv.org/abs/2104.02180v2
  • PDF 链接: https://arxiv.org/pdf/2104.02180v2.pdf 论文已在ACM Transactions on Graphics正式发表。

2. 整体概括

2.1. 研究背景与动机

核心问题: 计算机动画中,为物理模拟角色生成自然、逼真的动作是一个长期存在的挑战。尽管数据驱动方法(特别是基于运动跟踪的方法)在生成高质量动作方面表现出色,但它们面临两个主要限制:

  1. 客观函数设计复杂: 这些方法的效果严重依赖于手动精心设计的模仿目标函数,这在面对各种行为时耗时且难以调整。

  2. 大型数据集的动作选择挑战: 当处理大型、多样化的非结构化运动数据集时,需要额外的复杂机制(如运动规划器)来在特定场景下选择合适的动作片段进行跟踪。这通常需要对数据进行繁琐的标注和组织。

  3. 对特定动作的严格跟踪: 现有方法通常旨在精确跟踪某个参考动作,但这限制了角色在面对新任务或需要偏离参考动作时表现出泛化和适应能力。

    重要性与现有空白: 逼真的角色动作对于沉浸式体验(如电影、游戏、VR)至关重要,对机器人系统而言,自然动作也隐含着安全性、能效等重要属性。现有优化方法难以量化“自然性”,启发式方法(如对称性、稳定性)应用受限且需反复调整。数据驱动方法通过使用真实动作数据缓解了部分问题,但如上所述,其在目标函数设计和大数据集应用方面仍存在显著挑战。缺乏一种无需手动干预、能从非结构化数据中自动学习风格并泛化到新任务的方法。

论文切入点/创新思路: 本文提出通过对抗性模仿学习 (Adversarial Imitation Learning, AIL) 来解决上述问题。其核心思想是,不是手动设计模仿目标或复杂的动作选择机制,而是利用一个对抗性运动先验 (Adversarial Motion Priors, AMP)。这个先验是从非结构化的运动剪辑数据集中学习到的,能够自动为强化学习过程提供“风格奖励”,指导角色生成符合数据集整体风格的动作,同时也能完成高层任务目标。这实现了任务指定与风格指定的分离。

2.2. 核心贡献/主要发现

  1. 提出对抗性运动先验 (AMP) 框架: 首次提出了一个结合目标条件强化学习 (goal-conditioned reinforcement learning) 和对抗性运动先验的物理模拟角色动画方法。该方法允许用户通过简单奖励函数指定高层任务目标,并通过非结构化运动剪辑数据集控制低层动作风格。
  2. 消除手动设计模仿目标和动作选择机制的需求: AMP 通过对抗性鉴别器 (adversarial discriminator) 自动从原始运动剪辑中学习行为,无需任务特定标注或数据集组织。它充当一个通用的相似性度量,无需显式比较特定动作片段。
  3. 自动技能组合和泛化: 对抗性强化学习过程能够自动选择要执行的动作,并从数据集中动态地进行插值和泛化。这意味着角色可以自动组合和切换不同的技能以完成高层任务目标,而无需高层运动规划器或任务特定注释。
  4. 达到先进的动作质量: 本文系统生成的高质量动作与最先进的基于跟踪的技术相当,同时能够轻松处理大型多样化运动剪辑数据集。
  5. 稳定对抗性训练的关键设计: 论文提出了多项关键设计决策(如使用状态转换、最小二乘鉴别器、梯度惩罚和判别器观察特征选择)来稳定对抗性训练过程,从而产生更高质量的结果。
  6. 在复杂任务和角色上的验证: 在34自由度 (DoF) 人形角色、59自由度霸王龙和64自由度狗等多样化复杂模拟角色上,以及一系列具有挑战性的运动控制任务(如目标方向、目标位置、运球、打击、穿越障碍物)中,展示了框架的有效性。

3. 预备知识与相关工作

3.1. 基础概念

3.1.1. 物理模拟角色 (Physics-Based Character)

指在计算机环境中,其运动和行为受物理定律(如重力、碰撞、摩擦力、惯性等)约束的虚拟角色。它们的动作不是预设的动画,而是通过控制力矩或力来实时计算和模拟的,因此能够与环境进行真实的物理交互。

3.1.2. 强化学习 (Reinforcement Learning, RL)

一种机器学习范式,智能体 (agent) 通过与环境交互来学习如何做出决策以最大化累积奖励。智能体在每个时间步观察环境状态 (state),执行一个动作 (action),环境会根据动作给出奖励 (reward) 并转移到新的状态。目标是学习一个策略 (policy),将状态映射到动作,以期获得最大的长期回报 (return)。

3.1.3. 目标条件强化学习 (Goal-Conditioned Reinforcement Learning)

强化学习的一个变体,其中智能体的策略不仅仅依赖于当前环境状态,还依赖于一个指定的目标 (goal)。这使得智能体能够学习如何完成一系列不同的任务,而不仅仅是单一任务。策略 π(atst,g)\pi(a_t | s_t, g) 会根据当前状态 sts_t 和目标 gg 来选择动作 ata_t

3.1.4. 生成对抗网络 (Generative Adversarial Networks, GAN)

一种深度学习模型,由两个神经网络组成:一个生成器 (generator) 和一个鉴别器 (discriminator)。生成器的目标是生成看起来真实的假数据(例如图像),以欺骗鉴别器;鉴别器的目标是区分真实数据和生成器生成的假数据。两者在对抗中相互学习,最终生成器能够生成高质量的、难以与真实数据区分的数据。

3.1.5. 对抗性模仿学习 (Adversarial Imitation Learning, AIL)

将 GAN 的思想应用于模仿学习 (Imitation Learning)。在 AIL 中,一个策略(作为生成器)尝试模仿专家演示的动作,而一个鉴别器尝试区分策略生成的动作和专家演示的动作。鉴别器给出的分数作为策略的奖励信号,鼓励策略生成与专家演示更相似的动作。

3.1.6. 比例-微分 (Proportional-Derivative, PD) 控制器

一种常用的反馈控制机制,用于维持系统状态在一个目标值附近。在物理模拟角色中,PD 控制器常用于控制关节的力矩,以使其达到目标角度或位置。它根据当前误差 (目标位置与实际位置的差值) 和误差的变化率 (速度) 来计算所需的控制输出。

3.1.7. 动态时间规整 (Dynamic Time Warping, DTW)

一种算法,用于测量两个序列(例如时间序列、音频信号)之间的相似性,即使它们的长度不同或在时间轴上存在变形。DTW 通过“弯曲”时间轴来寻找两个序列之间的最佳对齐方式,从而计算出它们之间的最小距离。在动作模仿中,DTW 可以用来比较模拟动作与参考动作的相似性,即使它们的执行速度或节奏有所不同。

3.2. 前人工作

3.2.1. 运动捕捉 (Motion Capture, MoCap) 数据驱动方法

这类方法通过收集真实演员或生物的运动数据(如骨骼关节位置序列)来指导虚拟角色的动画。

  • Lee et al. [2002, 2010b], Agrawal and van de Panne [2016], Safonova and Hodgins [2007], Treuille et al. [2007]: 利用运动数据集构建控制器,选择合适的运动片段播放。
  • Generative Models (生成模型): 如高斯过程 [Levine et al. 2012; Ye and Liu 2010] 和神经网络 [Holden et al. 2017; Ling et al. 2020; Zhang et al. 2018],用于在线合成动作。
  • 局限性: 尽管能产生逼真动作,但在处理新颖情况时受限于数据可用性,对于复杂任务和非人类生物,数据收集困难。

3.2.2. 物理模拟方法 (Physics-Based Methods)

这类方法利用物理仿真或运动方程从第一性原理合成动作。

  • Raibert and Hodgins [1991], Wampler et al. [2014]: 利用物理仿真生成动作。
  • 优化技术: 如轨迹优化 (trajectory optimization) 和强化学习 (reinforcement learning),通过优化目标函数来生成控制器 [Mordatch et al. 2012; Tan et al. 2014; van de Panne et al. 1994]。
  • 挑战: 设计能够产生自然行为的有效目标函数非常困难。常需加入启发式规则(如对称性、稳定性、能量最小化)[Mordatch et al. 2012; Wang et al. 2009; Yu et al. 2018],但需仔细平衡且不总是通用。

3.2.3. 模仿学习 (Imitation Learning)

结合数据驱动和物理模拟,使用参考动作数据来提高动作质量。

  • 跟踪目标 (Tracking Objectives): 最常见的方法,通过最小化模拟角色与参考动作目标姿态之间的姿态误差来实现模仿 [Lee et al. 2010a; Liu et al. 2016, 2010; Peng et al. 2018a; Sok et al. 2007]。
    • 相位变量同步: Peng et al. [2018a,b] 和 Lee et al. [2019] 使用相位变量 (phase variable) 同步模拟角色与参考动作。这对于单个动作片段有效,但难以扩展到包含多个不同动作的数据集。
    • 目标姿态作为输入: Bergamin et al. [2019], Chentanez et al. [2018], Park et al. [2019], Won et al. [2020] 将正在跟踪的参考动作中的目标姿态作为控制器的输入。
  • 局限性:
    • 动作选择的算法开销: 在大型数据集中,选择适当的参考动作进行跟踪需要复杂的运动规划器 [Bergamin et al. 2019; Park et al. 2019; Peng et al. 2017],这本身就是一项挑战,并需要对动作片段进行大量标注和组织。
    • 手动设计误差度量: 跟踪目标需要手动设计的姿态误差度量,难以构建和调整一个对所有技能都有效的通用度量。

3.2.4. 对抗性模仿学习 (Adversarial Imitation Learning, AIL)

作为跟踪目标方法的替代。

  • Abbeel and Ng [2004], Ho and Ermon [2016], Ziebart et al. [2008]: 训练一个对抗性鉴别器来区分智能体生成的行为和演示数据中的行为,然后用鉴别器作为策略的奖励函数。
  • 早期工作: Merel et al. [2017] 和 Wang et al. [2017] 在运动模仿任务中显示出潜力,但通常不稳定,动作质量低于最先进的跟踪方法。
  • Peng et al. [2019b]: 通过信息瓶颈 (information bottleneck) 正则化鉴别器,生成了更逼真的动作,但仍需相位变量同步,限制了其学习单一动作片段的能力,不适用于大型多样化数据集。
  • 本文的创新点: 提出了一种不依赖同步无需运动规划器无需任务特定标注和分割的对抗性方法,用于从大型非结构化数据集中学习通用运动先验,并稳定了训练过程,提高了结果质量。

3.2.5. 潜在空间模型 (Latent Space Models)

也可作为一种运动先验,通过学习到的潜在表示来指定控制。

  • Burgard et al. [2008], Florensa et al. [2017], Hausman et al. [2018], Heess et al. [2016]: 通过学习到的潜在表示来生成控制。
  • 分层控制: 潜在空间模型作为低层控制器,上层控制器通过潜在空间指定控制 [Florensa et al. 2017; Haarnoja et al. 2018; Lynch et al. 2020]。
  • 在角色控制中的应用: 潜在表示可以编码参考运动片段中的行为,从而约束角色行为与观察到的数据相似 [Merel et al. 2019; Peng et al. 2019a]。
  • 局限性:
    • 隐式强制风格: 真实性通过潜在表示隐式强制,高层控制器仍可能指定产生不自然行为的潜在编码 [Merel et al. 2020; Peng et al. 2019a]。
    • 对抗性域混淆: Luo et al. [2020] 提出对抗性域混淆损失,但由于其在潜在空间而非实际动作上应用,仍易产生不自然行为。
  • 本文的优势: AMP 直接在角色生成的实际动作和参考动作数据集之间强制执行相似性,从而能够产生比潜在空间模型更高保真度的动作。此外,AMP 不需要单独的预训练阶段,可以与策略 (policy) 联合训练。

3.3. 技术演进与差异化分析

现有技术在生成逼真物理模拟角色动作上主要分为:

  • 纯物理模拟: 优点是能处理新颖场景,缺点是难以设计“自然”的目标函数。

  • 数据驱动的运动捕捉 (MoCap): 优点是能复制真实动作,缺点是受限于数据(特别是稀缺数据),且难以泛化到未见过的情况。

  • 基于跟踪的模仿学习: 结合了物理模拟和MoCap,通过最小化与参考动作的姿态误差来学习。优点是动作质量高,缺点是需要手动设计的奖励函数,且对大型数据集需要复杂的动作选择(运动规划器)和数据标注。

  • 对抗性模仿学习 (AIL): 尝试通过鉴别器自动学习模仿目标,避免手动设计奖励。早期工作不稳定,质量不如跟踪方法。

  • 潜在空间模型: 通过学习潜在表示来间接约束动作风格,但可能产生不自然动作,且通常需要预训练。

    本文的 AMP 方法在以下几个关键方面实现了差异化和突破:

  1. 自动化模仿目标学习: 完全采用对抗性模仿学习,克服了手动设计模仿客观函数和运动选择机制的需求。

  2. 处理非结构化大型数据集: 能够直接应用于大型、多样化且非结构化的运动剪辑数据集,无需对数据进行任务特定标注、分割或组织。这是相比于传统跟踪方法(需要运动规划器来选择动作片段)的重大优势。

  3. 解耦任务与风格: 通过将奖励函数分解为任务特定奖励 rGr^G 和学到的任务无关风格奖励 rSr^S,实现了任务指定和风格指定的分离。

  4. 自动技能组合: 角色能够自动从运动先验中组合和泛化不同的技能以完成高层任务,例如走路到目标然后打击,或者在穿越障碍时自动切换跑步、跳跃、翻滚。这与需要高层运动规划器的方法形成对比。

  5. 稳定性和高保真度: 论文通过一系列关键设计(最小二乘鉴别器、梯度惩罚、状态转换作为输入、特定观察特征)显著提高了对抗性训练的稳定性,使其能够产生与最先进跟踪方法相当的高质量、高保真度动作。

    AMP 位于 AIL 的前沿,解决了 AIL 在物理模拟角色控制中长期存在的稳定性问题,并扩展了其处理大型、多样化、非结构化运动数据的能力,从而在自动化、泛化和动作质量之间取得了更好的平衡。

4. 方法论

本文的目标是开发一个系统,允许用户指定角色应执行的高层任务目标,同时通过非结构化运动剪辑示例控制角色动作的低层风格。通过结合目标条件强化学习 (Goal-Conditioned Reinforcement Learning) 和生成对抗模仿学习 (Generative Adversarial Imitation Learning, GAIL),系统训练出一个控制策略,使模拟角色在物理模拟环境中以期望的行为风格完成挑战性任务。

4.1. 方法原理

本文的核心思想是将奖励函数分解为两个主要部分:

  1. 任务奖励 (Task-specific Reward) rGr^G: 定义角色应满足的高层目标(例如,走向目标位置,击打目标)。这个奖励可以相对直观和简单地设计。

  2. 风格奖励 (Style-reward) rSr^S: 定义角色在执行任务时应采用的低层行为细节(例如,走路、跑步、僵尸步态)。这个奖励是通过学习一个鉴别器 (discriminator) 来获得的,该鉴别器将模拟角色生成的动作与给定数据集中的参考动作区分开来。这个学到的鉴别器被称为对抗性运动先验 (Adversarial Motion Prior, AMP)

    鉴别器充当一个任务无关的运动先验,它提供了一个关于给定动作的自然性或风格的先验估计,独立于具体任务。通过将运动先验结合到目标条件强化学习框架中,系统能够训练物理模拟角色以自然和逼真的行为执行挑战性任务。不同行为的组合从运动先验中自动产生,无需运动规划器或其他选择模仿片段的机制。

4.2. 核心方法详解

4.2.1. 奖励函数结构

总奖励函数 rr 由任务奖励 rGr^G 和风格奖励 rSr^S 线性组合而成: r(st,at,st+1,g)=wGrG(st,at,st,g)+wSrS(st,st+1) r (\mathrm{s}_t, \mathrm{a}_t, \mathrm{s}_{t+1}, \mathrm{g}) = w^G r^G (\mathrm{s}_t, \mathrm{a}_t, \mathrm{s}_t, \mathrm{g}) + w^S r^S (\mathrm{s}_t, \mathrm{s}_{t+1}) 其中,

  • st\mathrm{s}_t: 角色在时间步 tt 的状态 (state)。
  • at\mathrm{a}_t: 角色在时间步 tt 执行的动作 (action)。
  • st+1\mathrm{s}_{t+1}: 角色在时间步 t+1t+1 的状态。
  • g\mathrm{g}: 目标 (goal)。
  • wGw^G: 任务奖励的权重。
  • wSw^S: 风格奖励的权重。
  • rG(st,at,st,g)r^G (\mathrm{s}_t, \mathrm{a}_t, \mathrm{s}_t, \mathrm{g}): 任务奖励,根据角色是否满足高层任务目标给出。
  • rS(st,st+1)r^S (\mathrm{s}_t, \mathrm{s}_{t+1}): 风格奖励,由对抗性运动先验(鉴别器)给出,衡量角色动作与数据集中风格的相似性。

4.2.2. 对抗性运动先验 (AMP) 的训练

AMP 的核心是一个鉴别器 DD,它被训练来区分来自数据集 MM 的真实状态转换 (st,st+1)(\mathrm{s}_t, \mathrm{s}_{t+1}) 和由策略 π\pi 生成的虚假状态转换 (st,st+1)(\mathrm{s}_t, \mathrm{s}_{t+1})

4.2.2.1. 鉴别器输入:从观察中模仿 (Imitation from Observations)

传统的 GAIL 需要访问专家的动作。然而,当演示以运动剪辑的形式提供时,专家的动作是未知的,只能观察到状态。为了解决这个问题,鉴别器被训练来区分状态转换 D(s,s)D(\mathrm{s}, \mathrm{s}'),而不是状态-动作对 D(s,a)D(\mathrm{s}, \mathrm{a})

鉴别器的目标函数最初为: argminDEdM(s,s)[log(D(s,s))]Edπ(s,s)[log(1D(s,s))] \underset{D}{\arg\min} - \mathbb{E}_{d^M (\mathrm{s}, \mathrm{s}')} \left[ \log \left( D (\mathrm{s}, \mathrm{s}') \right) \right] - \mathbb{E}_{d^\pi (\mathrm{s}, \mathrm{s}')} \left[ \log \left( 1 - D (\mathrm{s}, \mathrm{s}') \right) \right] 其中,

  • dM(s,s)d^M (\mathrm{s}, \mathrm{s}'): 数据集中观察到状态转换 (s,s)(\mathrm{s}, \mathrm{s}') 的概率分布。
  • dπ(s,s)d^\pi (\mathrm{s}, \mathrm{s}'): 遵循策略 π\pi 观察到状态转换 (s,s)(\mathrm{s}, \mathrm{s}') 的概率分布。

4.2.2.2. 最小二乘鉴别器 (Least-Squares Discriminator)

为了解决标准 GAN 目标函数中存在的优化挑战(如梯度消失),本文采用了最小二乘 GAN (LSGAN) [Mao et al. 2017] 提出的损失函数。这有助于更稳定的训练和更高质量的结果。

用于训练鉴别器 DD 的目标函数为: argminDEdM(s,s)[(D(Φ(s),Φ(s))1)2]+Edπ(s,s)[(D(Φ(s),Φ(s))+1)2] \underset{D}{\arg\min} \mathbb{E}_{d^M (\mathrm{s}, \mathrm{s}')} \left[ \left( D (\Phi (\mathrm{s}), \Phi (\mathrm{s}')) - 1 \right)^2 \right] + \mathbb{E}_{d^\pi (\mathrm{s}, \mathrm{s}')} \left[ \left( D (\Phi (\mathrm{s}), \Phi (\mathrm{s}')) + 1 \right)^2 \right] 其中,

  • Φ(s)\Phi (\mathrm{s}): 观察映射函数,用于从状态 s\mathrm{s} 中提取鉴别器相关的特征。

  • D(Φ(s),Φ(s))D(\Phi (\mathrm{s}), \Phi (\mathrm{s}')): 鉴别器预测的评分,旨在对来自数据集的样本预测为 1,对来自策略的样本预测为 -1。

    基于此鉴别器的策略奖励函数为: r(st,st+1)=max[0, 10.25(D(st,st+1)1)2] r (\mathrm{s}_t, \mathrm{s}_{t+1}) = \max \left[ 0, \ 1 - 0.25 (D (\mathrm{s}_t, \mathrm{s}_{t+1}) - 1)^2 \right] 这个奖励函数将奖励限制在 [0, 1] 之间,符合强化学习的常见实践。当鉴别器预测接近 1 时,奖励接近 1(表示动作真实);当预测接近 -1 时,奖励接近 0(表示动作虚假)。

4.2.2.3. 鉴别器观察特征 (Discriminator Observations)

为了给策略提供有效的反馈,鉴别器需要一组合适的特征来做预测。在将状态转换作为输入提供给鉴别器之前,应用一个观察映射 Φ(st)\Phi(\mathrm{s}_t) 来提取与确定给定运动特征相关的特征集。这些特征作为 D(Φ(s),Φ(s))D(\Phi(\mathrm{s}), \Phi(\mathrm{s}')) 的输入。这些特征包括:

  • 根部 (root) 的线速度和角速度:在角色局部坐标系中表示。根部被指定为角色的骨盆。

  • 每个关节的局部旋转:使用两个 3D 向量编码的 6D 正常-切线表示,提供平滑唯一的旋转表示。

  • 每个关节的局部速度

  • 末端执行器 (end-effectors)(例如手和脚)的 3D 位置:在角色局部坐标系中表示。

    角色局部坐标系定义为:原点位于根部,X 轴沿根部关节的朝向方向,Y 轴与全局向上向量对齐。这些特征提供了一个紧凑的单状态转换运动特征表示,且不包含任务特定特征,使得运动先验可以在没有任务特定标注的情况下训练,并可用于不同任务。

4.2.2.4. 梯度惩罚 (Gradient Penalty)

为了提高训练稳定性并防止鉴别器在真实数据流形上分配非零梯度(这可能导致生成器过冲并偏离数据流形),本文引入了梯度惩罚 [Gulrajani et al. 2017; Kodali et al. 2017; Mescheder et al. 2018]。

带有梯度惩罚的鉴别器目标函数为: argminDEdM(s,s)[(D(Φ(s),Φ(s))1)2]+Edπ(s,s)[(D(Φ(s),Φ(s))+1)2]+wgp2EdM(s,s)[ϕD(ϕ)|ϕ=(Φ(s),Φ(s))2] \begin{array}{rcl} \underset{D}{\arg\min} & \mathbb{E}_{d^M (\mathrm{s}, \mathrm{s}')} \left[ \left( D (\Phi (\mathrm{s}), \Phi (\mathrm{s}')) - 1 \right)^2 \right] \\ & + \mathbb{E}_{d^\pi (\mathrm{s}, \mathrm{s}')} \left[ \left( D (\Phi (\mathrm{s}), \Phi (\mathrm{s}')) + 1 \right)^2 \right] \\ & + \displaystyle \frac{w^{\mathrm{gp}}}{2} \mathbb{E}_{d^M (\mathrm{s}, \mathrm{s}')} \left[ \left\| \nabla_{\phi} D (\phi) \middle | \phi = (\Phi (\mathrm{s}), \Phi (\mathrm{s}')) \right\|^2 \right] \end{array} 其中,

  • wgpw^{\mathrm{gp}}: 手动指定的梯度惩罚系数。
  • ϕD(ϕ)\nabla_{\phi} D (\phi): 鉴别器 DD 对其输入 \phi = (\Phi (\mathrm{s}), \Phi (\mathrm{s}')) 的梯度。 注意,梯度惩罚是针对观察特征 ϕ\phi 计算的,而不是完整状态特征 (s,s)(\mathrm{s}, \mathrm{s}')

4.2.3. 模型表示

4.2.3.1. 状态 (States)

状态 st\mathrm{s}_t 包含描述角色身体配置的一组特征,类似于 Peng et al. [2018a] 使用的特征:

  • 每个关节相对于根部的相对位置。
  • 每个关节的旋转(使用 6D 正常-切线编码)。
  • 每个关节的线速度和角速度。 所有特征都记录在角色的局部坐标系中。与之前需要同步相位信息的方法不同,本文的策略不显式模仿数据集中的特定动作,因此不需要同步或相位信息。

4.2.3.2. 动作 (Actions)

每个动作 at\mathrm{a}_t 为 PD 控制器指定目标位置,这些控制器位于角色的每个关节处。

  • 球形关节 (Spherical Joints): 目标以 3D 指数映射 qR3\mathbf{q} \in \mathbb{R}^3 的形式指定 [Grassia 1998]。旋转轴 V\mathbf{V} 和旋转角度 θ\theta 可以根据 q\mathbf{q} 确定: v=qq2,θ=q2 \mathrm{v} = \frac{\mathbf{q}}{||\mathbf{q}||_2}, \qquad \theta = ||\mathbf{q}||_2 这种表示比 4D 轴-角或四元数表示更紧凑,并避免了欧拉角等参数化中的万向锁 (gimbal lock)。
  • 旋转关节 (Revolute Joints): 目标旋转指定为 1D 旋转角度 q=θq = \theta

4.2.3.3. 网络架构 (Network Architecture)

  • 策略 π\pi: 建模为一个神经网络,将给定状态 st\mathrm{s}_t 和目标 g\mathrm{g} 映射到一个高斯分布 π(atst,g)=N(μ(st,g),Σ)\pi (\mathrm{a}_t | \mathrm{s}_t, \mathrm{g}) = N (\mu (\mathrm{s}_t, \mathrm{g}), \Sigma)μ(st,g)\mu (\mathrm{s}_t, \mathrm{g}) 是一个由全连接网络指定的输入依赖均值,包含两个隐藏层(1024 和 512 个 ReLU [Nair and Hinton 2010] 单元),后接一个线性输出层。Σ\Sigma 是一个固定对角协方差矩阵,其值手动指定并在训练过程中保持不变。
  • 价值函数 V(st,g)V (\mathrm{s}_t, \mathrm{g}) 和鉴别器 D(st,st+1)D (\mathrm{s}_t, \mathrm{s}_{t+1}): 由具有相似架构的单独网络建模。

4.2.4. 训练过程 (Training)

策略使用 GAIL [Ho and Ermon 2016] 和 近端策略优化 (Proximal Policy Optimization, PPO) [Schulman et al. 2017] 的组合进行训练。

算法流程 (Algorithm 1 概述):

  1. 初始化: 鉴别器 DD、策略 π\pi、价值函数 VV、回放缓冲区 B\mathcal{B}
  2. 循环直到完成: a. 数据收集: i. 对于每个轨迹 i=1,...,mi = 1, ..., m: - 策略 π\pi 在环境中执行,生成轨迹 τi\tau^i。 - 在每个时间步 t=0,...,T1t = 0, ..., T-1: - 计算鉴别器得分 dtD(Φ(st),Φ(st+1))d_t \gets D (\Phi (\mathrm{s}_t), \Phi (\mathrm{s}_{t+1}))。 - 根据公式 7,使用 dtd_t 计算风格奖励 rtSr_t^S。 - 结合任务奖励 rtGr_t^G 和风格奖励 rtSr_t^S 得到总奖励 r~twGrtG+wSrtS\tilde{r}_t \gets w^G r_t^G + w^S r_t^S。 - 记录 r~t\tilde{r}_t 到轨迹 τi\tau^i 中。 - 将轨迹 τi\tau^i 存储到回放缓冲区 B\mathcal{B} 中。 b. 模型更新: i. 对于每个更新步骤 =1,...,n = 1, ..., n: - 从运动数据集 MM 中采样一批 KK 个真实状态转换 (sj,sj)(\mathrm{s}_j, \mathrm{s}_j'),得到 bMb^M。 - 从回放缓冲区 B\mathcal{B} 中采样一批 KK 个策略生成的状态转换 (sj,sj)(\mathrm{s}_j, \mathrm{s}_j'),得到 bπb^\pi。 - 根据公式 8,使用 bMb^Mbπb^\pi 更新鉴别器 DD。 ii. 使用来自轨迹 {τi}i=1m\{ \tau^i \}_{i=1}^m 的数据更新价值函数 VV 和策略 π\pi。 - 价值函数通过 TD(λ\lambda) [Sutton and Barto 1998] 计算的目标值进行更新。 - 策略通过广义优势估计 (GAE(λ\lambda)) [Schulman et al. 2015] 计算的优势进行更新。

关键训练技巧:

  • 参考状态初始化 (Reference State Initialization): 角色被初始化为从数据集中所有运动片段中随机采样的状态。这有助于探索数据集中的多样化行为。
  • 提前终止 (Early Termination): 大多数任务中,如果角色身体的任何部分(脚除外)接触地面,则触发提前终止。对于接触丰富的任务(如翻滚),此标准被禁用。
  • 回放缓冲区 (Replay Buffer): 存储过去训练迭代中的轨迹,有助于稳定训练,防止鉴别器过拟合最新批次的策略轨迹。

5. 实验设置

5.1. 数据集

实验中使用的参考运动剪辑数据来源于多个渠道:

  • 公共运动捕捉库 (Public mocap libraries): 例如 CMU [n.d.] 和 SFU [n.d.]。

  • 自定义记录的运动捕捉剪辑 (Custom recorded mocap clips):

  • 艺术家创作的关键帧动画 (Artist-authored keyframe animations): 例如 Zhang et al. [2018]。

    根据任务和角色,每个策略使用 100-300 百万个样本进行训练,大约需要 30-140 小时(在 16 个 CPU 核心上)。

以下是原文 Table 2 总结的用于训练运动先验的不同数据集的统计信息,包括总时长、剪辑数量和表演者数量。

Character Dataset Size (s) Clips Subjects
Humanoid Cartwheel 13.6 3 1
Jump 28.6 10 4
Locomotion 434.1 56 8
Run 204.4 47 3
Run + Leap + Roll 22.1 10 7
Stealthy 136.5 3 1
Walk 229.6 9 5
Walk + Punch 247.8 15 9
Zombie 18.3 1 1
T-Rex Locomotion 10.5 5 1

数据集特点:

  • 多样性: 涵盖了多种动作类型,如翻车 (Cartwheel)、跳跃 (Jump)、多种步态的移动 (Locomotion, Walk, Run, Stealthy, Zombie)、复杂的动作序列 (Run + Leap + Roll, Walk + Punch)。
  • 规模: 最大数据集 (Locomotion) 包含 434.1 秒的运动数据,由 56 个剪辑组成,来自 8 个不同的演员。这表明 AMP 能够适应大型非结构化数据集。
  • 非结构化: 数据集中的剪辑无需任务特定标注或分割,AMP 直接从原始运动数据中学习风格。

5.2. 评估指标

5.2.1. 任务回报 (Task Return)

概念定义: 衡量策略在完成特定任务方面的表现。在强化学习中,任务回报是智能体在给定剧集 (episode) 中获得的累积奖励的期望值。归一化任务回报 (Normalized Task Return) 是将原始回报值缩放到 [0, 1] 之间,其中 0 表示可能的最小回报,1 表示可能的最大回报。这个指标用于比较不同方法在同一任务上的性能,以及同一方法在不同数据集上训练出的策略的性能。

数学公式: J(π)=Ep(g)Ep(τπ,g)[t=0T1γtrt] J (\pi) = \mathbb{E}_{p(\mathrm{g})} \mathbb{E}_{p(\tau \mid \pi, \mathrm{g})} \left[ \sum_{t=0}^{T-1} \gamma^t r_t \right] 对于归一化任务回报,通常是在计算出 J(π)J(\pi) 后,进行线性缩放: Normalized Task Return=J(π)JminJmaxJmin \text{Normalized Task Return} = \frac{J(\pi) - J_{min}}{J_{max} - J_{min}} 符号解释:

  • J(π)J (\pi): 策略 π\pi 的预期折扣回报 (expected discounted return)。
  • Ep(g)\mathbb{E}_{p(\mathrm{g})}: 对目标分布 p(g)p(\mathrm{g}) 的期望。
  • Ep(τπ,g)\mathbb{E}_{p(\tau \mid \pi, \mathrm{g})}: 对给定策略 π\pi 和目标 g\mathrm{g} 下的轨迹 τ\tau 分布的期望。
  • τ={(st,at,rt)t=0T1,sT}\tau = \{ (\mathrm{s}_t, \mathrm{a}_t, r_t)_{t=0}^{T-1}, \mathrm{s}_T \}: 一个轨迹,包含一系列状态、动作和奖励。
  • st\mathrm{s}_t: 在时间步 tt 的状态。
  • at\mathrm{a}_t: 在时间步 tt 执行的动作。
  • rtr_t: 在时间步 tt 获得的奖励。
  • TT: 轨迹的时间范围 (time horizon)。
  • γ[0,1)\gamma \in [0, 1): 折扣因子 (discount factor),用于衡量未来奖励的重要性。
  • JminJ_{min}: 任务的最小可能回报。
  • JmaxJ_{max}: 任务的最大可能回报。

5.2.2. 姿态误差 (Pose Error)

概念定义: 用于量化模拟角色与参考运动之间姿态相似性的指标。它计算模拟角色各个关节的 3D 位置与参考运动中对应关节位置之间的平均距离。姿态误差越小,表示模仿的精确度越高。本文通过动态时间规整 (DTW) 对齐轨迹后计算姿态误差,以更好地评估运动的相似性,即使运动的速度或节奏不同。

数学公式: etpose=1Njointjjoints(xtjxtroot)(x^tjx^troot)2 e_t^{\mathrm{pose}} = \frac{1}{N^{\mathrm{joint}}} \sum_{j \in \mathrm{joints}} \left\| (\mathbf{x}_t^j - \mathbf{x}_t^{\mathrm{root}}) - (\hat{\mathbf{x}}_t^j - \hat{\mathbf{x}}_t^{\mathrm{root}}) \right\|_2 符号解释:

  • etposee_t^{\mathrm{pose}}: 在时间步 tt 的姿态误差。
  • NjointN^{\mathrm{joint}}: 角色身体中关节的总数。
  • jjointsj \in \mathrm{joints}: 遍历角色所有的关节。
  • xtj\mathbf{x}_t^j: 模拟角色中关节 jj 在时间步 tt 的 3D 笛卡尔位置。
  • xtroot\mathbf{x}_t^{\mathrm{root}}: 模拟角色中根关节(通常是骨盆)在时间步 tt 的 3D 笛卡尔位置。
  • x^tj\hat{\mathbf{x}}_t^j: 参考运动中关节 jj 在时间步 tt 的 3D 笛卡尔位置。
  • x^troot\hat{\mathbf{x}}_t^{\mathrm{root}}: 参考运动中根关节在时间步 tt 的 3D 笛卡尔位置。
  • 2\| \cdot \|_2: 欧几里得范数(即 3D 空间中的距离)。
  • (xtjxtroot)(\mathbf{x}_t^j - \mathbf{x}_t^{\mathrm{root}}): 模拟角色中关节 jj 相对于根关节的相对位置。
  • (x^tjx^troot)(\hat{\mathbf{x}}_t^j - \hat{\mathbf{x}}_t^{\mathrm{root}}): 参考运动中关节 jj 相对于根关节的相对位置。

5.3. 对比基线

论文将 AMP 方法与以下基线模型进行了比较:

  1. 运动跟踪方法 (Motion Tracking): 这是 Peng et al. [2018a] 提出的方法,通过手动设计的奖励函数和相位变量同步来强制策略模仿参考运动。这是一个在该领域表现出色的、最先进的跟踪基线。

    • 代表性: 它代表了数据驱动物理模拟角色控制中精确模仿的黄金标准。
    • 核心区别: 需要手动奖励设计和相位同步。
  2. 潜在空间模型 (Latent Space Models): 这种方法通过预训练一个低层控制器来学习运动的潜在表示,然后训练一个高层控制器来利用这个潜在空间完成任务 [Peng et al. 2019a; Merel et al. 2019]。

    • 代表性: 它是另一种从非结构化运动数据中学习运动先验的方式,但其风格约束是间接的。
    • 核心区别: AMP 直接通过奖励函数强制风格,而潜在空间模型通过隐式约束动作空间来影响风格。潜在空间模型通常需要一个单独的预训练阶段。
  3. 无数据训练 (No Data / From Scratch): 这是一个纯粹的强化学习基线,策略从头开始学习,不利用任何运动数据进行模仿,只优化任务奖励。

    • 代表性: 用于评估运动数据对生成自然和类人行为的贡献。

    • 核心区别: 缺乏任何风格引导,通常导致不自然的动作。

      通过与这些基线的比较,论文旨在证明 AMP 在无需手动干预的情况下,能够生成与最先进跟踪方法相当的动作质量,并优于纯强化学习和一些间接的运动先验方法。

5.4. 实验环境与实现细节

  • 物理引擎: 所有环境均使用 Bullet 物理引擎 [Coumans et al. 2013] 进行模拟。

  • 模拟频率: 1.2 kHz。

  • 策略查询频率: 30 Hz。

  • 动作: 每个动作指定 PD 控制器在角色关节上的目标位置。

  • 深度学习框架: 所有神经网络均使用 Tensorflow [Abadi et al. 2015] 实现。

  • 梯度惩罚系数 wgpw^{\mathrm{gp}}: 设置为 10。

  • 超参数: 详细超参数设置请参考 Appendix B,原文 Table 4。

  • 计算资源: 在 16 个 CPU 核心上,训练时间约为 30-140 小时。

    以下是原文 Table 4 提供的 AMP 超参数设置。

    Parameter Value
    wGw^G Task-Reward Weight 0.5
    wSw^S Style-Reward Weight 0.5
    wgpw^{\mathrm{gp}} Gradient Penalty 10
    Samples Per Update Iteration 4096
    Batch Size 256
    π\pi Policy Stepsize (Single-Clip Imitation) 2×1062 \times 10^{-6}
    π\pi Policy Stepsize (Tasks) 4×1064 \times 10^{-6}
    VV Value Stepsize (Single-Clip Imitation) 10410^{-4}
    VV Value Stepsize (Tasks) 2×1052 \times 10^{-5}
    DD Discriminator Stepsize 10510^{-5}
    B\mathcal{B} Discriminator Replay Buffer Size 10510^5
    γ\gamma Discount (Single-Clip Imitation) 0.95
    γ\gamma Discount (Tasks) 0.99
    SGD Momentum 0.9
    GAE(λ\lambda) 0.95
    TD(λ\lambda) 0.95
    PPO Clip Threshold 0.02

超参数说明:

  • 奖励权重: 任务奖励 wGw^G 和风格奖励 wSw^S 的权重在所有任务中均设为 0.5。
  • 折扣因子 γ\gamma: 对于单一剪辑模仿任务,使用较小的折扣因子 γ=0.95\gamma=0.95,有助于更紧密地模仿给定参考运动。对于包含额外任务目标(如运球、打击)的实验,使用较大的折扣因子 γ=0.99\gamma=0.99,因为这些任务可能需要更长远的规划。
  • 优化器: 策略和鉴别器的学习率 (stepsize) 经过调整。SGD 动量设置为 0.9。
  • PPO 参数: PPO 裁剪阈值 (Clip Threshold) 设为 0.02。
  • 回放缓冲区: 鉴别器回放缓冲区大小为 10510^5,以提高训练稳定性。

6. 实验结果与分析

6.1. 核心结果分析

6.1.1. 多任务和多样化风格控制

论文首先展示了 AMP 在控制角色动作风格以执行高层任务方面的有效性。任务奖励和风格奖励的权重均设为 wG=0.5w^G = 0.5wS=0.5w^S = 0.5

以下是原文 Table 1 总结的将 AMP 与额外任务目标结合时的性能统计。性能记录为平均归一化任务回报,0 为每集可能的最低回报,1 为最高回报。回报是在 3 个不同随机种子初始化的模型上平均的,每个模型记录 32 集。

Character Task Dataset Task Return
Humanoid TargetHeading Locomotion 0.90 ± 0.01
Walk 0.46 ± 0.01
Run 0.63 ± 0.01
Stealthy 0.89 ± 0.02
Zombie 0.94 ± 0.00
TargetLocation Locomotion 0.63 ± 0.01
Zombie 0.50 ± 0.00
Obstacles Run + Leap + Roll 0.27 ± 0.10
Stepping Cartwheel 0.43 ± 0.03
Jump 0.56 ± 0.12
Dribble Locomotion 0.78 ± 0.05
Zombie 0.60 ± 0.04
Strike Walk + Punch 0.73 ± 0.02
T-Rex TargetLocation Locomotion 0.36 ± 0.03

分析:

  • 目标方向 (Target Heading) 任务: 使用 Locomotion 数据集(包含走路、跑步、慢跑)训练的策略能够根据目标速度自动切换不同的步态。在慢速 (~1 m/s) 时采用走路步态,在较快速度 (~2.5 m/s) 时切换到慢跑,在接近全速 (~4.5 m/s) 时则进入快速奔跑。这表明 AMP 能够从多样化数据集中泛化出连续的、适应性的行为。对于 Stealthy (隐蔽) 和 Zombie (僵尸) 风格,即使目标速度固定在 1 m/s,角色也能习得独特的风格化行为,且任务回报较高(0.89 和 0.94)。

  • 目标位置 (Target Location) 任务: 角色也能根据与目标的距离自动调整步态,近距离走路,远距离跑步。这再次体现了 AMP 无需运动规划器即可实现技能组合的能力。

  • 技能组合: Strike (打击) 任务中,策略学习了先走向目标,再进行打击。尽管数据集中没有同时走路和打击的片段,AMP 仍能自动地在时间上序列化这些技能。Obstacles (障碍物) 任务中,角色学习了跳过间隙,并在遇到低矮障碍时通过翻滚穿过,展示了对不同技能的灵活组合。

    下图(原文 Figure 3)展示了不同角色在各种任务上的行为示例,包括跑步、起立、运球、打击、跨越障碍、翻滚和跳跃等技能。

    该图像是一个示意图,展示了多种仿人类角色的运动示例,包括跑步、起立、带球、击打、越障、翻滚、跳跃等多种行为。每个动作都通过不同的帧展示,体现了仿真角色在物理控制下的优雅移动。 该图像是一个示意图,展示了多种仿人类角色的运动示例,包括跑步、起立、带球、击打、越障、翻滚、跳跃等多种行为。每个动作都通过不同的帧展示,体现了仿真角色在物理控制下的优雅移动。

6.1.2. 技能多样性的归因

为了确定技能多样性是源于运动先验还是任务目标,论文比较了仅使用有限数据集(如仅走路或仅跑步)训练的策略。

下图(原文 Figure 4)比较了使用不同数据集训练的目标方向策略的性能。左侧是学习曲线,右侧是目标速度与平均速度的对比。

Fig. 4. Performance of Target Heading policies trained with different datasets. Left: Learning curves comparing the normalized task returns of policies trained with a large dataset of diverse locomotion clips to policies trained with only walking or running reference motions. Three models are trained using each dataset. Right: Comparison of the target speed with the average speed achieved by the different policies. Policies trained using the larger Locomotion dataset is able to more closely follow the various target speeds by imitating different gaits.

分析:

  • 仅使用 Walking 数据集训练的策略只学会了走路步态,无法达到更快的速度,任务回报较低。
  • 仅使用 Running 数据集训练的策略同样无法适应慢速目标。
  • 使用 Locomotion 数据集(多样化数据)训练的策略能够更准确地匹配各种目标速度。 结论: 策略表现出的行为多样性主要归因于运动先验所学习的数据集多样性,而非仅仅是任务目标。

6.1.3. 新颖行为和泛化

通过在数据集中加入从地面起身的运动片段,角色学会了从摔倒中恢复并继续任务。更重要的是,策略发现了数据集中不存在的新颖恢复行为:当角色向前摔倒时,它会蜷缩身体进行翻滚,以便更快地过渡到起身动作。这表明 AMP 不仅能模仿,还能泛化数据集中的行为以生成新颖且自然的策略来应对新场景。

6.1.4. 与潜在空间模型的比较

下图(原文 Figure 5)比较了 AMP、潜在空间模型 (Latent Space) 和无运动数据 (No Data) 训练的策略在不同任务上的性能。

Fig. 5. Learning curves comparing the task performance of AMP to latent space models (Latent Space) and policies trained from scratch without motion data (No Data). Our method achieves comparable performance across the various tasks, while also producing higher fidelity motions.

分析:

  • AMP 和潜在空间模型都能产生比 No Data 基线模型更逼真的行为。
  • 潜在空间模型由于其结构化的探索行为,在解决某些任务时学习速度可能更快。然而,潜在空间模型需要一个样本密集型的预训练阶段(低层控制器通常需 3 亿个样本)。
  • AMP 优势: AMP 直接通过奖励函数强制执行运动风格,能更好地缓解潜在空间模型中高层控制器可能指定不自然编码的问题。AMP 不需要单独的预训练阶段,运动先验可以与策略联合训练。

6.1.5. 单一剪辑模仿 (Single-Clip Imitation)

尽管 AMP 的目标是处理大型数据集,但为了评估其模仿单个动作片段的有效性,论文也进行了单一剪辑模仿任务。在这种设置下,策略仅通过最大化运动先验的风格奖励 rSr^S 进行训练,没有额外的任务目标。

以下是原文 Table 3 总结的模仿单个运动剪辑(无任务目标)的性能统计。性能使用在动态时间规整后的轨迹上,模拟角色与参考运动之间的平均姿态误差(单位为米)来评估。

Character Motion DatasetSize MotionTracking AMP(Ours)
Humanoid Back-Flip 1.75s 0.076 ± 0.021 0.150 ± 0.028
Cartwheel 2.72s 0.039 ± 0.011 0.067 ± 0.014
Crawl 2.93s 0.044 ± 0.001 0.049 ± 0.007
Dance 1.62s 0.038 ± 0.001 0.055 ± 0.015
Front-Flip 1.65s 0.278 ± 0.040 0.425 ± 0.010
Jog 0.83s 0.029 ± 0.001 0.056 ± 0.001
Jump 1.77s 0.033 ± 0.001 0.083 ± 0.022
Roll 2.02s 0.072 ± 0.018 0.088 ± 0.008
Run 0.80s 0.028 ± 0.002 0.075 ± 0.015
Spin 1.00s 0.063 ± 0.022 0.047 ± 0.002
Side-Flip 2.44s 0.191 ± 0.043 0.124 ± 0.012
Spin-Kick 1.28s 0.042 ± 0.001 0.058 ± 0.012
Walk 1.30s 0.018 ± 0.005 0.030 ± 0.001
Zombie 1.68s 0.049 ± 0.013 0.058 ± 0.014
T-Rex Turn 2.13s 0.098 ± 0.011 0.284 ± 0.023
Walk 2.00s 0.069 ± 0.005 0.096 ± 0.027
Dog Canter 0.45s 0.026 ± 0.002 0.034 ± 0.002
Pace 0.63s 0.020 ± 0.001 0.024 ± 0.003
Spin 0.73s 0.026 ± 0.002 0.086 ± 0.008
Trot 0.52s 0.019 ± 0.001 0.026 ± 0.001

分析:

  • AMP 能够紧密模仿各种高度动态和特技技能,且避免了先前对抗性模仿学习系统中的视觉伪影。

  • 与传统运动跟踪方法 (Peng et al. [2018a]) 相比,AMP 在大多数情况下能产生可比的动作质量,尤其在一些复杂动作(如 Side-Flip, Spin)上甚至表现更优。

  • 对比优势: AMP 无需手动设计跟踪目标或相位同步,这简化了模仿过程。

  • 局限性: 对于某些动作(如 Front-Flip),AMP 容易收敛到局部最优行为(例如,为了避免摔倒而简单地向前拖动),而非执行翻转。这是因为 AMP 缺乏对参考运动的显式同步,无法像跟踪方法那样通过提前终止来避免局部最优。

    下图(原文 Figure 6)展示了人形角色在单剪辑模仿任务中学到的行为快照,包括后空翻、侧翻、侧手翻、旋转、旋风踢和翻滚。

    Fig. 6. Snapshots of behaviors learned by the Humanoid on the single-clip imitation tasks. Top-to-bottom: back-flip, side-flip, cartwheel, spin, spinkick, roll. AMP enables the character to closely imitate a diverse corpus of highly dynamic and acrobatic skills. 该图像是展示了人形机器人在单个片段模仿任务中学到的动作快照。自上而下依次为:后空翻、侧空翻、侧手翻、旋转、旋风踢和滚动。AMP 使得角色能够可靠地模仿多样化的高动态和特技技能。

下图(原文 Figure 7)展示了 T-Rex 和 Dog 角色的一些动作示例。

该图像是示意图,展示了仿生角色在不同模式下的运动,包括T-Rex的行走、狗的慢跑和小跑。每个角色的运动表现为多个动态姿态,体现了物理仿真下角色控制的多样性。 该图像是示意图,展示了仿生角色在不同模式下的运动,包括T-Rex的行走、狗的慢跑和小跑。每个角色的运动表现为多个动态姿态,体现了物理仿真下角色控制的多样性。

6.1.6. 消融实验 (Ablations)

论文进行了消融实验,以识别导致 AMP 稳定训练和高质量结果的关键设计决策。

下图(原文 Figure 8)比较了单剪辑模仿任务中不同方法的学习曲线。

Fig. 8. Learning curves of various methods on the single-clip imitation tasks. We compare AMP to the motion tracking approach proposed by Peng et al. \[2018a\] (Motion Tracking), as well a version of AMP without velocity features for the discriminator (AMP - No Vel), and AMP without the gradient penalty regularizer (AMP - No GP). A comprehensive collection of learning curves for all skills are available in the Appendix. AMP produces results of comparable quality when compared to prior tracking-based methods, without requiring a manually designed reward function or synchronization between the policy and reference motion. Velocity features and gradient penalty are vital for effective and consistent results on challenging skills.

分析:

  • 梯度惩罚 (Gradient Penalty): 被证明是 AMP 最关键的组成部分。
    • AMPNoGPAMP - No GP (无梯度惩罚) 模型在训练过程中表现出大的性能波动,最终策略中存在明显的视觉伪影。
    • 梯度惩罚不仅提高了训练稳定性,还显著加速了许多技能的学习。
  • 速度特征 (Velocity Features): 鉴别器观察中包含速度特征也至关重要。
    • AMPNoVelAMP - No Vel (无速度特征) 模型在模仿某些动作(如翻滚)时存在问题。在没有速度特征的情况下,角色倾向于收敛到固定姿态在地面上,而非执行翻滚。
    • 额外的速度特征能够缓解这些不良行为。

6.2. 空间组合 (Spatial Composition)

论文在附录中探索了空间组合能力,即角色同时执行多个不同技能。实验设置了一个任务:角色沿目标方向移动的同时,将手挥舞到目标高度。运动先验使用走路和挥舞动作的数据集训练,但数据中没有同时走路和挥舞的示例。

以下是原文 Table 6 总结的使用不同数据集训练的策略在组合任务上的性能。

Dataset (Size) Heading Return Waving Return
Wave (51.7s) 0.683 ± 0.195 0.949 ± 0.144
Walk (229.7s) 0.945 ± 0.192 0.306 ± 0.378
Wave + Walk (281.4s) 0.885 ± 0.184 0.891 ± 0.202

分析:

  • Wave 数据集训练的策略擅长挥手,但走路表现平庸。
  • Walk 数据集训练的策略擅长走路,但挥手表现差。
  • Wave + Walk 数据集训练的策略在两个目标上都获得了相对较高的回报(0.885 和 0.891),表明策略能够发现结合这些不同技能的行为,使角色在不同方向上行走的同时,将手挥舞到不同高度。 结论: AMP 确实展现出了一定的空间组合不同技能的能力。然而,当目标手高较高时,组合数据集训练的策略仍可能出现一些不自然的动作,这表明空间组合仍然是一个挑战。

6.3. 学习曲线 (Learning Curves)

以下是原文 Figure 10 展示的 AMP 应用于各种任务和数据集的学习曲线。

Fig. 10. Learning curves of applying AMP to various tasks and datasets 该图像是图表,展示了应用AMP进行各种任务和数据集的学习曲线。图中包含多个子图,分别显示了不同任务的任务回报随样本数量的变化情况,体现了AMP在多种情境下的表现效果。

这些曲线详细展示了模型在不同任务和数据集组合下,归一化任务回报随训练步数(样本数)的增长情况,进一步支持了 AMP 的有效性和稳定性。

7. 总结与思考

7.1. 结论总结

本文提出了 AMP (Adversarial Motion Priors) 框架,这是一个用于物理模拟角色动画的对抗性学习系统。其核心创新在于能够利用非结构化的、多样化的运动剪辑数据集,通过对抗性模仿学习自动学习运动风格,并将其转化为强化学习的风格奖励。这解决了传统数据驱动方法中手动设计模仿目标和复杂动作选择机制的难题。

主要成就包括:

  • 任务与风格解耦: 实现了高层任务目标(通过简单奖励函数指定)与低层行为风格(通过学习到的运动先验指定)的有效分离。
  • 自动技能组合与泛化: 角色能够自动从数据集中插值、泛化并组合不同的技能以完成复杂任务,无需高层运动规划器或任务特定标注。
  • 高质量动作生成: 在一系列复杂模拟角色和挑战性运动控制任务上,AMP 生成的动作质量与最先进的基于跟踪的方法相当,甚至在某些方面有所超越,同时展现出更高的自动化程度。
  • 训练稳定性改进: 通过采用最小二乘鉴别器、梯度惩罚、特定观察特征(包括速度)等设计,显著提升了对抗性训练的稳定性和效率。
  • 处理大型非结构化数据集: 有效地利用了大型、多样化的运动数据集,这对于传统的跟踪方法是一个挑战。

7.2. 局限性与未来工作

7.2.1. 局限性

  1. 模式崩溃 (Mode Collapse) 倾向: 像许多基于 GAN 的技术一样,AMP 容易发生模式崩溃。当提供大量多样化运动剪辑时,策略可能倾向于只模仿示例行为的一小部分,而忽略其他可能对给定任务更优的行为。
  2. 局部最优收敛 (Local Optima Convergence): 在某些动态复杂的动作(如 Front-Flip)模仿中,AMP 可能会收敛到局部最优行为(例如,为避免摔倒而简单地向前拖动),而非执行完整的翻转。这是由于缺乏与参考动作的显式同步,无法像基于跟踪的方法那样通过提前终止来避免这些局部最优。
  3. 运动先验的独立性与任务依赖性: 尽管运动先验在原则上是任务无关的,但实验中用于训练运动先验的数据是由训练来执行特定任务的策略生成的。这可能在运动先验中引入一些任务依赖性,从而阻碍其迁移到其他任务。
  4. 空间组合的挑战: 尽管在简单的空间组合任务中显示出潜力(如边走路边挥手),但在更复杂的场景中,策略仍可能产生不自然的组合行为,尤其当技能的物理要求冲突时。目前的框架主要侧重于时间上的技能组合,而非同时执行多个技能。

7.2.2. 未来工作

  1. 开发通用可迁移的运动先验: 探索开发更通用且可迁移的运动先验技术。目标是使这些运动先验能够作为模块化的目标函数,方便地整合到下游任务中,而无需为每个新任务重新训练。
  2. 通过多样化任务数据训练运动先验: 通过使用从更大、更多样化任务库中生成的数据来训练运动先验,可能有助于促进学习到的运动先验向新任务的迁移。
  3. 增强空间组合能力: 进一步研究能够更好地支持不同技能空间组合的运动先验,从而实现更灵活、更复杂的行为。这可能包括探索如何同时执行多个物理上可能冲突的动作。
  4. 缓解模式崩溃: 探索和整合现有 GAN 领域的模式崩溃缓解技术,以确保策略能够更充分地利用和泛化整个多样化运动数据集。

7.3. 个人启发与批判

7.3.1. 个人启发

  1. 对抗性模仿学习的巨大潜力: 这篇论文极大地提升了对抗性模仿学习 (AIL) 在物理模拟角色控制领域的实用性。通过一系列关键的工程和算法改进(特别是梯度惩罚和鉴别器观察特征选择),AIL 不再是一个“不稳定且质量不如跟踪方法”的技术,而是能够匹敌最先进的跟踪方法,并且在自动化程度上有显著优势。
  2. 解耦任务与风格的优雅: 将任务目标和行为风格解耦的设计非常优雅。这提供了一个直观且强大的接口,动画师或游戏开发者可以轻松地通过提供不同的动作数据集来控制角色风格,而无需重新设计整个任务奖励。
  3. 从非结构化数据中学习的效率: 能够直接从非结构化运动数据中学习,避免了繁琐的数据标注和运动规划器的设计,这对于利用现有的大量 MoCap 数据集具有极高的实际价值。它为“大数据量、少人工干预”的动画生成开辟了道路。
  4. 泛化和新颖行为的涌现: 策略能够泛化并组合数据集中未曾直接出现过的行为(例如,从摔倒中以新颖方式恢复,或走路-打击的序列),这展示了学习到的运动先验不仅仅是简单的记忆,而是捕捉到了底层行为规律。

7.3.2. 批判

  1. 模式崩溃问题仍存: 论文承认了模式崩溃是其主要局限之一。尽管方法在许多任务上表现良好,但如果鉴别器未能充分覆盖整个数据流形,策略可能无法学习到数据集中所有期望的行为模式,这在实际应用中可能需要更复杂的技术来解决,例如多样性增强或更复杂的 GAN 结构。
  2. 超参数敏感性: 虽然提供了稳定的训练方法,但 AIL 模型的训练仍然通常对超参数(如梯度惩罚权重、学习率)比较敏感。不同任务或不同数据集可能需要精细的调整,这增加了实际部署的难度。
  3. “不自然行为”的定义: 尽管论文声称能产生“自然”和“逼真”的动作,但这些术语的定义本身就是模糊的。鉴别器学习到的“自然性”是否总是符合人类的感知,尤其是在复杂的组合或泛化行为中,仍有待更严格的用户研究来验证。例如,当手挥舞到高处时,策略产生的“不自然行为”就值得进一步探究。
  4. 计算资源消耗: 训练时间相对较长(30-140 小时在 16 个 CPU 核心上),这对于快速迭代和探索新的行为模式可能构成瓶颈。尽管 RL 训练通常计算量大,但未来应探索更高效的训练方法。
  5. 物理一致性与人类数据差异: 论文指出,“如果演示者与智能体不同(例如人类演员),观察到的状态转换可能不适用于智能体,因此智能体无法完美复现。” 这在一定程度上缓解了问题,但如果物理模型与人类的生物力学差异很大,鉴别器可能仍在学习一些对模拟角色而言“难以实现”或“不自然”的模式,这可能限制其性能或泛化能力。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。