MuseMorphose:通过一个 Transformer VAE 实现全歌曲和细粒度的音乐风格转换

Shih-Lun Wu, and Yi-Hsuan Yang Both SL and YH were with the Taiwan AI Labs, 15F., No. 70, Sec. 1, Chengde Rd., Datong Dist., Taipei City 103622 , Taiwan. Besides, SL was also with the Department of CSIE, National Taiwan University; and YH was also with the Research Center for IT Innovation, Academia Sinica.
E-mail: b06902080@csie.ntu.edu.tw; yhyang@ailabs.tw Manuscript received ***, 2021
摘要

Transformer 和变分自动编码器 (VAE) 已广泛用于符号(例如 MIDI)领域音乐生成。 虽然前者在建模长序列方面拥有令人印象深刻的能力,但后者允许用户自愿控制要生成的音乐的不同部分(例如小节)。 在本文中,我们有兴趣将两者结合起来构建一个展示两种优势的单一模型。 该任务分为两个步骤。 首先,我们为 Transformer 解码器配备了在序列生成期间接受段级、时变条件的能力。 随后,我们将开发和测试的注意力解码器与 Transformer 编码器相结合,并用 VAE 目标训练生成的 MuseMorphose 模型,以实现长音乐作品的风格迁移,其中用户可以指定音乐属性,包括节奏强度和复调(即、和声丰满度)他们所渴望的,一直到小节水平。 实验表明,在风格迁移任务的众多广泛使用的指标上,MuseMorphose 的性能优于基于循环神经网络 (RNN) 的基线。

索引术语:
Transformer、变分自动编码器(VAE)、深度学习、可控音乐生成、音乐风格迁移

1 简介

