ASE: Large-Scale Reusable Adversarial Skill Embeddings for Physically Simulated Characters

论文信息: ACM Transactions on Graphics (SIGGRAPH 2022), Xue Bin Peng et al., NVIDIA/UC Berkeley/University of Toronto

Link: arXiv:2205.01906


一、核心问题

1.1 研究背景

人类能够完成各种复杂的运动任务,这得益于我们通过多年练习积累的大量通用运动技能库(general-purpose motor skills)。这些技能不仅能让我们执行复杂任务,还能为学习新任务提供强大的先验指导(priors)。

然而,传统的基于物理的角色动画方法采用的是从零开始训练(tabula rasa approach)的范式:

  • 每个新任务都要重新训练一个专用的控制策略
  • 即使是走路、跑步这样的基础技能,也要为每个新任务重新学习
  • 需要大量手动设计奖励函数,工程工作量巨大

1.2 核心问题

如何赋予智能体大量通用的、可复用的技能库,使其能够灵活地应用于各种新任务?

灵感来自计算机视觉和 NLP 领域:这些领域通过大规模预训练 + 下游任务微调的范式取得了巨大成功。论文希望将这种范式引入到物理角色控制领域。

1.3 现有方法及其局限性

方法类型代表性工作局限性
基于优化的方法轨迹优化、强化学习需要手动设计奖励函数,工作量大;不同技能需要不同的启发式设计
基于运动跟踪的方法跟踪参考动作数据难以应用于大规模多样化数据集;需要运动规划器来选择跟踪哪个动作
对抗运动先验 (AMP)Peng et al. 2021虽然能从无结构数据集学习,但每个任务都要从头训练
层次化模型先训练低级技能再组合通常使用运动跟踪,限制了模型产生数据集中未出现行为的能力
无监督强化学习最大化互信息技能发现在复杂高维系统中难以发现有用的行为;难以产生自然的人体运动

1.4 本文方法

论文提出了 ASE (Adversarial Skill Embeddings,对抗技能嵌入) 框架:

核心思想

  1. 预训练阶段:从大规模无标注动作数据集中学习一个通用的低级技能策略 \(\pi(a|s, z)\)
    • 使用对抗模仿学习 + 无监督技能发现
    • 学习多样化的技能库,而不需要精确匹配任何特定动作
  2. 任务训练阶段:针对新任务训练一个高级策略 \(\omega(z|s, g)\)
    • 通过指定潜在技能变量 \(z\) 来控制低级策略
    • 不需要额外的动作数据

关键创新

  • 结合了对抗模仿学习(保证运动质量)和无监督强化学习(保证技能多样性)
  • 使用连续潜在空间表示技能,支持技能之间的平滑插值
  • 能够从超过 100 个多样化动作片段的大规模数据集中学习

二、核心贡献

  1. 可扩展的对抗模仿学习框架

    • 使物理模拟角色能够学习大量复杂、通用的运动技能
    • 技能可以复用于广泛的下游任务
  2. 大规模无结构动作数据训练

    • 能够处理包含 100+ 多样化动作片段的数据集
    • 利用 NVIDIA Isaac Gym 并行模拟器,使用相当于十年的模拟经验进行预训练
  3. 提高技能多样性和迁移效果的设计决策

    • 球形潜在空间设计
    • 多样性目标函数
    • 鲁棒的恢复策略
  4. 无需下游任务动作数据

    • 预训练的低级策略可以使用简单的任务奖励函数完成各种任务
    • 自动生成复杂自然的策略

三、大致方法

3.1 框架概述

flowchart TB
    subgraph PreTraining["预训练阶段 (Pre-training)"]
        M["动作数据集 M<br/>(无标注)"] --> D["判别器 D<br/>(真假判别)"]
        M --> q["编码器 q<br/>(技能识别)"]
        D --> pi["低级策略 π(a\|s,z)<br/>(技能条件策略)"]
        q --> pi
    end

    subgraph Transfer["任务训练阶段 (Transfer)"]
        g["任务目标 g"] --> omega["高级策略 ω(z\|s,g)"]
        s["状态 s"] --> omega
        omega --> pi_fixed["低级策略 π(a\|s,z)<br/>(预训练,固定)"]
        pi_fixed --> output["输出:动作 a"]
    end

3.2 两阶段训练

阶段 1:预训练 (Pre-training)

输入:无标注的动作片段数据集 \(M = {m_i}\)

