Transformer 又又接新活了 —— 这次谷歌用它搞了一个会根据音乐跳舞的 AI。
而这个 AI 也凭借着对音乐和舞蹈之间的关联的深刻理解,打败了 3 个同类模型取得 SOTA,登上了 ICCV 2021。
另外,除了代码开源,研究团队还随之一起公开了一个含有 10 种类型的 3D 舞蹈动作数据集。
心动的,搞起来搞起来!
这个 freestyle 怎么来?前面咱们不是说,这个 AI 用了 Transformer 吗?
但这里的 Transformer 不是普通的 Transformer,它是一个基于完全注意力机制(Full-Attention)的跨模态 Transformer,简称 FACT。
为什么要搞这么复杂?
因为研究人员发现,光用单纯的 Transformer 并不能让 AI 理解音乐和舞蹈之间的相关性。
所以,这个 FACT 是怎么做的呢?
总的来说,FACT 模型采用了独立的动作和音频 transformer。
首先输入 2 秒钟的 seed 动作序列和一段音频,对其进行编码。
然后将 embedding(从语义空间到向量空间的映射)连接起来,送入跨模态 transformer 学习两种形态的对应关系,并生成 n 个后续动作序列。
这些序列再被用来进行模型的自监督训练。
其中 3 个 transformer 一起学习,采用的是不用预处理和特征提取,直接把原始数据扔进去得到最终结果的端到端的学习方式。
另外就是在自回归框架中进行模型测试,将预期运动作为下一代阶段的输入。
最终,该模型可以逐帧地生成一段(long-range)舞蹈动作。
下图则展示了该模型通过同一段种子动作(嘻哈风格)、不同音乐生成了四种舞蹈作品(霹雳舞、爵士芭蕾、Krump 和 Middle Hip-hop)。
有没有懂行的点评一下?
而为了让 AI 生成的舞蹈生动且和音乐风格保持一致,这个模型设计里面有 3 个关键点:
- 1、模型内部 token 可以访问所有输入,因此三个 transformer 都使用一个完全注意力 mask。这使得它比传统的因果模型更具表现力。
- 2、不止预测下一个,该模型还预测 N 个后续动作。这有助于模型关注上下文,避免在几个生成步骤后出现动作不衔接和跑偏的情况。
- 3、此外,在训练过程的前期还用了一个 12 层深的跨模态 transformer 模块来融合两个 embedding(音频和动作)。研究人员表示,这是训练模型倾听分辨输入音乐的关键。
下面就用数据来看看真实性能。