作者:Hanyang Kong 等
论文题目:Priority-Centric Human Motion Generation in Discrete Latent Space
来源:ICCV 2023
论文链接:https://arxiv.org/abs/2308.14480
内容整理:王怡闻
文本生成动作任务旨在生成与输入文本相符合的人类动作,同时又要遵守人类的能力和物理规律。虽然在扩散模型方面已经有了一些进展,但它们在离散空间中的应用仍然未被充分探讨。当前的方法常常忽视了不同动作的重要性也不尽相同。并非所有的动作对于特定的文本描述都具有相同的重要性。一些动作由于更加显著和信息丰富,应在生成过程中被优先考虑。为此,我们引入了一种基于优先级的动作离散扩散模型(M2DM),它利用了基于 Transformer 的 VQ-VAE 来获得简洁的离散动作表示,其中包括全局自注意机制和正则化项。我们还提出了一种动作离散扩散模型,这种方法在反向扩散过程中保留了最显著的动作,从而产生了更具语义丰富性和多样性的动作。此外,我们制定了两种衡量动作标记重要性的策略,借鉴了文本和视觉指标。在 HumanML3D 和 KIT-ML 数据集上进行的实验证实了我们的模型在保真度和多样性方面超越了现有技术,特别是对于复杂的文本描述。
引言
图1
由于固有的模态差异和文本与动作模态之间的复杂映射,生成高质量的动作并不是一件简单的事情。尽管目前已经取得了一些进展,但仍然存在两个主要问题未得到解决:
- 现有的扩散方法,如 MDM 和 MLD,主要处理连续空间中的潜在特征。尽管受到 VQ-VAE 启发的架构在动作生成方面取得了相当大的进展,特别是在支持离散而紧凑的动作表示的情况下,但将扩散模型集成到离散空间仍然未被充分探索。
- 先前研究中采用的离散扩散模型处理所有标记的方式是一致的。这种方法假设每个标记传达了相同数量的信息,忽视了序列中标记之间固有的差异。对于人类而言,更直观的生成方法应该涉及渐进的层次结构,从总体概念开始,逐渐深入细节。
为此,我们引入了一种基于优先级的动作离散扩散模型(M2DM),它利用了基于 Transformer 的 VQ-VAE 来获得简洁的离散动作表示,其中包括全局自注意机制和正则化项。我们还提出了一种动作离散扩散模型,这种方法在反向扩散过程中保留了最显著的动作,从而产生了更具语义丰富性和多样性的动作。此外,我们制定了两种衡量动作标记重要性的策略,借鉴了文本和视觉指标。我们的贡献总结如下:
- 为了捕捉动作序列中的长依赖关系,我们将 Transformer 作为 VQ-VAE 的架构。此外,还应用了一个正则化项,以增加 codebook 中标记的使用。
- 我们为离散潜在空间中的人类动作生成设计了一个以优先级为中心的方案。为了增强在复杂描述情况下的性能,我们还为离散扩散模型设计了一种新颖的以优先级为中心的方案。
- 我们提出的以优先级为中心的 M2DM 在 HumanML3D 和 KIT-ML 数据集上实现了最先进的性能。
方法
动作令牌化
动作令牌化器旨在学习一个 codebook,可以以具备动作标记优先级的方式表示各种各样的动作序列。为了实现这一目标,我们提出了一种基于 Transformer 的 VQ-VAE,利用自注意机制捕捉动作帧之间的长程依赖关系,并学习一个稳定且多样化的 codebook。
图2
给定一个动作序列
X \in \mathbb{R}^{T \times d},其中
T 表示帧数,
d 表示动作的维度表示,我们使用一个 Transformer 自编码器重构动作序列,并学习一个 codebook
Z=\left\{z_k\right\}_{k=1}^K,其中
K 表示 codebook中的条目数。我们使用 Transformer 编码器
E 计算潜在动作特征
\boldsymbol{b}=\left\{b_t\right\}_{t=1}^T \in \mathbb{R}^{T \times d^{\prime}},其中
d^{\prime} 是潜在特征的维度。然后,对于每个特征
b_t,我们通过测量特征
b_t 和 codebook
Z 中每个条目之间的距离来查询 codebook
Z。为了提高 codebook 的使用率并避免无用的代码,我们首先对
b_t 和
z_t 进行归一化,然后测量单位球坐标中两个归一化向量之间的欧氏距离,表达为:
\hat{b}_t=\underset{b_t \in \boldsymbol{b}}{\arg \min }\left\|\ell_2\left(b_t\right)-\ell_2\left(z_k\right)\right\|_2^2 \quad (1)
其中
\ell_2 是
l_2 归一化函数。标准的优化目标包括三个部分:重构损失、embedding loss和 commitment loss,表示为
\begin{aligned}
\mathcal{L}_{v q} & =\|X-\tilde{X}\|_2^2+\|Z-s g[\hat{Z}]\|_2^2 \\
& +\eta\|s g[Z]-\hat{Z}\|_2^2 \quad (2)
\end{aligned}
此外,我们计算codebook条目之间的每对距离,以确保正交性:
\mathcal{L}_{\text {orth }}(Z)=\left\|\ell_2(Z)^{\top} \ell_2(Z)-I_K\right\|_2^2 \quad (3)
其中
\ell_2 是
l_2的归一化函数。总结以上设计,矢量量化的总体训练目标定义如下:
\begin{aligned}
\mathcal{L}_{v q} & =\|X-\tilde{X}\|_2^2+\|Z-s g[\hat{Z}]\|_2^2 \\
& +\eta\|s g[Z]-\hat{Z}\|_2^2+\delta \mathcal{L}_{\text {orth }}(Z) \quad (4)
\end{aligned}
其中
\tilde{X}=D(\boldsymbol{b}),
D 是解码器,
s g[\cdot] 表示停梯度操作,
\eta 和
\delta 是权重标量。
离散扩散模型
图3
一般而言,前向离散扩散过程通过固定的马尔可夫链
q\left(x_t \mid x_{t-1}\right) 对每个时刻
t 的数据
x_t 进行加噪,例如,替换
x_{t-1} 的一些 token 或直接屏蔽 token。经过固定数量的
T 时刻后,前向过程生成了一个维度与
z_0 相同的逐渐变噪的离散令牌序列
z_1, \ldots, z_T,其中
z_T 成为纯噪声令牌。对于去噪过程,真实的
x_0 是基于纯噪声令牌
z_T 逐步恢复的。关于去噪过程,我们训练了一个类似于 Transformer 的去噪网络
p_\theta\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_t, \boldsymbol{y}\right),用于估计后验转移分布
q\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_t, \boldsymbol{x}_0\right)。该网络被训练以最小化变分下界(VLB),其表达式如下:
\begin{aligned}
\mathcal{L}_{V L B}= & \mathbb{E}_q\left[D_{K L}\left(q\left(\boldsymbol{x}_T \mid \boldsymbol{x}_0\right) \| p_\theta\left(\boldsymbol{x}_T\right)\right)\right] \\
& +\mathbb{E}_q\left[\sum_{t=2}^T D_{K L}\left(q\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_t, \boldsymbol{x}_0\right) \| p_\theta\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_t, t\right)\right)\right] \\
& -\log p_\theta\left(\boldsymbol{x}_0 \mid \boldsymbol{x}_1\right) \quad(5)
\end{aligned}
其中
\mathbb{E}_q[\cdot] 表示对联合分布
q\left(\boldsymbol{x}_{0: T}\right) 的期望。
基于优先级的去噪过程
给定初始动作令牌序列
\boldsymbol{x}_0 在时刻 0,长度为
N,我们的目标是分析每个令牌
x_0^i 在
\boldsymbol{x}_0 中的重要性。基于信息熵理论,我们计算每个动作令牌
x_0^i 的信息熵作为其重要性分数:
F\left(x_0^i\right)=\frac{N H\left(x_0^i\right)}{\sum_{j=1}^N H\left(x_0^j\right)} \quad (6)
其中
H(x)=-\sum_{i=1}^K p\left(x_i\right) \log p\left(x_i\right) \quad (7)
而
K 表示
x_i 属于的类别数。在获得重要性评分函数并设置线性增加的时间表
\bar{\gamma}_t^i 和
\bar{\beta}_t^i 之后,对于所有令牌,特定令牌
x_0^i 的
\bar{\gamma}_t^i 和
\bar{\beta}_t^i 可以进一步通过以下方式更新:
\bar{\gamma}_t^i \Leftarrow \bar{\gamma}_t^i \cdot \sin \frac{t \pi}{T} \cdot F\left(x_0^i\right) \quad(8)
和
\bar{\beta}^i \Leftarrow \bar{\beta}^i \cdot \sin \frac{t \pi}{T} \cdot F\left(x_0^i\right) \quad (9)
其中
\boldsymbol{x}_0^i 是时刻 0 的第
i 个令牌。现在我们介绍两种获取
p\left(x_i\right) 的解决方案。
静态评估
类似于在自然语言处理中为每个单词计算熵的方法,我们通过在整个数据集上统计量化动作序列中每个动作令牌的频率来估算每个动作令牌的概率
p(x_i)。
动态评估
与计算动作令牌频率并计算每个令牌的重要性不同,我们进一步提出通过强化学习策略来学习一个代理,以估算令牌序列中每个令牌的重要性。给定一系列完整的动作令牌
\boldsymbol{x}=\left\{x_n\right\}_{n=1}^N,这些令牌是从当前状态
s_t \in \mathcal{S} 中的 codebook 中查询得到的,评分器会对动作令牌进行采样
\tilde{\boldsymbol{x}}=\left\{x_n\right\}_{n=1}^{N^{\prime}},并试图最小化原始动作序列
\boldsymbol{m} 与从采样的令牌
\tilde{\boldsymbol{m}} 解码出的动作序列之间的重构误差。
图4
实验
我们的实验在两个用于文本到运动生成的数据集(HumanML3D 和 KIT-ML)上进行,下图分别展示了该方法分别在两个数据集上与现有方法的效果对比。
图5
图6
可视化对比如下:
图7
总结
我们引入了从文本到运动生成的以优先级为中心的运动离散扩散模型(M2DM)。它利用了基于 Transformer 的 VQ-VAE 来获得简洁的离散动作表示,其中包括全局自注意机制和正则化项。。此外,我们制定了两种衡量动作标记重要性的策略,借鉴了文本和视觉指标。在 HumanML3D 和 KIT-ML 数据集上进行的实验证实了我们的模型在保真度和多样性方面超越了现有技术。