目标:训练低级技能策略 \(\pi(a|s, z)\)

  • \(s\): 状态(角色身体配置)
  • \(a\): 动作(关节目标旋转)
  • \(z\): 潜在技能变量

训练目标函数: $$\max_{\pi} -D_{JS}(d_{\pi}(s, s') || d_M(s, s')) + \beta I(s, s'; z | \pi)$$

  • 第一项(模仿目标):鼓励策略产生真实行为,匹配数据集的边际状态转移分布
  • 第二项(技能发现目标):鼓励策略学习多样化技能,最大化技能与行为的互信息

阶段 2:任务训练 (Transfer)

输入:任务特定的奖励函数 \(r_G(s, a, s', g)\)

目标:训练高级策略 \(\omega(z|s, g)\)

  • 接收状态 \(s\) 和任务目标 \(g\)
  • 输出潜在技能 \(z\) 来控制低级策略

关键:低级策略\(\pi\)在任务训练阶段保持固定,不需要动作数据


四、训练细节

4.1 对抗模仿学习

判别器训练

判别器\(D(s, s')\)用于区分数据集转移和策略产生的转移:

$$\min_D -\mathbb{E}{d_M}[\log D(s, s')] - \mathbb{E}{d_{\pi}}[\log(1 - D(s, s'))] + w_{gp}\mathbb{E}[||\nabla D||^2]$$

其中:

  • \(d_M\): 数据集的状态转移分布
  • \(d_{\pi}\): 策略的状态转移分布
  • \(w_{gp}\): 梯度惩罚系数,提高训练稳定性

策略的对抗奖励

$$r_{adv} = -\log(1 - D(s_t, s_{t+1}))$$

4.2 技能发现目标

互信息最大化: $$I(s, s'; z | \pi) = H(s, s' | \pi) - H(s, s' | z, \pi)$$

  • 最大化边际状态转移熵:策略产生的行为要多样化
  • 最小化条件状态转移熵:每个技能产生的行为要独特

变分下界: $$I(s, s'; z | \pi) \geq H(z) + \mathbb{E}{p(z)}\mathbb{E}{p(s,s'|z,\pi)}[\log q(z|s, s')]$$

其中 \(q(z|s, s')\) 是变分编码器,用于从状态转移中恢复技能\(z\)

技能编码器

由于潜在空间是超球面,使用von Mises-Fisher 分布: $$q(z|s, s') = \frac{1}{Z}\exp(\kappa \mu_q(s, s')^T z)$$

  • \(\mu_q(s, s')\): 均值(归一化)
  • \(\kappa\): 缩放因子
  • \(Z\): 归一化常数

编码器训练目标: $$\max_q \mathbb{E}{p(z)}\mathbb{E}{d_{\pi}(s,s'|z)}[\kappa \mu_q(s, s')^T z]$$

4.3 策略的最终训练目标

$$\begin{aligned} \max_{\pi} \mathbb{E}{p(Z)}\mathbb{E}{p(\tau|\pi,Z)} & \left[ \sum_{t=0}^{T-1} \gamma^t \left( -\log(1 - D(s_t, s_{t+1})) + \beta \log q(z_t|s_t, s_{t+1}) \right) \right] \ & - w_{div} \mathbb{E} \left[ \left( \frac{D_{KL}(\pi(\cdot|s,z_1), \pi(\cdot|s,z_2))}{D_z(z_1, z_2)} - 1 \right)^2 \right] \end{aligned}$$

最后一项是多样性目标,鼓励:

  • 相似的潜在变量\(z_1, z_2\)产生相似的动作分布
  • 不同的潜在变量产生不同的动作分布

4.4 潜在空间设计

球形潜在空间

选择:\(Z = {z : ||z|| = 1}\),均匀分布在球面上

采样方法: $$\bar{z} \sim \mathcal{N}(0, I), \quad z = \bar{z} / ||\bar{z}||$$

优势

  • 有界潜在空间,减少低质量样本
  • 便于高级策略的探索 - 利用任务训练
  • 支持技能插值

4.5 提高响应性的设计

问题

标准训练可能导致策略对潜在变量变化不响应(在 episode 开始时采样\(z_0\)后,后续改变\(z\)无效)

解决方案

  1. 时序潜在变量序列:\(Z = {z_0, z_1, ..., z_{T-1}}\)

    • 每个时间步条件于不同的\(z_t\)
    • 鼓励模型学习技能之间的转换
  2. 多样性目标:鼓励不同\(z\)产生不同行为

4.6 鲁棒恢复策略

训练技巧:在预训练时,每个 episode 有 10% 概率从随机跌倒状态开始

  • 从随机高度和方向放下角色
  • 学习从跌倒中恢复的策略

好处:恢复策略可以无缝集成到下游任务,不需要为每个新任务单独训练恢复能力

4.7 高级策略设计

动作空间设计

高级策略\(\omega\)输出未归一化的潜在变量\(\bar{z}\): $$\omega(\bar{z}|s, g) = \mathcal{N}(\mu_{\omega}(s, g), \Sigma_{\omega})$$

然后归一化:\(z = \bar{z} / ||\bar{z}||\) 后输入低级策略

探索 - 利用权衡

  • 训练初期:\(\mu_{\omega} \approx 0\),在球面上均匀采样(高探索)
  • 训练后期:\(\mu_{\omega}\)远离原点,集中在有效技能(高利用)
  • 通过调整距原点距离来控制技能分布的熵

运动先验

为了提高下游任务的运动质量,使用预训练的判别器作为便携式运动先验

$$r_t = w_G r_G(s_t, a_t, s_{t+1}, g) - w_S \log(1 - D(s_t, s_{t+1}))$$

  • \(r_G\): 任务奖励
  • \(-\log(1 - D)\): 风格奖励(来自判别器)
  • 判别器参数在任务训练时固定

4.8 模型架构

组件架构
低级策略 \(\pi\)[1024, 1024, 512] FC + ReLU, 输出高斯分布
价值函数 \(V\)[1024, 1024, 512] FC + ReLU, 单输出
编码器 \(q\) + 判别器 \(D\)共享网络,分离输出层
高级策略 \(\omega\)[1024, 512] FC + ReLU

4.9 角色模型

  • 37 自由度人形角色
  • 配备剑和盾
  • 状态空间:120D(根高度、旋转、速度,关节旋转/速度,手脚位置等)
  • 动作空间:31D(PD 控制器目标关节旋转)

4.10 训练算法

Algorithm 1: ASE 预训练
1: 输入 M: 参考动作数据集
2: D ← 初始化判别器
3: q ← 初始化编码器
4: π ← 初始化策略
5: V ← 初始化价值函数
6: while not done do
7:   B ← ∅ 初始化数据缓冲区
8:   for trajectory i = 1, ..., m do
9:     Z ← 从 p(z) 采样潜变量序列 {z₀, z₁, ..., z_{T-1}}
10:     τᵢ ← 用π和 Z 收集轨迹
11:     记录 Z 到 τᵢ
12:     for t = 0, ..., T-1 do
13:       r_t ← -log(1 - D(s_t, s_{t+1})) + β log q(z_t|s_t, s_{t+1})
14:       记录 r_t 到 τᵢ
15:     end for
16:     存储 τᵢ 到 B
17:   end for
18:   更新编码器 q (Eq. 13)
19:   更新判别器 D (Eq. 14)
20:   用 PPO 更新策略π和价值函数 V (Eq. 15)
21: end while

五、实验与结论

5.1 下游任务

论文设计了多种任务来评估模型能力:

(1) Reach(精确控制)

  • 目标:将剑尖移动到目标位置
  • 奖励:\(r_G = \exp(-5 ||x^* - x^{sword}||^2)\)
  • 评估:物理数据驱动的逆运动学能力

(2) Speed(速度控制)

  • 目标:沿目标方向以目标速度移动
  • 目标速度范围:\(v^* \in [0, 7]\) m/s
  • 评估:利用不同运动技能的能力

(3) Steering(转向控制)

  • 目标:沿目标方向移动,同时面向目标朝向
  • 评估:组合不同技能的能力

(4) Interact(交互任务)

  • 目标:跑到目标位置并击倒它
  • 评估:复杂任务规划和技能组合

5.2 实验结果

定性结果

  • 角色能够自然地完成各种任务
  • 技能库包含:行走、跑步、转身、蹲伏、踢腿、剑挥砍、盾击等
  • 能够自动组合不同技能完成任务

定量结果

  • 与从零训练的方法相比,样本效率显著提升
  • 在复杂任务上成功率更高
  • 运动质量更高(通过判别器评分)

5.3 消融实验

变体描述结果
无技能发现只用对抗模仿技能多样性降低
无多样性目标移除\(w_{div}\)项模式坍塌更严重
高斯潜在空间\(\mathcal{N}(0,I)\)而非球形低质量样本更多
无恢复训练不从跌倒状态开始抗干扰能力弱

六、局限性

  1. 数据集依赖性

    • 运动质量依赖于训练数据集的多样性
    • 数据集中没有的运动类型难以生成
  2. 计算资源需求

    • 需要大规模并行模拟(使用 NVIDIA Isaac Gym)
    • 预训练时间长(相当于十年的模拟经验)
  3. 技能粒度

    • 潜在空间的语义解释性有限
    • 难以精确控制特定技能属性
  4. 任务范围

    • 主要评估了 locomotion 和简单交互任务
    • 更复杂的操作任务(如抓取物体)未充分探索
  5. 角色泛化

    • 技能绑定到特定角色形态
    • 迁移到不同体型的角色需要重新训练

七、启发

7.1 方法学启发

  1. 预训练 + 微调范式在物理控制中的成功应用

    • 类似于 NLP 和 CV 领域的 BERT、GPT 等预训练模型
    • 为物理角色控制提供了一个通用基础模型
  2. 对抗学习 + 无监督学习的结合

    • 对抗学习保证质量
    • 无监督学习保证多样性
    • 两者的平衡很重要
  3. 潜在空间设计的重要性

    • 球形空间优于高斯空间
    • 有界空间减少异常行为
    • 便于探索 - 利用权衡的编码

7.2 工程实践启发

  1. 大规模并行训练的必要性

    • 物理模拟需要大量样本
    • GPU 并行模拟是关键
  2. 鲁棒性训练技巧

    • 随机初始状态提高抗干扰能力
    • 这种简单技巧非常有效
  3. 模块化设计

    • 低级策略固定,只需训练高级策略
    • 降低下游任务的训练难度

7.3 与其他工作的联系

  • AMP (Adversarial Motion Priors) 的关系:

    • AMP 每个任务从头训练,ASE 预训练可复用
    • ASE 可以看作 AMP 的扩展和改进
  • DILOW/VAE 等表示学习的关系:

    • 都使用互信息最大化
    • ASE 专门针对物理控制设计

八、与相关工作的对比

8.1 ASE vs AMP:核心区别

ASE (2022) 是 AMP (2021) 的直接扩展,两者都来自同一研究团队(Xue Bin Peng et al.)。

核心洞察

两篇论文都使用了类似的对抗训练方式(GAIL 变体),但解决的问题不同。

  • AMP:解决动作评价问题——用对抗学习替代人工设计的跟踪误差函数
  • ASE:解决技能复用问题——让学到的技能可以复用于多个下游任务

(0) 核心问题对比

维度AMP (2021)ASE (2022)
核心问题如何让动作评价无需人工设计如何让技能可以复用于多个任务
要解决的痛点跟踪方法需要精心设计误差函数、相位同步、动作选择器AMP 每任务从零训练,无法复用已学技能
解决方案对抗运动先验(判别器自动评价动作质量)预训练技能库 + 两阶段训练
类比评价标准从"人工规则"变成"像不像视频"先学基本功,新任务只学怎么组合基本功

(1) 训练范式对比

维度AMPASE
训练阶段单阶段(联合训练策略 + 判别器)两阶段(预训练 + 任务训练)
潜在空间✓ 球形潜在空间 \(Z={z:
技能多样性依赖数据集对抗模仿 + 互信息最大化
技能复用✗ 每任务重新训练✓ 低级策略固定
数据规模单任务小数据集100+ 动作片段
编码器✓ \(q(z
多样性目标✓ 鼓励不同\(z\)产生不同行为

(2) 目标函数对比

AMP 的训练目标: $$\max_{\pi} \mathbb{E}\left[\sum \gamma^t \left(w_G r^G_t + w_S r^S_t\right)\right]$$

  • \(r^G\): 任务奖励
  • \(r^S = -\log(1-D(s,s'))\): 风格奖励

ASE 的预训练目标: $$\max_{\pi} -D_{JS}(d_{\pi} || d_M) + \beta I(s, s'; z | \pi)$$

  • 第一项:对抗模仿(同 AMP)
  • 第二项:互信息最大化(新增,用于技能发现)

ASE 的任务训练奖励: $$r_t = w_G r_G(s,a,s',g) - w_S \log(1 - D(s, s'))$$

  • 判别器\(D\)作为便携式运动先验(预训练后固定)

(3) 架构对比

AMP 架构

flowchart LR
    s["状态 s + 控制信号 g"] --> pi["策略 π(a|s,g)"]
    pi <--> D["判别器 D(s,s')"]
    pi --> pd["PD 控制器"]
    pd --> sim["物理仿真"]

ASE 架构

flowchart TB
    subgraph PreTrain["预训练阶段"]
        s1["状态 s + 技能 z"] --> pi_pre["低级策略 π(a|s,z)"]
        pi_pre <--> D_pre["判别器 D(s,s')"]
        s1 --> q["编码器 q(z|s,s')"]
        q --> D_pre
    end

    subgraph TaskTrain["任务训练阶段"]
        s2["状态 s + 任务目标 g"] --> omega["高级策略 ω(z|s,g)"]
        omega --> z_out["技能 z"]
        z_out --> pi_fixed["低级策略 π(a|s,z)<br/>(固定)"]
        pi_fixed --> pd2["PD 控制器"]
        pd2 --> sim2["物理仿真"]
    end

(4) 训练效率对比

方法预训练样本任务训练样本每任务训练时间
AMPN/A~50M 步T
ASE~1B 步~5M 步/任务T_pre + n × 0.1T

结论:当有 10+ 下游任务时,ASE 的总训练时间显著低于 AMP。

(5) 技能多样性对比

AMP 的模式坍塌问题

给定大数据集(走路、跑步、跳跃...)
AMP 可能只学会其中一小部分技能
忽略其他动作

ASE 的解决方案

互信息最大化:I(s, s'; z | π) = H(s,s'|π) - H(s,s'|z,π)

- 最大化边际熵:整体行为要多样
- 最小化条件熵:每个技能要独特

结果:
z₁ → 走路,z₂ → 跑步,z₃ → 跳跃...

(6) 核心设计哲学对比

问题AMP 的方案ASE 的方案
如何保证动作质量?判别器区分真实/生成同左(预训练后固定)
如何保证技能多样?依赖数据集多样性互信息最大化 + 多样性目标
如何实现技能组合?任务奖励引导自动涌现高级策略组合低级技能
如何复用先验知识?✗ 每任务重新训练✓ 低级策略固定
如何适应新任务?完整重新训练只训高级策略

(7) AMP 的局限性 → ASE 的动机

AMP 论文中明确指出的问题(原文引用):

"当前工作的局限性:
- 动作先验需要针对每个任务从零开始训练
- 理想情况下,动作先验应该可以迁移到不同任务"

ASE 的解决方案

预训练阶段:
- 学习通用技能库 π(a|s,z)
- 使用互信息最大化保证多样性
- 训练判别器作为"便携式运动先验"

任务训练阶段:
- 固定低级策略 π
- 只训练高级策略 ω(z|s,g)
- 样本效率提升约 10 倍

(8) 两篇论文的关系

flowchart TB
    subgraph AMP["AMP (2021)"]
        direction TB
        A1["对抗模仿学习"]
        A2["任务 + 风格分离"]
        A3["无需动作选择器"]
        A4["核心贡献:动作评价无需人工设计"]
    end

    subgraph ASE["ASE (2022)"]
        direction TB
        B1["继承 AMP 的对抗学习"]
        B2["新增:预训练范式"]
        B3["新增:技能发现(互信息)"]
        B4["新增:可复用技能库"]
        B5["核心贡献:技能可复用"]
    end

    AMP --> ASE

    style AMP fill:#e1f5fe
    style ASE fill:#fff3e0

关键洞察

  1. ASE 是 AMP 的自然扩展:同一团队在 AMP 基础上的迭代工作
  2. 训练方式相似:都用了对抗模仿学习(GAIL 变体)
  3. 解决的问题不同
    • AMP:如何让动作更自然、无需人工设计奖励
    • ASE:如何让学到的技能可以复用于多个任务

8.1.1 理解 AMP 与 ASE 的类比

想象学习做菜:

AMP (2021) 解决的问题:
┌─────────────────────────────────────────┐
│  传统方法:需要厨师长详细告诉你            │
│         "盐放多少克、炒多久"              │
│              ↓                          │
│  AMP:给你看一些菜的视频,你自动学会        │
│        "像这样炒菜"                       │
│              ↓                          │
│  核心:评价标准从"人工规则"                │
│       变成"像不像视频"                    │
└─────────────────────────────────────────┘

ASE (2022) 解决的问题:
┌─────────────────────────────────────────┐
│  AMP 的问题:每学一道新菜都要从头看视频    │
│              ↓                          │
│  ASE:先花几年学会各种基本功              │
│      (切、炒、蒸、煮)→ 预训练          │
│              ↓                          │
│  新任务:只需要学"怎么组合基本功"          │
│         不需要重新学基本功 → 微调        │
│              ↓                          │
│  核心:基本功可以复用                     │
└─────────────────────────────────────────┘

8.2 ASE vs 其他物理控制方法

(1) 与 DeepMimic 对比

维度DeepMimicASE
训练方式单技能跟踪多技能预训练
数据需求每技能一个动捕片段大规模无标注数据集
奖励设计需要精确跟踪奖励对抗奖励 + 互信息
技能复用

(2) 与 Feature-Based Control 对比

维度Feature-BasedASE
设计方式手工设计特征 + 优化数据驱动学习
动作质量中等(动态性差)极高(接近动捕)
泛化能力低(每动作重新设计)高(预训练可复用)

(3) 与 ControlVAE 对比

维度ControlVAEASE
先验类型状态条件高斯球面均匀分布
学习方式世界模型 + ELBO对抗 + 互信息
技能表示连续潜在空间离散技能库(隐式)

8.3 方法选择决策树

flowchart TD
    Q1["需要物理仿真控制?"] --> |否 | A1["使用运动学方法<br/>如 PFNN、CAMDM"]
    Q1 --> |是 | Q2["有多少下游任务?"]

    Q2 --> |单一任务 | A2["AMP<br/>更简单直接"]
    Q2 --> |少量任务 <5 | A3["AMP 或 ASE"]
    Q2 --> |大量任务 ≥5 | A4["ASE<br/>预训练可复用"]

    Q3["需要技能多样性?"] --> |否:单风格 | A5["AMP"]
    Q3 --> |是:多风格组合 | A6["ASE"]

    Q4["有多少动捕数据?"] --> |单一片段 | A7["DeepMimic / AMP"]
    Q4 --> |大规模数据集 100+ | A8["ASE"]

    style A1 fill:#e1f5fe
    style A4 fill:#fff3e0
    style A6 fill:#fff3e0
    style A8 fill:#fff3e0

九、遗留问题

9.1 开放性问题

  1. 技能的可解释性

    • 潜在空间的每个维度代表什么?
    • 能否实现更细粒度的技能控制?
  2. 数据集扩展

    • 如果使用更大规模数据集(如 AMASS)会怎样?
    • 能否学习更复杂的技能(如体操动作)?
  3. 多角色泛化

    • 能否训练一个模型适用于多个角色?
    • 形态学变化的鲁棒性如何?
  4. 与语言模型的结合

    • 能否用自然语言指定技能?
    • 与 LLM 结合实现指令驱动的角色控制?
  5. 实时应用

    • 推理速度能否满足游戏实时要求?
    • 模型压缩和加速的可能性?

9.2 未来方向

  1. 层级强化学习的深化

    • 更多层级的抽象
    • 自动发现技能层级结构
  2. 多模态条件

    • 结合视觉、语言、动作等多种条件
    • 更丰富的交互方式
  3. 在线学习

    • 任务执行过程中持续改进
    • 适应新环境和扰动

十、关键公式总结

公式含义
\(\max_{\pi} -D_{JS} + \beta I(s,s';z)\)预训练总目标
\(r_{adv} = -\log(1 - D(s, s'))\)对抗奖励
\(I(s, s'; z) = H(z) - H(zs, s')\)
\(r_t = w_G r_G - w_S \log(1 - D)\)任务训练奖励

十一、代码与资源

  • 项目主页: https://xbpeng.github.io/projects/ASE/
  • 代码: 项目主页提供
  • 数据集: 论文未公开具体数据集,但表示代码和数据将公开

笔记说明:本文是 SIGGRAPH 2022 的重要工作,将预训练范式引入物理角色控制,对后续研究影响深远。理解本文有助于学习后续的 Physics-Based Character Control 相关方法。第八部分详细对比了 ASE 与 AMP 及其他相关工作的区别,并解释了两者解决的核心问题差异。