共计 3765 个字符,预计需要花费 10 分钟才能阅读完成。
本文首发于:行者 AI
随着二次元文化的倒退,虚构偶像越发炽热。
虚构偶像技术次要蕴含歌唱合成和舞蹈生成,即能唱和能跳。
本文针对舞蹈生成,抉择发表在 ICLR2021 的《Dance Revolution: Long Sequence Dance Generation with Music via Curriculum Learning》予以介绍,该论文由复旦大学、微软、美团和 Rinna AI 单干实现。
1. 舞蹈生成
舞蹈生成(Dance Generation),输出一段音乐序列(往往是 音频特色 ),失去一段同样时长有意义的 动作序列,即给音乐配舞蹈。上面将简略介绍音频特色和动作序列。
1.1 音频特色
音频的数据文件,由巨量的采样点组成。1 秒钟音频能够达到上万个采样点,给模型训练带来微小的艰难。在理论应用中,音频个别不作为间接的输入输出,而是取音频的特色作为输入输出。
音频的常见特色有:
MFCC
MFCC delta
constant-Q chromagram
tempogram
在理论应用中,不须要具体理解上述音频特色,只需晓得上述音频特色将音频的工夫序列长度放大了近百倍。
1.2 动作序列
图 1. 动作序列提取图
动作序列是指姿势预计(pose estimation)生成的对于动作的时序数据,每个工夫步的数据由关键点组成,用来表征人的肢体动作。如图 1,纯色的点组成了以后动作的关键点,其连线能很好表征以后人物的肢体静止。(详情参见 https://github.com/CMU-Percep…
动作序列能够只提取人物肢体静止,排除人物、背景等烦扰音素,提取舞蹈动作,因此用动作序列示意舞蹈。
舞蹈是一种节奏很强的动作,除了上述常见特色,作者将鼓点的独热编码也视作音频特色,用于模型训练。
1.3 舞蹈生成问题定义
在理解了音频特色和动作序列后,这里给出舞蹈生成问题的定义。
对于给定的音乐 - 舞蹈数据集 D,D 由成对的音乐和舞蹈动作序列片段组成,音乐和舞蹈动作一一对应,X 为音乐片段,Y 为舞蹈动作片段。用 D 训练一个模型 g(·),使得 g(X)=Y。
这种输出序列输入序列的问题,被定义为序列到序列(Sequence-to-Sequence,简写为 seq2seq)。相较于机器翻译序列到序列问题,音乐能够配很多舞蹈,没有唯一性,音乐更像是一种格调(style)。作者从 seq2seq 问题登程,所做的优化思路也是来自于 seq2seq 问题。
1.4 背景和动机
通过钻研以后舞蹈生成的办法,作者发现现有的舞蹈生成有两种次要形式:
第一种是拼接办法(将不同舞蹈动作拼接起来)
第二种是自回归模型(如 lstm 等模型)
第一种办法短少天然度,而第二种会受限于自回归模型的谬误累积,只能生成较短的动作序列,因此作者提出两种办法来解决:
课程学习
部分注意力
这两种办法将在模型构造中进行介绍。
2. 模型构造
图 2. 舞蹈生成模型结构图
如图 2,该模型输出音频特色通过 encoder 和 decoder 失去动作序列。
上面将别离介绍 encoder 以及 decoder。
2.1 encoder
encoder 同一般的 seq2seq 问题,采纳了相似 transformer 的架构,由 N 个 transformer block 组成,每个 transformer block 由 multi-head self-attention 和 feed forward neural network 串联组成。
部分注意力
音频是一个工夫信号序列,相较于文本序列,音频的工夫步更长,一句话最多上百字,但一个音频能够有百万个采样点,即便做了特征提取,音频的长度也在上千个左右。而 transformer 的 multi-head self-attention 模块计算复杂度为序列长度的平方,序列长度越长,计算所需资源越多。另一方面,音频满足短时不变性,对有意义的音频进行任意截取,截取的片段依然有意义。因此,作者提出将全连贯的 self-attention 变成部分的(local),如图 2 左上角,对每一个工夫步的 attention 设置窗口大小,让模型只需计算前后 k / 2 的数据。
图 3. 部分注意力公式
图 3 即为 local multi-head self-attention 的实现,相较于 multi-head self-attention,local 的实现只是在求和时退出范畴限度,理论实现时只须要乘一个 mask 矩阵即可。
2.2 decoder
图 4. decoder 公式
图 4 为 decoder 的实现。decoder 的 backbone 是一般的 RNN 网络,将上一个工夫步的信息 hi- 1 以及上一个 RNN cell 的隐状态 yi- 1 作为输出,失去以后的 RNN cell 的隐状态 hi,与 encoder 输入的以后工夫步的隐状态 zi 拼接通过线性层失去最终输入 yi。不同于机器翻译等自然语言问题,做推理时舞蹈生成不须要对以后工夫步进行采样。
课程学习
课程式学习(curriculum learning)认为模型该当像人一样,学习该当从易到难。对于分类问题,课程学习该当先学习简略的样本,而后学习艰难的样本;对于 seq2seq 问题,课程学习该当先学习短的序列,每次只去预测以后步的下一步(teach forceing),在模型训练到肯定水平后,逐渐开始减少后续预测的序列长度,比方减少到预测以后步的后两个工夫步。paper 作者对课程学习在舞蹈生成问题上做了改良,这里不作开展。
3. 评估规范
这篇 paper 提出的模型相较简略,亮点在于评估的标注规范。
舞蹈生成相似语音合成,罕用的评估办法分为两类:主观评估和主观评估。
主观评估从测试数据角度,评估生成的舞蹈的真实性、格调一致性以及与配乐的匹配。
3.1 Fréchet Inception Distance
图 5. FID 计算公式
图 5 是 Fréchet Inception Distance 的计算公式。Fréchet Inception Distance 简称 FID,用于计算两个散布的类似度。原理是,假如两个高斯分布的矩阵,其均值和协方差越相近,则这两个矩阵越类似。如上图公式,μ 是均值,∑是协方差,Tr 示意矩阵对角线上元素的总和。
在舞蹈生成中,FID 用于和实在舞蹈整体的类似水平,即舞蹈的真实性。
3.2 ACC
用来评估舞蹈生成与音乐风格的统一水平。训练一个 MLP(多层感知机)来对实在舞蹈进行分类(例如芭蕾、嘻哈、风行,类别来自于音乐分类),用 MLP 对生成的舞蹈进行分类,并评估是否与音乐的类别统一。
3.3 Beat Coverage
节奏覆盖度(Beat Coverage)为舞蹈动作节奏总数与音乐节奏总数的比率。节奏覆盖率越高,舞蹈的节奏型越强。
3.4 Beat Hit Rate
节奏命中率(Beat Hit Rate)为所有静止节奏中,命中音乐节奏数量占动作节奏总数的比率。命中率越高,舞蹈动作越符合音乐。
3.5 Diversity
多样性(Diversity),在测试集上依据音乐生成一些舞蹈,评估这些舞蹈整体的多样性。
3.6 Multimodality
多态性(Multimodality),依据单个音乐生成多个舞蹈,评估这些舞蹈整体的多样性。
上述很多评估规范来自《Dancing to Music Neural Information Processing Systems》,如果想全面理解舞蹈生成畛域,笔者倡议浏览这篇 paper。
3.7 主观评估规范
3.1 至 3.6 介绍的规范均为主观评估规范。舞蹈好坏的很多方面是难以量化的,须要人工评估,即主观评估。主观评估:找多位业余舞者,播放提出模型生成的舞蹈、比照模型生成的舞蹈以及实在的舞蹈,并问如下三个问题,舞者进行打分。
- 真实性:抛开音乐而言,哪个舞蹈更实在?
- 丝滑性:抛开音乐而言,哪个舞蹈更丝滑?
- 匹配性:就格调而言,哪个舞蹈更与音乐相匹配?
组织者对每个音频三项指标的打分进行均匀,失去最终评估后果。
4. 总结
这篇论文提出了一个 SOTA 的舞蹈生成模型,生成的舞蹈相较于前人钻研,靠近真人舞蹈。论文作者给出了示例视频:https://www.youtube.com/watch…
从这个视频咱们也能看到目前舞蹈生成的有余:
- 生成的舞蹈可能违反人类生理构造:从视频中能够看到很多扭曲的手臂,是正常人无奈做到的动作。
- 舞蹈生成帧率太低:本篇论文模型帧率为 15 FPS,远低于视频失常的帧率。
- 舞蹈生成没有实时性:因为模型生成速度慢,达不到实时生成的速度要求;模型多采纳 seq2seq 架构,先对音乐整体编码,再逐渐解码,没有思考到实时性的需要。
- 生成品质有待晋升:即便是业余的人,在看这篇论文的示例视频时,仍能看到很多不谐和的肢体动作。
舞蹈生成从去年开始进入热潮,生成的舞蹈品质始终在进步,近期谷歌公布了《Learn to Dance with AIST++》,慧夜科技公布了《DanceNet3D:DanceNet3D: Music Based Dance Generation with Parametric Motion Transformer》,舞蹈生成作为实现虚构偶像的重要技术,备受器重。
通过关注以后舞蹈生成的钻研,笔者也发现了舞蹈生成的热点:
- 更优质的数据集
- 3D 舞蹈生成
- transformer base 模型构造
- 更高帧率
舞蹈生成是行者 AI 虚构偶像钻研的一部分。笔者和其余研究者们在一直摸索新的办法和评估规范,欢送宽广同行交换与单干,以及退出。