自动音乐创作,即以符号格式(例如 MIDI、111查看https://midi.org/species了解详细规格。 一直是一个活跃且引人入胜的研究课题,其努力可以追溯到半个多世纪前[1] 由于神经网络的复兴,近年来我们看到基于深度学习的音乐创作方法的激增[2,3,4] 根据目标应用程序采用了不同的网络架构,但最先进的模型通常基于以下两种架构之一[5,6,7] - Transformer [8] 和变分自动编码器 (VAE) [9]

Refer to caption
Refer to caption
图1 原创音乐摘录(上)和 MuseMorphose 的风格转移一代之一(下)的可视化。 上行和下行中的数字代表我们要控制的目标属性,分别是小节的节奏强度复调类别。

Transformers [8] 是一系列神经序列模型,通常被认为是循环神经网络 (RNN) [10, 11] 的有力后继者。 由于自注意力的设计可以聚合序列中所有先前标记的隐藏状态的信息,Transformers 能够创作几分钟长的连贯音乐,如 Music Transformer 所证明的[5]MuseNet [12] Transformers 的变体已用于建模多轨音乐 [6]、流行钢琴演奏 [13]、爵士乐主奏曲 [14] ,甚至吉他手可以阅读的吉他标签 [15] [5, 6][16] 中的客观和主观评估都证明 Transformer 是长序列生成的最先进模型。

VAE [9] 是一种深度潜在变量模型,包括编码器、解码器和其间的 Kullback-Leibler (KL) 散度正则化潜在空间。 VAE 的主要优势在于,它们允许人类用户通过对学习到的潜在空间 [7] 进行操作来访问生成过程,该潜在空间存储音乐摘录的紧凑语义,这使它们成为诸如可控音乐生成和音乐风格(或属性)转移等任务。 例如,MusicVAE [7]Music FaderNets [17] 分别显示低级别(例如,机器作品的音符密度)和高级(例如唤醒水平)音乐特征可以通过潜在向量算术来改变。 Music FaderNets、GLSR-VAE [18]MIDI-VAE [19] 对潜在空间迫使某些潜在维度能够区分要控制的音乐风格或属性。 相比之下,Kawai 等人 [20]使用对抗性学习[21]来防止潜在空间编码属性信息,并委托属性控制馈送到解码器的学习嵌入。

然而,上述 VAE 模型均基于 RNN,而 RNN 建模长序列的能力有限。 另一方面, Transformer 的条件生成通常是通过提供额外的 Token 来完成的。 例如,MuseNet [12] 使用作曲家和乐器标记,添加到事件序列之前,以影响作品的风格并限制使用的乐器。 有时,变形金刚会被赋予一段创作的旋律(也作为词符序列)并被要求生成伴奏。 此类任务已通过编码器-解码器架构[22, 23]解决,或者通过训练具有旋律和完整片段的交错子序列[24]的解码器来解决。 就给定条件的限制性而言,上述两种情况可以看作是两个极端。 用户可能只能决定一代的大致类别(例如流派、作曲家等),或者必须能够自己想出旋律。 以潜在向量的形式约束高层次音乐思想流的生成的中间立场,用户可以轻松广泛地参与基于 RNN 的 VAE 实现的机器创作过程,但尚未针对 Transformers 研究过据我们所知。

因此,本文的目标是构建这样一个模型,以实现 Transformer 和 VAE 的所有上述优点。 为了实现这一目标,我们将工作分为两个步骤。 首先,我们设计了一种机制,用于在长序列生成过程中使用段级(即本例中的 bar 级)、时变调节向量来调节 Transformer 解码器 [25] pre-attentionin-attentionpost-attention 三种方法,在架构的不同阶段将条件注入到 Transformer 中,提出了。 我们进行了一项客观研究,以表明注意力不集中最有效地对模型施加控制。

接下来,我们将具有注意力特征的 Transformer 解码器与 Transformer 编码器 [26] 相结合,该编码器在分段级别上运行,以构建最终的 MuseMorphose 模型- 颗粒化的音乐风格转移。 该编码器-解码器网络使用 VAE 目标 [9] 进行训练,并通过属性嵌入 [27] 实现音乐风格传输。 实验表明,MuseMorphose 擅长生成 32 个小节(或小节)长的流行钢琴演奏的风格转移版本(即具有表现力的节奏和动态的音乐,而不是简单的乐谱),其中用户可以自由控制两个序数音乐属性,即每个小节的节奏强度复调

使用 Transformer 参数化 VAE 是一个较少探索的方向。 一个典型的作品是Optimus[28] Optimus 成功地将一对预训练的 Transformer 编码器 (BERT) [26] 和解码器 (GPT-2) [ 25] 具有 VAE 潜在空间,并设计了潜在变量对 Transformer 解码器进行控制的机制。 还尝试了链接 Transformers 和 VAE 以完成故事[29] 然而,上述两项工作都仅限于生成短文本(只有一个句子),并在全局级别上调节 Transformer 解码器。 我们的工作将上述方法扩展到长序列的情况,保持 VAE 的细粒度可控性,并验证这种控制可以在没有判别器和任何辅助损失的情况下实现。

我们的主要贡献可以概括为:

  • 我们设计了注意力集中方法,以牢固地利用 Transformer 的分段条件生成过程。

  • 我们将具有注意力集中功能的 Transformer 解码器与条形级 Transformer 编码器配对,形成 MuseMorphose,这是我们基于 Transformer 的 VAE,这标志着在以下方面比 Optimus [28] 的进步条件机制、控制粒度和可接受的序列长度方面。

  • 我们使用 MuseMorphose 进行 32 小节长的流行钢琴演奏的风格转换,它在各种指标上都超越了最先进的基于 RNN 的 VAE [19, 20],而无需使用风格导向的损失函数。

1展示了MuseMorphose的一幅作品,222半音阶中的每个音调(C、C#、...、B)的颜色都不同。 其中模型精确响应不断增加的节奏强度和复调设置,同时很好地保持原始摘录的轮廓。 我们鼓励读者访问我们的配套网站333Companion website: slseanwu.github.io/site-musemorphose 聆听 MuseMorphose 的更多世代作品。 此外,我们还开源了 MuseMorphose 的实现。444Codebase: github.com/YatingMusic/MuseMorphose

本文的其余部分的结构如下。 第 2 节全面介绍了技术背景。 第 3 节和第 4 节是我们工作的主体,分别关注 Transformer 解码器的分段级调节,以及用于细粒度音乐风格迁移的基于 MuseMorphose Transformer 的 VAE 模型。 在这两个部分中,我们从问题表述开始;然后,我们详细阐述我们的方法,然后是评估程序和指标;最后,我们展示结果并进行一些讨论。 第五节总结了本文并提供了未来可能的发展方向。

2 技术背景

2.1 基于事件的音乐表示

为了促进使用神经序列模型对音乐进行建模,一个重要的预处理步骤是将音乐作品 X 标记为事件序列,即

X={x1,x2,,xT}, (1)

其中 T 是生成的基于事件的表示中的音乐长度。 这种标记化过程可以通过 MIDI 符号格式的音乐直接完成。 MIDI 文件存储音乐作品的节奏(以每分钟节拍或 bpm 为单位)、拍号(例如 3/4、4/4、6/8 等)以及每个音符的开始和释放时间戳和速度(即响度)。 对于具有不止一种演奏乐器的作品,也可以包含多个轨道。

有多种方法可以将符号音乐表示为词符序列[30, 7] 我们的工作中采用的表示法基于 Revamped MIDI 衍生事件 (REMI) [13] 它结合了音乐中固有的时间单位,即小节节拍,前者自然地定义了施加条件的片段。 在 REMI 中,一首音乐作品被表示为具有以下类型标记的序列:

  • BarSub-Beat(116,表示小节内的时间,以四分之一拍为单位,即16th音符,增量)事件表示时间的进展。

  • Tempo 事件明确设置音乐播放的节奏(以每分钟节拍数或 bpm 为单位)。

  • PitchVelocityDuration 事件始终在每个音符的开始处同时发生,标记音调、响度(32 个级别)、以及音符的持续时间(以 16th 音符为增量)。

REMI的作者还建议采用基于规则的和弦识别算法来添加Chord事件,例如CmajG7等,以告知音乐的局部和声特征的序列模型。 为了更好地适应我们的用例,我们对 REMI 进行了一些修改,这将在第 3 节和第 4 节中详细解释。

2.2 变形金刚

一般来说,Transformer 对输入序列 X={x1,,xT} 进行操作。555我们注意到,在多个序列上运行的 Transformer 组合也经常出现。 输入序列中的词符xt首先成为嵌入𝒙td的词符,其中d是模型的隐藏状态维度。 然后,𝒙t 遍历 Transformer 的核心 - 一系列共享相同架构的 L (自)注意力模块 注意力模块666它通常也称为(自)注意力层 然而,我们使用术语模块,因为它实际上涉及多层操作。 可以进一步分为多头注意力(MHA)[8]子模块和位置前馈网络(FFN ) 子模块。 假设输入嵌入 𝒙t 已通过 l1 这样的注意模块来产生隐藏状态 𝒉tl1d,即下一个发生的操作(即 l th)注意力模块可以概括如下:

𝒔tl =LayerNorm(𝒉tl1+MHA(𝒉tl1Hl1)) (2)
𝒉tl =LayerNorm(𝒔tl+FFN(𝒔tl)), (3)

其中 Hl1=[𝒉1l1,,𝒉Tl1]T×d𝒔tl,𝒉tld 残差连接[31]和层归一化(LayerNorm)[32]的存在确保梯度平滑地反向传播到网络中。 MHA 子模块是每个时间步从整个序列收集信息的关键组件。 在 MHA 中,首先生成 querykeyvalue 矩阵 (Ql,Kl,VlT×d):

Ql =Hl1WQl Kl =Hl1WKl Vl =Hl1WVl, (4)

其中 WQl,WKl,WVld×d 是可学习的权重。 Ql 进一步分为 M[Ql,1,,Ql,M],其中 Ql,mT×dM,m{1,,M},KlVl 然后,点积注意力以每个头的方式执行:

Attl,m=softmax(Ql,mKl,md/M)Vl,m (5)

其中Attl,mT×dM 在自回归序列建模任务中,因果(下三角)掩蔽在 softmax 之前应用。 然后,注意力输出(即 Attl,1,,Attl,M)通过可学习权重 WOld×d 连接并线性变换,从而得出 MHA 子模块。

然而,上述机制是排列不变的,这显然不是序列模型理想的属性。 这个问题可以通过在输入词符嵌入中添加位置编码来解决,即𝒙t=𝒙t+pos(t),其中pos(t)可以是固定的正弦波[8],或可学习的嵌入[26] 还发明了更复杂的方法来告知模型所有标记对之间的相对位置[33,34,35,36]

由于注意力的二次记忆复杂性,Transformer 通常不可能采用超过 23k 个标记的序列,从而导致上下文碎片问题。 为了解决这个问题,Transformer-XL [16] 利用段级循环和隐藏状态缓存来允许当前段中的 Token 引用前一个段中的 Token 。 最近还提出了线性复杂度下估计注意力的算法[37, 38]

2.3 变分自动编码器(VAE)

VAE [9] 基于生成过程遵循 p(𝒙)=p(𝒙|𝒛)p(𝒛) 的假设,其中 p(𝒛) 是某个中间级潜在变量 𝒛 事实证明,生成建模可以通过最大化来实现:

ELBO=𝔼𝒛qϕ(𝒛|𝒙)logpθ(𝒙|𝒛)DKL(qϕ(𝒛|𝒙)p(𝒛)), (6)

其中 DKL 表示 KL 散度,qϕ(𝒛|𝒙) 是编码器发出的估计后验分布(由 ϕ 参数化),而 pθ(𝒙|𝒛) 是由解码器建模的可能性(由 θ 参数化)。 它通常被称为证据下界(ELBO)目标,因为它可以证明:ELBOlogp(𝒙). 为简单起见,我们通常将 qϕ(𝒛|𝒙) 限制为各向同性高斯 𝒩(𝝁,diag(𝝈2)),并让编码器发出 𝒛 的平均值和标准差,即 𝝁,𝝈dim(𝒛). 先验分布p(𝒛)通常设置为各向同性标准高斯𝒩(𝟎,I)

出于实际考虑,β-VAE [39]提出我们可以通过额外的超参数β来调整VAE目标KL项的权重。 尽管使用 β1 偏离了优化 ELBO,但它使从业者可以自由地权衡重建精度以获得更平滑的潜在空间和更好的特征解缠(通过选择 β>1)。 值得一提的是,在音乐应用中,β常常被设置为0.10.2[7,19,20]

文献中多次提到 VAE 存在后验塌陷问题[40,41,42],在这种情况下估计后验qϕ(𝒛|𝒙) 完全折叠到先前的 p(𝒛) 上,导致无信息的潜在空间。 当解码器功能强大时,或者当解码是自回归时(其中序列中的先前标记揭示了强信息),该问题尤其严重。 人们提出了许多方法来解决这个问题,要么通过调整训练目标[43, 44],要么稍微修改模型架构[42] Kingma 等人 [43]向VAE目标引入了一个超参数λ,以确保每个潜在维度可以存储λ nats7771 nat 1.44 bits的信息而不会受到 KL 术语的惩罚。 循环 KL 退火 [44] 在训练期间定期调整 β(即 KL 项的权重)。 经验证据表明,这种简单的技术有利于语言建模和文本分类等下游任务。 另一方面,Skip-VAE [42] 通过对模型进行轻微的架构更改来解决后塌陷问题。 在 Skip-VAE 中,潜在条件 𝒛 被馈送到所有层和时间步,而不仅仅是初始层和时间步。 理论和经验表明,Skip-VAE 增加了输入 𝒙 和估计的潜在条件 𝒛 之间的互信息。 在我们的工作中,我们利用上述所有技术来促进基于 Transformer 的 VAE 的训练。

3 在段级别调节 Transformer 解码器

本节首先搁置潜在变量模型,并关注使用一系列预先给定的时变条件 c1,,cK 调节自回归 Transformer 解码器,这些条件是连续向量,每个向量都属于预定义的,目标序列的非重叠片段。 为了解决这个问题,提出了三种机制,即预注意注意中后注意调节。 实验表明,在提供严格控制方面,in-attention 超越了其他两种,以及从 Optimus [28] 稍微调整的机制,它作为我们的基线。

3.1 问题表述

在典型设置下,Transformer 解码器 [8] 用于序列的自回归生成建模:

p(xt|x<t), (7)

其中 xt 是要在时间步 t 预测的序列元素,x<t 是序列中所有(给定的)前面的元素。 一旦模型被训练,模型就可以自回归地生成新的序列,即基于先前生成的元素,按照时间步[25]的时间顺序一次生成一个元素。

与方程相关的无条件生成类型。然而,(7) 并没有提供控制机制来指导 Transformer 的生成过程。 一种替代方法是考虑一种条件场景,其中模型被告知要生成的整个序列的全局条件c,如所使用的,例如,文本 [45]CTRL 模型或音乐 [12]MuseNet 模型:

p(xt|x<t,c). (8)

当目标序列长度很长时,扩展方程可能是有益的。 (8) 通过使用条件序列 c1,c2,,cK(每个条件属于序列的不同部分)来提供细粒度控制:

p(xt|x<t;c1,c2,,cK). (9)

例如,这可以通过将 c1,c2,,cK 的表示视为 Transformer 解码器要处理的附加内存来实现,这可以通过对 [28] 进行最小修改来实现。

在本文中,我们特别解决了目标序列本质上可以分为多个有意义的、不重叠的片段的情况,例如文本文章中的句子或音乐作品中的小节(小节)。 也就是说,对于具有K段的序列,每个时间步索引t[1,T]属于K索引集I1,I2,,IK之一,其中 IkIk= 代表 kkk=1KIk=[1,T] 因此,我们可以为生成模型提供相应时间间隔Ik内每个片段的条件ck,从而建模:

p(xt|x<t;ck),fortIk. (10)

此条件生成任务与等式 1 中概述的任务不同。 (9),因为我们具体知道每个时间步要注意哪个条件(在 K 条件中)。 片段级条件ck可以表现为文本中的句子嵌入,或者音乐中的小节级嵌入。 在我们的例子中,我们将条件视为音乐作品的小节级嵌入,即,我们以向量形式 𝒄kdc 表示每个 ck,其中 dc 是条级嵌入的维数。 总的来说,时变条件𝒄1,𝒄2,,𝒄K提供了建模序列的蓝图或高级规划。 这对于生成长序列可能有帮助,特别是对于生成音乐,因为来自无条件自回归模型的祖先采样(仅使用分散标记的长序列进行训练)可能无法表现出朗朗上口的核心流动和曲折。一段音乐。

与方程式相关的段级条件生成场景。 (10) 虽然对于长序列建模来说似乎很直观,但在文献中还没有进行太多研究。 因此,我们的目标是设计专门解决这一任务的方法,并进行综合评估,找出最有效的方法。

3.2方法

Refer to caption
(一) 预先注意调节
Refer to caption
(b) 注意力调节
Refer to caption
(c) 后注意调节
图2 使用不同条件机制的段级条件 Transformer 解码器的架构。

在这里,我们详细阐述了所提出的三种机制:pre-attentionin-attentionpost-attention(见图2 进行原理图比较),在段级别调节 Transformer 解码器。 为了简单起见,这里假设柱级条件,即𝒄k可以预先单独获得;还介绍了它们的提取方法。 最后,我们解释了该任务所采用的数据表示和数据集。

预先注意调节。 在预注意力下,段级条件仅在所有自注意力层之前进入 Transformer 解码器一次。 段嵌入𝒄k首先通过矩阵Wpredc×de转换为隐藏条件状态𝒆k 然后,它与第一个自注意力层之前的 kth 条(即 Ik)中每个时间步的词符嵌入连接起来,即

𝒉t0=concat([𝒙t;𝒆k]),𝒙t,𝒆kde, (11)

其中 de 是词符嵌入的维度。 请注意,在此机制下,注意力模块的隐藏维度 d 隐式要求为 2de

预注意力条件在方法上类似于 BERT [26] 中分段嵌入的使用,不同之处在于 BERT 的分段嵌入直接与词符嵌入相加,而我们使用串联来加强条件的存在。

注意力调节。 所提出的注意力机制更频繁地提醒 Transformer 解码器整个自注意力层的段级条件。 它将嵌入 𝒄k 的段投影到与自注意力隐藏状态相同的空间,通过:

𝒆k=𝒄kWin;Windc×d, (12)

然后将得到的隐藏条件状态 𝒆k 与除最后一层之外的所有自注意力层的隐藏状态相加,形成后续层的输入,即

𝒉~tl=𝒉tl+𝒆k,l{0,,L1};𝒉tl+1=Transformer_self-attention_layer(𝒉~tl). (13)

我们在这里使用求和而不是串联来保持剩余连接完整。 我们预计,通过将段级条件复制粘贴到各处,它对 Transformer 的影响可以进一步放大。

后注意力调节。 与后两种机制不同,在后注意中,段嵌入根本不与自注意层交互。 相反,它们通过两个单隐藏层、参数 ReLU 激活的前馈网络之后强加在最终注意力输出(即 𝒉tL)上:调节网门控网𝒢 具体来说,段嵌入𝒄k被调节网络转换为𝒆kd 然后,由门控网络 𝒢 决定的门控机制确定 𝒆k 的“多少”应与自注意力输出 𝒉tL 混合。时间步t,即

𝒆k=(𝒄k);αt=sigmoid(𝒢(concat([𝒉tL;𝒄k])));𝒉~tL=(1αt)𝒉tL+αt𝒆k. (14)

最后,𝒉~tL进行输出投影以形成xt+1的概率分布。

该机制改编自插入转换器[46]中提出的上下文化词汇偏差 它的设计使得分段级条件可以直接偏置输出事件分布,并且模型可以自由决定在每个柱内的不同时间步长参考多少条件来寻求帮助。

实施和训练细节。

表一 已实现的 Transformer 解码器共享的模型属性。
Attr. Description Value
Ttgt target sequence length 1,024
Tmem Transformer-XL memory length 1,024
L # self-attention layers 12
nhead # self-attention heads 10
de token embedding dimension 320
d hidden state dimension 640
dff feed-forward dimension 2,048
dc condition embedding dimension 512
# params 58.7 to 62.6 mil.

我们采用 Transformer-XL [16] 作为我们所有调节机制背后的骨干序列模型。 为了证明使用方程的优越性。 (10),我们在研究中涉及两个基线,以下称为无条件记忆 前者不采用 𝒄k,从而对方程进行建模。 (7) 完全正确。 后者模型方程。 (9),其调节机制很大程度上类似于Optimus[28]中引入的内存方案,不同之处仅在于我们有多个条件而不是一个。 内存基线中,条件 {𝒄k}k=1K 分别由矩阵 Wmemdc×Ld 转化为各层 l 独有的隐藏状态 {𝒆kld}l=1L。然后,这些状态会在训练序列之前送入解码器,让词符(即 xt 的词符)关注它们。 I列出了五个已实现模型之间共享的一些共同属性。

所有这些模型都使用 Adam 优化器 [47] 和教师强制进行训练,即始终输入正确的输入,而不是从模型本身的先前时间步输出中采样的输入,以最小化负对数似然:

t=1Tlogp(xt|x<t), (15)

(NLL) 的训练序列。 由于计算资源有限,我们将每首歌曲截断为前 32 个小节。 我们在前 500 个训练步骤中将学习率从 0 线性预热到 2e4,然后使用余弦学习率衰减(600,000 步)。 可训练参数是从高斯 𝒩(0,0.012) 随机初始化的。 每个模型都在一个 NVIDIA Tesla V100 GPU(具有 32GB 内存)上训练,批量大小为 4,训练大约 20 个 epoch,大约需要 2 天。

条级嵌入的提取。 我们通过一个单独的编码器网络从序列本身中提取条件ck,这实际上是一个典型的Transformer解码器,具有12个自注意力层和8个注意力头。 编码器网络 获取与音乐小节相对应的事件标记序列,并输出表示该小节的 dc 维嵌入向量。 我们使用类似于 GPT-2 [25] 的设置和 进行自回归下一个词符预测,并对 Transformer 中间层 l 隐藏状态的所有时间步进行平均池计算,从而获得分段级条件嵌入,即

𝒄k=avgpool([𝒉1l,,𝒉Tkl]), (16)

其中 𝒉tld(=dc)l 自注意力层之后时间步 t 的隐藏状态,Tk 是条中标记的数量。 根据[48],中间层的隐藏状态是输入的最佳上下文表示,因此我们设置l=6

模型 有 3960 万个可训练参数。 我们使用与训练数据相关的所有小节(即不限于歌曲的前 32 个小节)进行训练,并使用教师强制和因果自注意力掩蔽来最小化 NLL,即,tlogp(xt|x<t),就像我们对段级条件 Transformer 所做的那样。 3是上面介绍的方法的图示。

Refer to caption
图3 提取我们的条件 Transformer 解码器使用的条级嵌入的方法的图示。

数据集和数据表示。 在我们的实验中,我们考虑对长序列的象征性音乐进行建模,每个序列最多 32 个小节。 具体来说,我们的数据来自 LPD-17-cleansed 数据集 [49],这是一个流行音乐 MIDI 数据集,包含 >20K 首歌曲,最多 17 首歌曲每首歌曲的乐器曲目(例如钢琴、弦乐和鼓)。 我们选取 10,626 首歌曲的子集,其中钢琴至少有一半的时间在演奏,并将每首歌曲截断到开头 32 个小节,从而得到一个包含 650 小时音乐的数据集。 这些歌曲的拍号均为 4/4(即每小节四拍)。 我们保留 4% 的歌曲(即 425 首歌曲)作为客观评价的验证集。

遵循 REMI [13],我们以事件标记的形式表示音乐,包括 note 相关标记,例如 Pitch-[trk]Duration-[trk]Velocity-[trk],表示特定轨道演奏的音符(即“[trk] ');以及与 metric 相关的标记,例如 BarSub-beatTempo Sub-beat 标记将小节划分为 32 个可能的音符开始位置(即开始时间),为 Transformer 处理时间进程奠定了明确的时间网格。 Bar 词符标记新小节的开始,可以轻松地将不同小节级别条件 ck 与属于不同小节的子序列关联起来(即不同的 Ik)。 II中提供了我们表示中所有类型 Token 的简要描述。

表二 用于表示 LPD-17-cleansed 数据集中歌曲的词汇表。
Event type Description # tokens
Bar beginning of a new bar 1
Sub-beat position in a bar, in 32nd note steps () 32
Tempo 32224 bpm, in steps of 3 bpm 64
Pitch* MIDI note numbers (pitch) 0127 1,757
Velocity* MIDI velocities 3127 544
Duration* multiples (164 times) of 1,042
All events 3,440
*: unique for each of the 17 tracks

3.3 评估指标

除了检查训练和验证损失之外,为了进一步评估,我们让分段级条件 Transformer 生成 32 小节长的多轨 MIDI 音乐,并从中提取小节级条件(即 {𝒄k}k=132)验证集中的歌曲。 因此,本质上,这些模型会生成现有音乐的再创作翻唱 在以下段落中,我们定义并详细阐述了评估音乐再创作的客观指标。

重建保真度的评估指标。 定义了三个小节级度量和一个序列级度量来定量评估我们模型的重新创建是否与从中提取片段级条件的原始歌曲相似。

  • 色度相似性𝑠𝑖𝑚chr通过以下方式测量两个音调条的接近程度:

    𝑠𝑖𝑚chr(𝒓a,𝒓b)=100𝒓a,𝒓b𝒓a𝒓b, (17)

    其中 , 表示点积,𝒓12 色度向量 [50] 表示每个的起始点数量小节内的 12 个音级(即 CC#、...、B),跨八度音阶和音轨进行计数,以及鼓音轨被忽略。 一对 (a,b) 中的一个小节来自原始歌曲,而另一个小节来自重新创作。

  • 凹槽相似性𝑠𝑖𝑚grv,检查两个小节之间的节奏相似性,其公式与色度相似性相同,而是在凹槽向量上测量 𝒈32 记录小节中 32 个子节拍中每个节拍出现的音符开始数量,跨曲目进行计数[51]

  • 工具相似性𝑠𝑖𝑚ins通过以下方式量化两个柱是否使用相似的工具:

    𝑠𝑖𝑚ins(𝒃a,𝒃b)=100(1117i=117XOR(bia,bib)), (18)

    其中 𝒃{0,1}17 是一个二进制向量,指示小节中是否存在音轨,即 [trk] 至少有一个 Pitch-[trk] > 发生在酒吧内。

  • 自相似矩阵距离,或𝑑𝑖𝑠𝑡SSM,通过比较自相似矩阵之间的平均绝对距离来衡量两个32条序列是否具有相似的整体结构。 t2> (SSM) 两个序列的[52],即

    100SaSb1, (19)

    其中 SN×N 是 SSM。 为此,我们首先使用合成器将每个 32 小节序列合成为音频。 然后,我们使用常数Q变换来提取声学色度向量,该向量指示音频片段中每个半拍的每个音级的相对强度,然后计算这些节拍同步特征之间的余弦相似度;因此,sij[0,1] 表示同一音乐片段中的半拍 ij 由于 4/4 签名中的每个小节都有 8 个半拍,因此我们的数据有 N=256 SSM 描述了作品中的自我重复。 与之前的指标不同,𝑑𝑖𝑠𝑡SSM 的值越接近零越好。 我们注意到上述所有指标的值,即 𝑠𝑖𝑚chr,𝑠𝑖𝑚grv𝑠𝑖𝑚ins𝑑𝑖𝑠𝑡SSM 都在 [0,100] 中。

表三: 分段级条件变形金刚在重新创作多轨音乐方面的客观评估结果( / :分数越低/越高越好)。
Model Fidelity Quality
𝑠𝑖𝑚chr 𝑠𝑖𝑚grv 𝑠𝑖𝑚ins 𝑑𝑖𝑠𝑡SSM 𝐾𝐿chr 𝐾𝐿grv 𝐾𝐿ins
random 34.6 40.5 80.4 13.5
unconditional .047 .228 .219
memory [28] 60.7 62.7 90.7 10.3 .021 .061 .006
pre-attention 94.5 92.9 93.0 7.10 .006 .009 .034
in-attention 96.3*** 95.7*** 97.0*** 5.83*** .002 .005 .021
post-attention 92.4 85.7 95.0 8.27 .016 .054 .056
***: leads all other models with p<.001

重建质量的评估指标。 值得一提的是,对生成音乐的质量进行客观评估仍然是一个悬而未决的问题[14] 尽管如此,我们在这里采用了一个最新的想法,通过使用 KL 散度[53]比较生成内容和特征空间中训练数据的分布来衡量音乐质量。

虽然我们使用 𝑠𝑖𝑚chr𝑠𝑖𝑚grv𝑠𝑖𝑚ins 来测量生成的条形图与第二节中相应的参考条形图之间的相似度。 3.3,这里我们使用它们来计算 生成的 32 条序列中条形之间的(自)相似性,或者 real 训练序列。 对于每个序列,我们都有 32(321)/2 这样的对,从而形成分布。 由于𝑠𝑖𝑚chr𝑠𝑖𝑚grv的值是连续的,我们将它们的分布离散成50个具有均匀间隔边界[0,2,,100]的箱。 KL 散度根据概率质量函数 preal,pgen5018 计算,对于以 𝑠𝑖𝑚ins 表示的分布,定义为 𝐾𝐿(preal||pgen) 我们假设这些值越接近零越好。

3.4 结果与讨论

Refer to caption
(一) # epochs vs. 训练损失
Refer to caption
(b) 训练损失与验证值 损失
图4 LPD-17-cleansed 数据集上训练段级条件 Transformer 的动态(彩色视图)。

我们首先展示模型的训练动态(见图4)。 从图3(a)可以看出,损失下降最快的模型in-attention在16个epoch后达到了0.41训练NLL,而无条件内存[28]模型仍然分别具有大约0.65和0.60的损失。 我们还考虑了验证损失。 3(b) 显示我们的模型,尤其是 pre-in-attention,优于 无条件内存在相当的NLL训练中。

III显示了使用第2节中定义的指标的客观评估结果。 3.3 分数是根据 425 个重新创作来计算的,每个重新创作都使用验证集中一首独特歌曲的小节级别条件。 为了进行比较,我们让无条件模型从头开始随机生成 400 个 32 小节的片段,并进一步包括一个随机基线,其分数是通过从训练集中抽取的 400 个随机片段对来计算的。

首先关注保真度指标,我们所有的条件模型在条形级别 𝑠𝑖𝑚chr,𝑠𝑖𝑚grv𝑠𝑖𝑚ins 上得分都很高,其中 in-attention 明显优于休息。 注意力集中也达到最低的𝑑𝑖𝑠𝑡SSM,表现出有效且严格的控制。 此外,值得注意的是,内存模型在所有指标中都位于我们的模型和随机基线之间,提供有限的调节能力。

接下来,我们将注意力转向质量指标,其中 𝐾𝐿chr𝐾𝐿grv𝐾𝐿ins 表示根据相应分布计算的 KL 散度。 条件模型明显优于无条件基线,这表明我们的条件确实有助于变形金刚建模音乐。 此外,in-attention 再次位居榜首,其次是 pre-post-attention,然后是 memory,但指标 𝐾𝐿ins 除外,其中 内存 表现最佳。

从上面的结果来看,我们推测与我们相比,内存基线的性能通常较差,这可能是由于使用等式1的优势所致。 (10) 超过等式。 (9)。 方程 (10) 通知 Transformer 解码器何时准确利用每个条件,并消除由馈送到 Transformer 的位置编码引起的偏差,即,序列中后面的标记变得更加不同于序列开头提供的条件,从而破坏了条件在注意过程中的效果。 因此,记忆仅适用于在整个序列中保持相对不变的条件,例如歌曲的乐器演奏。 在提出的三种条件方法中,我们推测后注意效果最差,因为条件不参与注意过程。 因此,模型整合来自它们的信息的机会较小。 此外,in-attention相对于pre-attention的优势是合理的,因为在in-attention中,条件被馈送到所有注意力层而不是在第一个注意力层之前只出现一次。 通过综合评估,我们有足够的证据表明,in-attention 在对分段级、时变条件下的 Transformer 解码器进行控制方面效果最好。

4 MuseMorphose:使用随时间变化的用户控件生成音乐

我们在第 3 节中开发了 in-attention 技术,该技术可以通过时变的、预定的条件向量对 Transformer 解码器的生成进行严格控制。 然而,仅凭这项技术只能让变形金刚随机创作音乐的再创作;用户没有自由地与这样的系统进行交互以影响其按照自己的意愿生成的音乐,从而限制了其实用价值。 本节旨在减轻这种限制。 我们桥接了in-attention Transformer 解码器和联合学习的 bar-wise Transformer 编码器,其任务是学习 bar 级潜在条件,并具有变分自动编码器(VAE)训练目标;并且,向解码器引入也在条级别工作的属性嵌入 [27, 20],以阻止潜在条件存储属性相关信息,并实现良好的效果- 粒度用户控制序列生成。 实验表明,我们的模型 MuseMorphose 成功地允许用户利用两种容易感知的音乐属性,节奏强度复调,同时保持流畅性和对输入参考歌曲的高保真度。 现有方法[19, 20]无法实现这种能力组合。

4.1 问题表述

为了清楚起见,我们将用户可控的条件生成任务建模为没有配对数据[27]的风格转移问题。 该问题最基本的形式涉及输入实例 X(例如句子或音乐摘录)以及 X 固有的属性 a 属性 a{1,,C} 可以是名义变量(例如,作曲家风格),也可以是具有 C 类别的序数变量(例如,音符密度)。 作为用户,我们希望有一个采用元组的模型:

(X,a~), (20)

其中a~是用户指定的属性值,可能与原始a不同,并输出样式转移实例X~ 理想的结果是生成的X~带有指定的属性值a~(即实现有效的控制),并保留除属性之外的内容(即表现出高保真度)。 能够在给定相同的a~的情况下生成X~不同版本,或者确保各代的流畅性,尽管不是这个问题的核心,也是此类模型的首选特征。 上述框架已被过去的文本[27,54,55]和音乐[19]领域的作品广泛采用。

上述问题的一个自然扩展是增强模型,使其可以一次处理多个属性,即采用以下形式的输入:

(X,a~1,a~2,,a~J), (21)

生成 X~,其中 aj, forj{1,J} 是正在考虑的 J 分类属性。 在这种情况下,用户可以自由更改单个或多个属性值。 因此,优选地,将一个属性更改为a~j不应影响未更改的属性aj [56, 20] 中也研究了这种多属性变体。

在某些场景下,输入序列X很长,可以通过以下方式分割成有意义的连续片段,例如文本中的句子或音乐中的小节:

X={X1,,XK},whereXk={xt|tIk},Ikfor1kK;k=1KIk=[1,T]andIkIk=forkk, (22)

其中TX的长度,I1,,IK构成X的一个分区(参见关于公式1的表述的段落)。 (10)在第 3.1 节中)。 对于这种情况,如果我们能够单独控制每个片段,这可能是一种特权,因为这允许用户使一个音乐部分更加激烈,而另一个更加平静,以达到戏剧性的对比。 因此,我们在这里用多个随时间变化属性制定样式转换问题。 解决这个问题的模型接受:

(X,{a~k1,a~k2,,a~kJ}k=1K), (23)

然后生成一个长的、风格转移的X~,其中ak1,ak2,,akJ专门与段Xk相关。 尽管 Transformers [8, 25] 在序列生成方面令人印象深刻,但据我们所知,之前的工作还没有解决上述问题,这是合理的,因为还没有众所周知的段级条件变形金刚的机制。 因此,考虑到我们开发的注意力集中方法,我们确实处于完成这项任务的有利地位。

4.2方法

Refer to caption
图5 MuseMorphose 的架构,一种基于 Transformer 的 VAE 模型,用于可控条件音乐生成。

接下来,我们将描述如何将in-attention Transformer 解码器与 bar-wise Transformer 编码器以及属性嵌入配对,以通过优化 VAE 目标来实现细粒度可控音乐生成。 这里考虑的音乐属性是:节奏强度(arhym)和复调(apoly;即和声丰满度),其计算方法也会详细说明。 之后,我们介绍实现细节和用于此任务的流行钢琴数据集 REMI-pop-1.7k

模型架构。 5 说明了我们的 MuseMorphose 模型,该模型由在条级别运行的 Transformer 编码器和通过 in-attention< 接受分段级别条件的 Transformer 解码器组成。 /t3> 机制,以及用于表示它们之间的音乐小节的 KL 散度正则化潜在空间。 在 MuseMorphose 中,输入音乐被划分为 X={X1,,XK},其中 Xk 包含音乐的 kth 小节。 编码器并行处理音乐小节 X1,,XK,而解码器立即查看整个乐曲 X 条级属性 akrhymakpoly 每个由 8 个序数类组成,在进入解码器的注意力层之前,首先将其转换为嵌入向量 𝒂krhym,𝒂kpolyd𝒂通过注意力不集中。 总的来说,MuseMorphose内部发生的操作可以总结如下:

𝒛k=𝐞𝐧𝐜(Xk)for1kK;𝒄k=concat([𝒛k;𝒂krhym;𝒂kpoly]);𝒚t=𝐝𝐞𝐜(x<t;𝒄k),tIkfor1kK, (24)

其中 𝒛kd𝒛kth 条的潜在条件; 𝒂krhym,𝒂kpoly 是 bar 的属性嵌入,Ik 存储 bar 的时间步索引(参见方程(22)); 𝒚txt 的预测概率分布。 请注意,尽管输入在编码器端被分成条形,但由于注意力调节和 k=1KIk=[1,T] ,解码器仍然处理整个序列。 这种不对称架构可能是有利的,因为它可以在条级别给出细粒度的条件,并且还可以促进长代的一致性。

由于我们在这里采用 VAE 框架,因此我们现在详细说明如何构建 𝒛k 的潜在空间。 首先,我们将编码器在第一个时间步的注意力输出(对应于 Bar 词符),即 𝒉k,1L𝐞𝐧𝐜 视为条的上下文表示。888自从 L𝐞𝐧𝐜 个注意力层之后,𝒉k,1L𝐞𝐧𝐜 应该已经从整个条形图收集了信息。 然后,按照传统的 VAE 设置 [9],通过两个单独的可学习权重 W𝝁,W𝝈 将其投影到平均值和标准向量:

𝝁k=𝒉k,1L𝐞𝐧𝐜W𝝁𝝈k=𝒉k,1L𝐞𝐧𝐜W𝝈, (25)

其中W𝝁,W𝝈d×d𝒛 之后,我们可以从 𝝁k𝝈k 定义的各向同性高斯中采样要馈送到解码器的潜在条件:

𝒛k𝒩(𝝁k,diag(𝝈k2)). (26)

为了简单起见,潜在条件的先验,即 p(𝒛k),被设置为标准高斯 𝒩(𝟎,Id𝒛),这通常用于 VAE。

值得一提的是,随后由 in-attention 解码器完成的 𝒛k's 复制粘贴到 Ik 中的每个注意层和每个时间步,与 Skip-VAE [42] 的设计不谋而合、解码器完全忽略 𝒛k 并退化为自回归序列建模的情况。 此外,我们的工作比 Optimus [28] 取得了显着的进步,因为我们为基于 Transformer 的 VAE 配备了建模长序列的能力(长度约为 103),在潜在向量(即 𝒛k)和用户控件(即 a~krhyma~kpoly 的细粒度变化条件下)。

训练目标。 MuseMorphose 使用具有空闲位 [43]β-VAE 目标 [39] 进行训练。 它将损失最小化,MuseMorphose,写为:

MuseMorphose=NLL+βKL,whereNLL=logp𝐝𝐞𝐜(X|𝒄1,,𝒄K);KL=1Kk=1Ki=1d𝒛max(λ,DKL(q𝐞𝐧𝐜(zk,i|Xk)p(zk,i))). (27)

第一项 NLL 是解码器在给定条件 𝒄1,,𝒄K 的情况下生成输入 X 的条件负对数似然 (NLL),999它们是潜在条件 𝒛k 和属性嵌入 𝒂krhym𝒂kpoly 的串联。 因此下文称为重建NLL 第二项 KL 是编码器估计的 𝒛𝒌 后验分布(即 q𝐞𝐧𝐜(𝒛k|Xk))与先前 p(𝒛k) β [39]λ [43] 是要调整的超参数(参见第 2.3 节) > 的定义)。 我们建议读者参阅图5,以全面了解这两个损失项对模型的作用。

之前使用自动编码器进行样式传输任务[55,20,57]的工作经常建议在潜在空间上添加对抗性损失[21],以阻止其存储与样式相关或与属性相关的信息。 然而,这种做法的一个潜在缺点是,它会给我们基于 Transformer 的网络的训练带来额外的复杂性,而网络本身就已经非常复杂了。 相反,我们证明,通过使用合适的 βλ 来控制潜在信息瓶颈的大小,可以实现输入 X 的强风格迁移和良好内容保留。在没有辅助训练损失的情况下完成。

音乐属性的计算。 为我们的任务选择的属性,节奏强度(arhym)和复调(apoly),能够很容易地被感知由没有进行过音乐强化训练的人进行。 同时,它们也是音乐情感的重要决定因素。 为了获得每个条形的序数类 arhymapoly,我们首先计算原始分数 srhymspoly

  • 节奏强度得分srhym,简单地测量至少一个音符开始的子节拍的百分比,即:

    srhym=1Bb=1B𝟏(nonset,b1), (28)

    其中 B 是小节中的子节拍数,𝟏() 是指示符函数。

  • 复调乐谱spoly有点隐含,定义为hit(开始)或的平均音符数保持在子节拍中(尚未释放),即

    spoly=1Bb=1B(nonset,b+nhold,b). (29)

    这是有道理的,因为如果同时按下更多音符,音乐会感觉和谐更饱满

从数据集中收集所有按条形排列的原始分数后,我们将它们分为 8 个箱,样本数量大致相等,从而产生 arhymapoly 的 8 个类别。 例如,在我们的实现中,arhym的类之间的截止srhym是:[.20,.25,.32,.38,.44,.50,.63],而apoly 是:[2.63,3.06,3.50,4.00,4.63,5.44,6.44]

表四 我们的 MuseMorphose 模型的主要特征。
Attr. Description Value
T target sequence length 1,280
L # self-attention layers 24
L𝐞𝐧𝐜 # encoder self-attention layers 12
L𝐝𝐞𝐜 # decoder self-attention layers 12
nhead # self-attention heads 8
de token embedding dimension 512
d hidden state dimension 512
dff feed-forward dimension 2,048
d𝒛 latent condition dimension 128
d𝒂 attribute embedding dimension (each) 64
# params 79.4 M

实施和训练细节。 IV 列出了我们的 MuseMorphose 模型的重要架构细节。 为了获得更好的训练结果,我们引入了循环KL退火 [44]空闲位 [43](两者都已在第2.3节中引入到我们的训练目标中(参见方程(27))。 经过一番试验和错误后,我们设置了 βmax=1,并退火 β,即 KL 项上的权重,以 5,000 个训练步骤为周期。 𝒛k 中每个维度的空闲位设置为 λ=0.25 此设置在下文中称为首选设置,因为它们在内容保留(即保真度)和多样性之间取得了良好的平衡。101010请注意,这是通过我们的耳朵判断的。 我们还使用纯 AE 目标(即 β=0,常量)和 VAE 目标(即 β=1 ,常量;λ=0),以检查模型在两个极端情况下的行为。 然而,在所有三个设置中,我们不会在前 10,000 个步骤中添加 KL,以使解码器更容易在开始时利用潜在空间。

此外,我们在训练期间设置了 K=16,这意味着我们向模型提供每个时期每个音乐作品的 16 小节摘录的随机裁剪,截断为最大长度 T=1,280 这样做主要是为了节省内存并加快训练速度。 在推理过程中,模型仍然可以通过滑动窗口机制生成任意长度的音乐。 还采用了球场上的数据增强。 每个样本的调在每个时期的±6半音符范围内随机转置。

这些模型使用 Adam 优化器 [47] 和教师强制进行训练。 我们使用线性预热将前 200 步中的学习率从 0 提高到 1e4,然后进行 200,000 步余弦衰减到 5e6 模型参数从高斯𝒩(0,0.012)初始化。 使用批量大小 4,我们可以将 MuseMorphose 放入具有 32GB 内存的单个 NVIDIA Tesla V100 GPU 中。 对于所有三种损失变体(首选设置AE 目标VAE 目标),训练在不到 2 天的时间内收敛。 在推理时,我们使用 softmax 温度 τ=1.2 并截断分布,执行核采样 [58],从每个时间步的输出分布中进行采样累积概率p=0.9

由于训练目标和应用的相似性,我们实现了 MIDI-VAE [19]Attr-Aware VAE [20] 作为基线。111111这里不包括 Optimus 模型,因为它最初并未用于风格迁移,并且其调节机制已在 Sec 中进行了评估。 3 然而,他们基于 RNN 的解码器仅对音乐的单个小节(即 Xk)进行操作。 因此,在推理过程中,每个条都是独立生成的,然后连接起来形成完整的条。 我们认为这是可以接受的,因为条级潜在条件 𝒛k 应该存储足够的信息来将片段链接在一起。 我们严格遵循他们的规范,根据需要添加所有辅助损失,并通过扩大 RNN 隐藏状态来增加可训练参数的数量,以便与 MuseMorphose 进行公平比较。 我们实现的 MIDI-VAEAttr-Aware VAE 中的参数数量分别为 5820 万和 6000 万。 为了公平比较,在我们的实现中,两个基线模型都是在 MuseMorphose 的首选设置下进行训练的,并且还使用了教师强制。

表V 用于表示 REMI-pop-1.7K 数据集中歌曲的词汇表。
Event type Description # tokens
Bar beginning of a new bar 1
Sub-beat position in a bar, in 16th note steps () 16
Tempo 32224 bpm, in steps of 3 or 6 bpm 54
Pitch MIDI note numbers (pitch) 22107 86
Velocity MIDI velocities 4086 24
Duration multiples (116 times) of 16
Chord chord markings (root & quality) 133
All events 330

数据集和数据表示。 对于此任务,我们考虑生成富有表现力的流行钢琴演奏。 使用的流行钢琴 MIDI 数据集是 REMI-pop-1.7K,该数据集于 [24] 中发布。 根据[24],数据集中的钢琴演奏最初是从互联网上以MP3(音频)格式收集的。 他们进一步采用了Onsets and Frames钢琴转录[59]madmom节拍跟踪工具[60]chorder 基于规则的和弦检测121212https://github.com/joshuachang2311/chorder 将音频转录为带有速度、节拍和和弦信息的 MIDI 格式。 REMI-pop-1.7K 总共包含 1,747 首歌曲,即 108 小时的音乐。 我们为验证集和测试集各保留 5% 的数据(即 87 首歌曲)。 我们利用验证集来监控训练过程,并利用测试集来生成风格转移的音乐以进行进一步评估。

这里采用的数据表示法与 REMI [13] 和第 2 节中使用的数据表示法基本相同。 3. 差异包括:(1)使用一组扩展的Chord标记来标记每个节拍的和声设置; (2) 仅存在一首钢琴曲目; (3) 每个小节包含 16 个子节拍,而不是 32 个。 V 提供了用于表示 REMI-pop-1.7K 中流行钢琴歌曲的事件标记的描述。

表六: REMI-pop-17K 数据集上训练的模型的训练和验证损失。 最佳检查点被选择为具有最低验证重建 NLL 的检查点。
Model Best ckpt. at step Recons. NLL KL divergence
Train Val. Train Val.
MIDI-VAE [19] 65K 0.676 0.894 0.697 0.682
Attr-Aware VAE [20] 190K 0.470 0.688 0.710 0.697
MuseMorphose (Ours), AE objective 90K 0.130 0.139 6.927 6.928
MuseMorphose (Ours), VAE objective 75K 0.697 0.765 0.485 0.484
MuseMorphose (Ours), preferred settings 140K 0.457 0.584 0.636 0.636
bold: leads the baselines under the same latent space constraints
表七: 各种模型对流行钢琴演奏风格迁移的评估结果( / :分数越低/越高越好)。
Model Fidelity Control Fluency Diversity
𝑠𝑖𝑚chr 𝑠𝑖𝑚grv ρrhym ρpoly PPL 𝑠𝑖𝑚chr 𝑠𝑖𝑚grv
MIDI-VAE [19] 75.6 85.4 .719 .261 8.84 74.8 86.5
Attr-Aware VAE [20] 85.0 76.8 .997 .781 10.7 86.5 84.7
Ours, AE objective 98.5 95.7 .181 .154 6.10 97.9 95.4
Ours, VAE objective 78.6 80.7 .931 .884 7.89 73.2 84.9
Ours, preferred settings 91.2 84.5 .950 .885 7.39 87.1 87.6
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(一) 关于控制节奏强度(x轴:用户指定a~rhym;y轴:srhym(左)、spoly(右)根据生成的结果计算得出;误差带表示 ±1 标准(与平均值相比)。
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(b) 关于控制复调(x轴:用户指定的a~poly;y轴:srhym(左)、spoly(右)根据生成的结果计算得出;误差带表示 ±1 与平均值的标准差)。
图6 属性可控性模型的比较。 我们希望具有高相关性 ρa 和低相关性 |ρa|a|,其中 a 是相关属性,而 a 不是。

4.3 评估指标

为了评估经过训练的模型,我们要求它们根据 32 小节长的摘录(即 X's)生成风格转移的音乐作品(即 X~'s),从测试集中抽取。 遵循文本样式传输任务 [55, 57] 中的约定,生成的 X~ 根据以下条件进行评估:(1) 它们的保真度 w.r.t。 输入X; (2) 给定指定属性a~krhyma~kpoly时属性控制的强度; (3) 他们的流利程度 此外,我们还包括 (4) 多样性 标准,该标准是在相同输入 Xa~krhyma~kpoly

因此,实验在以下两种设置下进行:

  • 设置#1: 我们从测试集中随机抽取 20 个摘录,每个摘录长 32 个条,并随机分配给它们 5 组 不同属性输入,即 {a~krhym,a~kpoly}k=132,以便生成模型X~ 这将产生 205=100 样本,我们可以在其上计算保真度控制流畅性指标。

  • 设置#2: 我们按照设置 #1 绘制 20 个摘录;然而,在这里,我们为它们分别分配仅 1 组属性输入,并让模型组成5个不同版本X~,并且具有完全相同的属性输入。 通过这样做,我们将获得20(52)=200对世代,我们可以在其上计算多样性的指标。

关于指标,对于保真度多样性,我们直接采用逐条色度相似度和凹槽相似度(即𝑠𝑖𝑚chr𝑠𝑖𝑚grv) 在第 2 节中定义。 3.3 我们希望它们在保真度的情况下较高,但在多样性的情况下较低。 另一方面,控制流畅的指标在以下段落中定义。

属性控制的评估指标。 由于我们的属性本质上是有序的,因此在 [20] 之后,我们可以直接计算指定输入属性类 a 之间的 Spearman 等级相关性 ρ以及根据生成的结果计算出的属性原始分数s(请参阅第4.2节,音乐属性的计算中的定义),以查看它们是否 t6>和正相关 以节奏强度为例,我们定义:

ρrhym=Spearman_corr(a~rhym,srhym), (30)

其中 a~rhym 是用户指定的输入,srhym 是根据给定 a~rhym 的模型生成计算得出的; ρpoly的定义类似。

此外,在多属性场景中,我们希望在调整一个属性而不是其他属性时避免副作用 更具体地说,模型应该能够传输属性a而不影响其他属性a 为了评估这一点,我们定义另一组相关性 ρpoly|rhymρrhym|poly,如下所示:

ρpoly|rhym=Spearman_corr(a~rhym,spoly), (31)

ρrhym|poly 也类似。 我们希望这些相关性接近于零(即 |ρa|a| 尽可能小),这表明对每个属性进行更独立的控制。

流畅性的评估指标。 与文本风格迁移研究[57, 55]一致,我们通过检查代际的困惑度(PPL)来评估代际的流畅性,即熵的指数,它衡量代际间的不确定性程度。他们这一代人。 平均而言,PPL 值表示我们统一选择产生序列中每个词符的可能性的数量。 因此,低 PPL 意味着这样的序列很可能在语言中出现。 在我们的例子中,语言是流行钢琴音乐。 然而,不可能知道一种语言的真正困惑度,因此我们最好的努力是训练一个语言模型(LM)来检查该 LM 生成序列的困惑度。 事实证明,估计的困惑度是真实困惑度 [61] 的上限,因此可以被视为有效的度量。

为此,我们在 REMI-pop-1.7k 训练集上训练一个独立的 24 层 Transformer 解码器 LM,并计算每代(32 条长)的 PPL X~ 与:

PPLX~=exp(t=1TlogpLM(x~t|x~<t)), (32)

其中TX~的长度,pLM()是独立LM给出的概率。 请注意,PPL 是我们评估中使用的唯一件级指标。 所有其他指标均在条级别进行测量。

4.4 结果与讨论

我们首先检查模型的损失,如表VI所示。 比较 MuseMorphose(首选设置)和基于 RNN 的基线,它们都是在相同的潜在空间 KL 约束(即 β 上的空闲位和循环调度)下训练的,MuseMorphose同时获得较低的验证重建 NLL 和 KL 散度。 这可能是因为它具有查看整个序列的优势,这是 RNN 所不具备的特征;并且,当与我们的注意力集中条件配合使用时,Transformer 解码器可以更有效地利用来自潜在空间的信息。 接下来,将注意力转向 MuseMorphose 的三种设置,我们可以清楚地观察到潜在空间约束量与重建性能之间的反比关系。 当潜在空间完全空闲时(即AE目标变体),NLL可以轻松降低到非常低的水平。 然而,即使使用严格的 VAE 目标,MuseMorphose 仍然可以达到基线附近的 NLL。

VII显示了我们的风格迁移任务的评估结果。 在保真度方面,我们的模型基本上超过了首选设置下的基线,但𝑠𝑖𝑚grv除外,它的得分略低于MIDI-VAE 此外,我们的 AE 目标 变体几乎完美地贴合输入,而 VAE 目标𝑠𝑖𝑚chr 则低得多。 从感知上来说,我们发现在 𝑠𝑖𝑚chr<80 级别中,一代人常常不再感觉与输入是同一块。 属性控制是AE目标毫无疑问失败的方面;同时,首选设置VAE目标下的MuseMorphose与ρrhym.95ρpoly.90表现出同样强大的属性控制。 这表明,在没有风格控制目标损失的情况下,拥有足够窄的潜在空间瓶颈是成功风格控制的关键。 与基线相比,我们的模型是唯一能够严格控制这两个属性的模型,尽管有更接近的竞争对手 Attr-Aware VAE,实现了非常高的ρrhym 我们推测节奏强度是模型更容易捕获的属性,因为它只涉及计算小节中出现的 Sub-beat 的数量。 在流畅性方面,MuseMorphose 在所有设置下都显着(p<.001,有 100 个样本)优于基线。 就多样性而言,尽管我们的模型似乎没有超过基线的优势,但我们注意到多样性和保真度之间存在固有的权衡。 尽管如此,如果我们将我们的首选设置与更接近的竞争对手 Attr-Aware VAE 进行比较,我们可以注意到 MuseMorphose 在保真度方面优于 Attr-Aware VAE 的优势 (6.2对于𝑠𝑖𝑚chr;7.7对于𝑠𝑖𝑚grv)比它在多样性上损失的那些(0.6对于𝑠𝑖𝑚chr;2.9 代表 𝑠𝑖𝑚grv)。

值得一提的是,通过从 VAE 编码器强制放大/缩小标准向量(即 𝝈k's),或者调整从解码器输出采样期间使用的超参数,例如温度或概率分布的截断点。 然而,它们各自的影响超出了本研究的范围,有待进一步研究。

使用图6可以更彻底地分析模型的属性可控性。 首先关注节奏强度(图5(a)),尽管基于RNN的方法对此属性具有令人满意的控制,但得到的复调分数或多或少是不理想的受影响(|ρpoly|rhym|.15.25) 这是合理的,因为 |ρpoly|rhym||ρrhym|poly| 类似,在 REMI-pop-1.7K 的训练集上计算的结果约为 .3 ,这意味着这两种音乐属性本质上是适度相关的。 另一方面,MuseMorphose(VAE首选设置)能够维持 |ρpoly|rhym|.05,这揭示了我们的模型在独立属性控制方面的另一个优势。 然而,我们也可能注意到 MuseMorphose 在区分类 01 方面并不是那么出色。 我们怀疑这是由于 0 类数据的训练强度得分具有较高的多样性。 接下来是更具挑战性的属性复调音乐(图5(b)),显然只有 MuseMorphose 能够牢牢掌握它,而再次保持良好的独立性。

总而言之,我们的 MuseMorphose 模型以 Transformers 和注意力调节机制为基础,其性能优于基线,并且满足我们可控音乐生成任务中的所有要求,特别是,它实现了高保真度、强而有力的性能。独立的属性控制、良好的序列级流畅性以及可接受的多样性,全部同时实现。 尽管如此,我们也强调,使用 VAE 训练技术的组合,即循环 KL 退火和空闲位,并为超参数 βλ 选择合适的值,对于MuseMorphose 的成功。

5 结论和未来方向

在本文中,我们开发了MuseMorphose,一种以 Transformer 为骨干的序列变分自动编码器,它在流行钢琴演奏的可控条件生成方面表现出色。 为了实现这一目标,我们从为生成 Transformer 定义一个新颖的段级条件问题开始,并设计了三种机制,即预注意注意中后注意调节,接近它。 进行的客观和主观评估表明,在提供时变条件向量的严格控制方面,注意力不集中表现得最好。 随后,我们利用注意力机制将 Transformer 编码器和 Transformer 解码器结合在一起,形成了 MuseMorphose 模型的基础。 实验表明,当使用精心调整的 VAE 目标进行训练时,MuseMorphose 在长输入的音乐风格迁移任务中成为了可靠的全能选手,其中我们考虑控制两个音乐属性,即节奏强度复调,在小节级别。 我们的模型在普遍接受的风格迁移评估指标上优于之前的两种方法[19, 20],而无需使用任何为风格控制量身定制的辅助目标。

我们的研究可以延伸到以下几个方向:

  • 自然语言处理 (NLP) 中的应用: MuseMorphose 的框架很容易推广到文本,例如,将句子视为段(即Xk)并将文章视为完整序列(即 X)。 至于属性,可能的选项包括情感[27, 57]文本难度[62] 例如,成功控制后者具有很高的实用价值,因为它将使我们能够重写文章或文学作品,以满足各个教育阶段学生的需求。

  • 具有长程结构的音乐生成: 受到高分辨率图像生成的两个令人惊叹的作品 [63, 64] 的启发,其中 Transformers 用于生成图像的高级潜在语义(即 𝒛k's,潜在条件的序列),我们推测长范围的音乐结构,例如动机的发展、主题的重现、对比部分等,可以以类似的方式更好地生成。 为此,我们可能需要学习一个向量量化潜在空间[65],以便潜在条件可以用词符形式表示另一个要建模的 Transformer。

总而言之,我们的工作不仅将 Transformer 和 VAE 连接起来用于可控序列建模(存在进一步应用的潜力),而且还为以前从未探索过的长序列生成途径奠定了坚实的基础。

参考

  • [1] L. A. Hiller and L. M. Isaacson, Experimental Music; Composition with an Electronic Computer, 1959.
  • [2] G. Hadjeres, F. Pachet, and F. Nielsen, “DeepBach: a steerable model for Bach chorales generation,” in Proc. ICML, 2017.
  • [3] H.-W. Dong, W.-Y. Hsiao, L.-C. Yang, and Y.-H. Yang, “MuseGAN: Multi-track sequential generative adversarial networks for symbolic music generation and accompaniment,” in Proc. AAAI, 2018.
  • [4] S. Ji, J. Luo, and X. Yang, “A comprehensive survey on deep music generation: Multi-level representations, algorithms, evaluations, and future directions,” arXiv preprint arXiv:2011.06801, 2020.
  • [5] C. A. Huang, A. Vaswani, J. Uszkoreit, I. Simon, C. Hawthorne, N. Shazeer, A. M. Dai, M. D. Hoffman, M. Dinculescu, and D. Eck, “Music Transformer: Generating music with long-term structure,” in Proc. ICLR, 2019.
  • [6] C. Donahue, H. H. Mao, Y. E. Li, G. W. Cottrell, and J. McAuley, “LakhNES: Improving multi-instrumental music generation with cross-domain pre-training,” in Proc. ISMIR, 2019.
  • [7] A. Roberts, J. Engel, C. Raffel, C. Hawthorne, and D. Eck, “A hierarchical latent vector model for learning long-term structure in music,” in Proc. ICML, 2018.
  • [8] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin, “Attention is all you need,” in Proc. NeurIPS, 2017.
  • [9] D. P. Kingma and M. Welling, “Auto-encoding variational bayes,” in Proc. ICLR, 2014.
  • [10] S. Hochreiter and J. Schmidhuber, “Long short-term memory,” Neural Computation, vol. 9, no. 8, pp. 1735–1780, 1997.
  • [11] K. Cho, B. van Merriënboer, D. Bahdanau, and Y. Bengio, “On the properties of neural machine translation: Encoder–decoder approaches,” in Proc. Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation, 2014.
  • [12] C. M. Payne, “MuseNet,” OpenAI Blog, 2019.
  • [13] Y.-S. Huang and Y.-H. Yang, “Pop Music Transformer: Generating music with rhythm and harmony,” in Proc. ACM Multimedia, 2020.
  • [14] S.-L. Wu and Y.-H. Yang, “The Jazz Transformer on the front line: Exploring the shortcomings of AI-composed music through quantitative measures,” in Proc. ISMIR, 2020.
  • [15] Y.-H. Chen, Y.-H. Huang, W.-Y. Hsiao, and Y.-H. Yang, “Automatic composition of guitar tabs by Transformers and groove modeling,” in Proc. ISMIR, 2020.
  • [16] Z. Dai, Z. Yang, Y. Yang, J. G. Carbonell, Q. Le, and R. Salakhutdinov, “Transformer-XL: Attentive language models beyond a fixed-length context,” in Proc. ACL, 2019.
  • [17] H. H. Tan and D. Herremans, “Music FaderNets: Controllable music generation based on high-level features via low-level feature modelling,” in Proc. ISMIR, 2020.
  • [18] G. Hadjeres, F. Nielsen, and F. Pachet, “GLSR-VAE: Geodesic latent space regularization for variational autoencoder architectures,” in Proc. IEEE Symposium Series on Computational Intelligence, 2017.
  • [19] G. Brunner, A. Konrad, Y. Wang, and R. Wattenhofer, “MIDI-VAE: Modeling dynamics and instrumentation of music with applications to style transfer,” in Proc. ISMIR, 2018.
  • [20] L. Kawai, P. Esling, and T. Harada, “Attributes-aware deep music transformation,” in Proc. ISMIR, 2020.
  • [21] I. J. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio, “Generative adversarial networks,” in Proc. NeurIPS, 2014.
  • [22] K. Choi, C. Hawthorne, I. Simon, M. Dinculescu, and J. Engel, “Encoding musical style with Transformer autoencoders,” in Proc. ICML, 2020.
  • [23] Y. Ren, J. He, X. Tan, T. Qin, Z. Zhao, and T.-Y. Liu, “PopMAG: Pop music accompaniment generation,” in Proc. ACM Multimedia, 2020.
  • [24] W.-Y. Hsiao, J.-Y. Liu, Y.-C. Yeh, and Y.-H. Yang, “Compound Word Transformer: Learning to compose full-song music over dynamic directed hypergraphs,” in Proc. AAAI, 2021.
  • [25] A. Radford, J. Wu, R. Child, D. Luan, D. Amodei, and I. Sutskever, “Language models are unsupervised multitask learners,” OpenAI Blog, 2019.
  • [26] J. Devlin, M.-W. Chang, K. Lee, and K. N. Toutanova, “BERT: Pre-training of deep bidirectional Transformers for language understanding,” in Proc. NAACL-HLT, 2018.
  • [27] Z. Fu, X. Tan, N. Peng, D. Zhao, and R. Yan, “Style transfer in text: Exploration and evaluation,” in Proc. AAAI, 2018.
  • [28] C. Li, X. Gao, Y. Li, B. Peng, X. Li, Y. Zhang, and J. Gao, “Optimus: Organizing sentences via pre-trained modeling of a latent space,” in Proc. EMNLP, 2020.
  • [29] T. Wang and X. Wan, “T-CVAE: Transformer-based conditioned variational autoencoder for story completion.” in Proc. IJCAI, 2019.
  • [30] S. Oore, I. Simon, S. Dieleman, D. Eck, and K. Simonyan, “This time with feeling: Learning expressive musical performance,” arXiv preprint arXiv:1808.03715, 2018.
  • [31] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” in Proc. CVPR, 2016.
  • [32] J. L. Ba, J. R. Kiros, and G. E. Hinton, “Layer normalization,” arXiv preprint arXiv:1607.06450, 2016.
  • [33] P. Shaw, J. Uszkoreit, and A. Vaswani, “Self-attention with relative position representations,” in Proc. NAACL, 2018.
  • [34] G. Ke, D. He, and T.-Y. Liu, “Rethinking the positional encoding in language pre-training,” in Proc. ICLR, 2021.
  • [35] B. Wang, L. Shang, C. Lioma, X. Jiang, H. Yang, Q. Liu, and J. G. Simonsen, “On position embeddings in bert,” in Proc. ICLR, 2021.
  • [36] A. Liutkus, O. Cífka, S.-L. Wu, U. Şimşekli, Y.-H. Yang, and G. Richard, “Relative positional encoding for Transformers with linear complexity,” in Proc. ICML, 2021.
  • [37] A. Katharopoulos, A. Vyas, N. Pappas, and F. Fleuret, “Transformers are RNNs: Fast autoregressive Transformers with linear attention,” in Proc. ICML, 2020.
  • [38] K. Choromanski, V. Likhosherstov, D. Dohan, X. Song, A. Gane, T. Sarlos, P. Hawkins, J. Davis, A. Mohiuddin, L. Kaiser et al., “Rethinking attention with performers,” in Proc. ICLR, 2021.
  • [39] I. Higgins, L. Matthey, A. Pal, C. Burgess, X. Glorot, M. Botvinick, S. Mohamed, and A. Lerchner, “beta-VAE: Learning basic visual concepts with a constrained variational framework,” in Proc. ICLR, 2017.
  • [40] C. K. Sønderby, T. Raiko, L. Maaløe, S. K. Sønderby, and O. Winther, “Ladder variational autoencoders,” in Proc. NeurIPS, 2016.
  • [41] S. Bowman, L. Vilnis, O. Vinyals, A. Dai, R. Jozefowicz, and S. Bengio, “Generating sentences from a continuous space,” in Proc. SIGNLL, 2016.
  • [42] A. B. Dieng, Y. Kim, A. M. Rush, and D. M. Blei, “Avoiding latent variable collapse with generative skip models,” in Proc. AISTATS, 2019.
  • [43] D. P. Kingma, T. Salimans, R. Jozefowicz, X. Chen, I. Sutskever, and M. Welling, “Improving variational inference with inverse autoregressive flow,” arXiv preprint arXiv:1606.04934, 2016.
  • [44] H. Fu, C. Li, X. Liu, J. Gao, A. Celikyilmaz, and L. Carin, “Cyclical annealing schedule: A simple approach to mitigating KL vanishing,” in Proc. NAACL-HLT, 2019.
  • [45] N. S. Keskar, B. McCann, L. R. Varshney, C. Xiong, and R. Socher, “CTRL: A conditional Transformer language model for controllable generation,” arXiv preprint arXiv:1909.05858, 2019.
  • [46] M. Stern, W. Chan, J. Kiros, and J. Uszkoreit, “Insertion Transformer: Flexible sequence generation via insertion operations,” in Proc. ICML, 2019.
  • [47] D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization,” arXiv preprint arXiv:1412.6980, 2014.
  • [48] M. Chen, A. Radford, J. Wu, H. Jun, P. Dhariwal, D. Luan, and I. Sutskever, “Generative pretraining from pixels,” in Proc. ICML, 2020.
  • [49] H.-W. Dong and Y.-H. Yang, “Convolutional generative adversarial networks with binary neurons for polyphonic music generation,” in Proc. ISMIR, 2018.
  • [50] T. Fujishima, “Realtime chord recognition of musical sound: A system using common Lisp,” in Proc. International Computer Music Conf. (ICMC), 1999.
  • [51] S. Dixon, F. Gouyon, and G. Widmer, “Towards characterisation of music via rhythmic patterns,” in Proc. ISMIR, 2004.
  • [52] J. Foote, “Visualizing music and audio using self-similarity,” in Proc. ACM Multimedia, 1999.
  • [53] L.-C. Yang and A. Lerch, “On the evaluation of generative models in music,” Neural Computing and Applications, vol. 32, no. 9, pp. 4773–4784, 2020.
  • [54] Z. Yang, Z. Hu, C. Dyer, E. P. Xing, and T. Berg-Kirkpatrick, “Unsupervised text style transfer using language models as discriminators,” in Proc. NeurIPS, 2018.
  • [55] V. John, L. Mou, H. Bahuleyan, and O. Vechtomova, “Disentangled representation learning for non-parallel text style transfer,” in Proc. ACL, 2019.
  • [56] G. Lample, S. Subramanian, E. Smith, L. Denoyer, M. Ranzato, and Y.-L. Boureau, “Multiple-attribute text rewriting,” in Proc. ICLR, 2019.
  • [57] N. Dai, J. Liang, X. Qiu, and X.-J. Huang, “Style Transformer: Unpaired text style transfer without disentangled latent representation,” in Proc. ACL, 2019.
  • [58] A. Holtzman, J. Buys, L. Du, M. Forbes, and Y. Choi, “The curious case of neural text degeneration,” in Proc. ICLR, 2019.
  • [59] C. Hawthorne, E. Elsen, J. Song, A. Roberts, I. Simon, C. Raffel, J. Engel, S. Oore, and D. Eck, “Onsets and Frames: Dual-objective piano transcription,” in Proc. ISMIR, 2018.
  • [60] S. Böck, F. Korzeniowski, J. Schlüter, F. Krebs, and G. Widmer, “Madmom: A new Python audio and music signal processing library,” in Proc. ACM Multimedia, 2016.
  • [61] P. F. Brown, S. A. Della Pietra, V. J. Della Pietra, J. C. Lai, and R. L. Mercer, “An estimate of an upper bound for the entropy of english,” Computational Linguistics, vol. 18, no. 1, pp. 31–40, 1992.
  • [62] S. Surya, A. Mishra, A. Laha, P. Jain, and K. Sankaranarayanan, “Unsupervised neural text simplification,” in Proc. ACL, 2019.
  • [63] A. Ramesh, M. Pavlov, G. Goh, S. Gray, C. Voss, A. Radford, M. Chen, and I. Sutskever, “Zero-shot text-to-image generation,” arXiv preprint arXiv:2102.12092, 2021.
  • [64] P. Esser, R. Rombach, and B. Ommer, “Taming Transformers for high-resolution image synthesis,” in Proc. CVPR, 2021.
  • [65] A. van den Oord, O. Vinyals, and K. Kavukcuoglu, “Neural discrete representation learning,” in Proc. NeurIPS, 2017.