人类的沟通交流充满了多模态的信息。为了与他人进行有效沟通,我们既使用言语语言,也使用身体语言,比如手势、面部表情、身体姿势和情绪表达。因此,为了理解和生成人类动作,理解这些多模态的行为至关重要,而且这一研究方向最近受到的关注也越来越多。
来源丨机器之心
而多模态语言模型看起来颇具潜力,可将多种模态的不同任务统一在一个框架下。
近日,斯坦福大学李飞飞、Gordon Wetzstein 和 Ehsan Adeli 领导的一个团队也在这方面做出了贡献,探索了语音 - 文本 - 动作生成任务。并且他们还提出了一个全新的多模态语言模型,可以实现富有表现力的动作生成和理解。
这个模型可以同时接受音频和文本输入来生成动作。比如你指定这个人下半身的动作是绕圈走,并根据语音生成上半身动作,它就会配合你生成对应的动作。
更重要的是,它支持动作编辑,可以将原本的绕圈走动更换为其他动作序列(如后退、跳跃、前跑、后跑等)。更换了动作指令,模型生成的动作依然自然流畅,并与语音内容保持良好的协调性。
很显然,这项研究对于李飞飞的长远「空间智能」目标大有裨益。这项研究有三位共同一作:Changan Chen(陈昌安)、Juze Zhang 和 Shrinidhi K. Lakshmikanth。
论文标题:The Language of Motion: Unifying Verbal and Non-verbal Language of 3D Human Motion
论文地址:https://arxiv.org/abs/2412.10523v1
项目页面:https://languageofmotion.github.io/
论文概览
首先,该团队指出,为了统一人类动作的言语和非言语语言,语言模型是至关重要的。他们给出了三点原因:
语言模型能自然地与其它模态连接起来;
语音富含语义,而「建模因笑话而发出的笑声」这样的任务需要强大的语义推理能力;
经过大量预训练之后,语言模型能够具备强大的语义理解能力。
基于这样的理解,该团队打造出了一种全新的多模态语言模型,如图 1 所示。
为了使用语言模型来建模动作,首先自然要想办法将动作变成 token。该团队的做法是针对不同的身体部位(脸、手、上身、下身)来实现动作的 token 化。事实上,之前已有研究表明,这种划分策略在建模人脸表情方面确实很有效。
之后,再搭配上现成可用的文本和语音 token 化策略,就可以将任何模态的输入都表示成 token 了。
为了训练这个使用多种模态的 token 的语言模型,该团队设计了一个两阶段式训练流程:
首先,进行预训练,目标是通过身体组合动作对齐与音频 - 文本对齐来对齐各种不同的模态。
预训练完成后,将下游任务编译成指令,并根据这些指令训练模型,使模型能够遵循各种任务指令。
该团队自然也进行了实验验证,结果发现新方法得到的多模态语言模型确实比其它 SOTA 模型更优。不仅如此,他们还发现,在严重缺乏数据的情况下,这种预训练策略的优势更为明显。
与其他伴语手势生成模型的效果对比
与其他文生动作模型的效果对比
尽管该模型在预训练期间从未见过语音 - 动作数据,但在用于数据相对较少的全新说话人时,它依然达到了颇具竞争力的性能,表现出了显著的泛化能力。
该团队表示:「就我们所知,这是首个构建多模态语言模型来统一 3D 人体动作的言语和非语言语言的工作。」
用于动作生成和理解的多模态语言模型
模型的整体结构如下图 2 所示。
作者使用针对特定模态的 tokenizer 来处理各种输入模态。具体来说,他们训练了一个组合式的身体动作 VQ-VAE,将面部、手部、上半身和下半身的动作 token 化为离散的 token,并将这些针对特定模态的词汇表(音频和文本)合并成一个统一的多模态词汇表。
在训练过程中,他们使用来自不同模态的混合 token 作为输入,并通过编码器 - 解码器语言模型生成输出。混合 token 被送入 transformer 编码器,而解码器则在每一步以自回归的方式预测下一个 token 的概率分布。
模态对齐预训练
现有的动作生成模型在针对下游任务训练时严重依赖成对数据。然而,收集高质量的成对动作数据既昂贵又耗时。与此同时,还有大量未配对的每种模态的数据可供探索。受此启发,作者引入了一个生成式预训练策略,如图 3 所示。具体来说,他们在预训练阶段实施了两种类型的模态对齐:组合动作对齐和音频 - 文本对齐。
1、组合动作对齐
我们的身体动作本质上是组合性的,即不同的身体部位是相互协调动作的。例如,当我们高兴时,我们的面部会展现出微笑,我们的手势也倾向于变得更加积极。不同身体部位动作之间的相关性是普遍的,超越了文化界限。这种共享的先验知识构成了论文所提方法的基础。为了探索这种对应关系,作者考虑了两种类型的动作对齐任务:空间和时间。
空间
为了建模这些不同身体部位之间的相关性,作者训练模型接收随机选择的身体部位组合(例如,上半身或上半身 + 面部)并预测另一个随机选择的其他身体部位组合(例如,下半身或下半身 + 手部)。这有助于模型学习身体部位之间的空间关系。下面是一个定义任务提示、条件和答案的示例模板。模型接收提示和条件作为输入,并按预期输出答案。
时间