KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖

上周日,第24届 ACM SIGKDD CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING(知识发现和数据挖掘会议,以下简称 KDD)在伦敦正式召开。KDD 是数据挖掘领域的顶级学术会议,全球的华人学者在这一研究领域有着举足轻重的角色,近几年国内也在不断孕育出实力强劲的研究团队。


据统计,今年 KDD 接收论文近 300 篇,而华人与中国作者的论文占比达 近 64.5%。在 KDD 2018 大会上揭晓的奖项中,由中国科学技术大学、苏州大学与微软小冰团队合作的论文《XiaoIce Band: A Melody and Arrangement Generation Framework for Pop Music》(《小冰乐队:流行音乐的旋律与编曲框架》 )获得了 Research Track 最佳学生论文。接下来 AI科技大本营给大家分享这篇论文重点内容的解读。


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第1张图片



小冰乐队:流行音乐的旋律与编曲生成框架



640?wx_fmt=png


摘要


随着音乐创作知识的发展和近期需求的增加,越来越多的公司和研究机构开始研究音乐的自动生成。然而,以前的模型在应用于歌曲生成时具有局限性,因为它需要旋律和编曲。此外,许多与歌曲质量相关的关键因素,如和弦进行和节奏型,都没有得到很好的解决。特别是,如何确保多轨音乐和谐的问题仍未得到充分探索。为此,这篇论文聚焦在流行音乐生成,其中考虑了和弦和节奏对旋律生成的影响以及音乐编曲的和谐。提出了一个端到端的旋律和编曲生成框架,称为小冰乐队,它生成一个旋律轨道,再生成不同的乐器来进行伴奏。具体来说,通过设计了一个基于和弦的节奏和旋律交叉生成模型(CRMCG)来产生带有和弦进行的旋律。然后,提出了一种多乐器联合编曲模型(MICA),它使用多任务学习来进行多轨音乐编曲。最后,通过对现实世界的数据集进行了大量实验, 结果证明了小冰乐队的有效性。


贡献


本文的贡献总结如下:


  • 提出了一种端到端的多轨音乐生成系统,包括旋律和编曲。

  • 基于音乐知识,提出用和弦进行来指导旋律和通过节奏型来学习歌曲的结构。然后,使用节奏和旋律交叉生成方法进行音乐生成。

  • 在解码器层的每一步使用其他任务状态开发多任务联合生成网 络,这提高了生成质量并确保了多轨音乐的和谐。

  • 通过提供的大量实验,我们的系统与其他模型表现更好的性能,人工评估也得到一致的结论。


工作方法


小冰乐队的相关工作可以分为两类,即音乐生成和多任务学习。


最近,深度神经网络已经通过端到端方法被应用于音乐生成,解决一些问题。虽然已经对音乐创作进行了广泛的研究,但还没有工作针对流行音乐的特性来进行研究。对于流行音乐的产生,以前的作品不考虑和弦进行和节奏型。而且,和弦进行通常引导旋律生成,节奏型决定该歌曲是否适合于歌唱。此外,流行音乐也应保留乐器特性。最后,和谐在多轨音乐中起着重要作用,但在之前的研究中并未得到很好的解决。


将小冰乐队与几个相关模型进行比较,结果显示在下表中。



KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第2张图片


而多任务学习多任务学习通常用于共享特征的相关任务,因为从一个任务中学习的特征可能对其他任务有用。在以前的工作中,多任务学习已成功应用于机器学习的所有应用,从自然语言处理到计算机视觉。


接下来重点为大家介绍小冰乐队的模型与方法。首先形式化定义音乐生成问题,然后介绍基于和弦的节奏和旋律交叉生成模型(CRMCG)的单轨音乐的结构和技术细节,以及用于多轨音乐的多乐器联合编曲模型(MICA)。


问题定义:由于每个流行音乐都有特定的和弦进行,我们考虑在给定和弦进行条件下生成流行音乐的场景。因此,音乐生成任务的输入是给定的和弦进行640?wx_fmt=png注意,Ci 是和弦的向量表示,lc 是序列的长度。我们的目标是生成合适的节奏640?wx_fmt=png和旋律640?wx_fmt=png 。为此,我们提出 CRMCG 用于单轨音乐,以及 MICA 用于多轨音乐来解决 这个问题。


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第3张图片


图 4 显示了小冰乐队的整体框架,它可以分为四个部分:

1)数据处理部分;

2)用于旋律生成的CRMCG部分(单轨);

3)用于编曲生成的MICA 部分(多轨道);

4)显示部分。


基于和弦的节奏和旋律交叉生成模型——CRMCG


旋律由一系列音符和相应的持续时间组成。这是流行音乐的基本组成部分。然而,生成和谐的旋律仍然具有挑战性。此外,音符级别生成方法使得暂停具有更多随机性,使音乐很难唱出来。因此,我们提出 CRMCG来解决问题并生成合适的歌唱节奏。图 5 给出了 CRMCG 架构。


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第4张图片


给定和弦进行640?wx_fmt=png,我们的目标是生成相应乐段640?wx_fmt=png。在乐段 pi 中生成的节奏 Ri 和旋律 Mi 与和弦 ci 密切相关。我们利用编码器-解码器框架作为我们的基本框架,因为它可以灵活地使用不同的神经网络,例如循环神经网络(RNN)和卷积神经网络(CNN)来有效地处理序列。


为了更好地理解和弦进行并模拟这些和弦的相互作用和关系,我们利用门控递归单元(GRU)来处理和弦的低维表示。它们可以表述如下:


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第5张图片


这里,Ec 是和弦的嵌入矩阵,隐藏状态对每个和弦和序列上下文进行编码。然后我们可以使用这些隐藏的状态来帮助生成节奏和旋律。


具体来说,我们的生成处理可以分为两部分:节奏生成(生成的节奏与现有的音乐部分相协调至关重要,因此,在这部分中,我们考虑了音乐的前一部分)和旋律生成(在生成当前节奏之后,我们可以利用该信息来生成旋律)。


由于生成过程可以分为两部分,我们为每个部分设计两个损失函数。损失函数都是交叉熵函数。根据模型的特点,我们可以通过参数相关性来交替更新参数。


多任务编曲模型


1)多乐器联合编曲模型。在实际应用中,音乐包含多个音轨,例如鼓,贝斯,弦乐和吉他。为此,我们制定了一对多序列生成(OMSG)任务。与传统的多序列学习不同,OSMG 中生成的序列密切相关。当生成其中 一个序列时,我们应该考虑其与其他序列的和谐,节奏匹配和乐器特性。我们的目标是在音乐生成过程中模拟不同轨道之间的信息流,因而设计提出基于 CRMCG 的多乐器联合编曲模型(MICA)。



KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第6张图片


给定旋律,我们着重生成更多的音轨来给旋律进行伴奏。如图 6(a)所示, 解码器的隐藏状态包含序列信息。因此,当为其中一个轨道生成音符时,它自然地引入了其他轨道的隐藏状态,但是如何有效地集成它们仍然是一个挑战。


为此,我们在解码器的隐藏层之间设计了两个单元:注意力单元和 MLP单元 (多层感知机单元)来解决这 个问题。


  • 注意力单元:受注意力机制的启发,可以帮助模型关注输入的最相关部分,我们设计了 一个创意性的注意力单元;


  • MLP单元:我们考虑每个乐器的个体隐藏状态,并通过它们对整个音乐的重 要性进行整合,这是由门单元实现的。因此,模型可以选择每个仪 器信息中最相关的部分来提高整性能。


2)损失函数:优化了若干条件概率项的总和,这些条件概率项以来自同一编码器的表示为条件。


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第7张图片


这里 640?wx_fmt=pngm 是任务数。θsrc 是源编码器的参数集合,640?wx_fmt=jpeg是第 Tk 个目标轨道的参数集。Np 是第 p 个序列对的平行训练语料库的大小。


3)生成:在生成部分,安排 CRMCG 生成的旋律。



实验


为了研究 CRMCG 和 MICA 的有效性,我们对收集的数据集进行了两个任务的实验:旋律生成和编曲生成。


数据描述


在本文中,我们在真实世界数据集上进行了实验,该数据集由超过五万个MIDI(数字分数格式)文件组成,并且为了避免偏差,那些不完整的 MIDI 文件,例如没有声道的音乐都被删除。最后,我们的数据集中保存了 14,077个 MIDI 文件。具体来说,每个 MIDI 文件包含各种类型的音轨,如旋律, 鼓,贝司和弦乐。


为了保证实验结果的可靠性,我们对数据集进行了如下预处理。首先,我们将所有 MIDI 文件转换为 C 大调或 A 小调,以保持所有音乐在同一曲调上。然后我们将所有音乐的 BPM(每分钟节拍)设置为 60,这确保所有音符都是整数节拍。最后,我们将每 2 个小节并为一个乐段。下表中总结了修剪数据集的一些基本统计数据。


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第8张图片


训练细节


我们从数据集中随机选择 9,855 个实例作为训练数据,另外 2,815 个用于 调整参数,最后 1,407 个作为测试数据来验证性能以及更多生成的音乐。在我们的模型中,对于编码器和解码器中的每个 GRU 层,循环隐藏单元的数量设置为 256。用于计算注意力单元和 MLP 单元中的隐藏向量的参数的维度被设置为 256。使用随机梯度下降算法更新模型,其中批量大小设置为 64,并且根据验证集上的交叉熵损失选择最终模型。


旋律生成, CRMCG 模型的性能


我们仅使用从原始 MIDI 音乐中提取的旋律轨迹来训练模型并评估旋律轨迹生成结果的美学质量。基线方法选择Magenta(RNN)&GANMidi(GAN),除了提出的 CRMCG 模型,我们还评估了模型的两个变体,以验证和弦进行和交叉训练方法对旋律生成的重要性:CRMCG(有/无和弦进行)&CRMCG(有/无交叉训练)


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第9张图片


韵律(Rhythm): 音乐听起来流畅而适当暂停吗?

旋律(Melody): 音乐识别关系是否自然而和谐?

完整(Integrity): 音乐结构是否完整而不是突然中断?

可唱性(Singability): 音乐适合用歌词唱歌吗?


编曲生成,MICA 模型的性能


我们选择多轨音乐生成中的五个最重要的任务,即旋律,鼓,贝斯,弦乐和吉他。基线方法为了验证两个 MICA 模型的性能,选择相关模型 HRNN 作为基线方法


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第10张图片



性能如图 9 所示。根据结果,通常,我们基于 MLP 单元的 MICA 模 型在所有指标上都实现了最佳性能。而且,从图 9(a)可以得出结论,鼓的任务具有最大的音符准确度,这证实鼓比其他乐器更容易学习。并且,如图 9(b)所示,与 HRNN 相比,我们基于 MLP 单元的 MICA 模型平均可以提高 6.9%的质量。同时,从图 9(c)中,我们观察到,我们基于MLP 单元的 MICA 模型对音符分布均方误差具有最稳定的效果,这证明 我们的模型可以更好地学习乐器特性。最后,图 9(d)说明了我们基于MLP 单元的 MICA 模型的稳健性,该模型可以保持高水平的生成结果。


KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第11张图片



结论 


在本文中,我们提出了一种基于音乐知识的旋律和编曲生成框架,称为小冰乐队,它生成了同时伴随的几种乐器的旋律。对于旋律生成,我们设计了基于和弦的节奏和旋律交叉生成模型(CRMCG),其利用和弦进行来指导旋律进行,以及通过节奏型来学习歌曲的结构。对于编曲生成,在多任务学习的推动下,我们提出了一种用于多音轨音乐编曲的多乐器联合编曲模型(MICA),它在解码器层的每一步使用其他任务状态来提高整个的性能并确保多轨音乐的和谐。通过大量实验,无论是会自动指标还是人工评估,我们的系统与其他模型相比均表现出更好的性能,并且我们已经完成了图灵测试并取得了良好的效果。此外,我们在互联网上制作了流行音乐示例,展示了我们模型的应用价值。



KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第12张图片




AI竞赛报名

KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖_第13张图片

【难度:3星】本竞赛以视觉中国提供的经人力手工标记的图片数据作为竞赛数据。要求参赛者利用竞赛数据,训练一个多标签分类模型,使得该模型能自动根据输入的任意图片提供对应图片内容的多个标签。


点击文末或扫码参与报名!增长个人技能!


你可能感兴趣的:(KDD 2018 | 中科大、苏州大学与微软的合作论文获最佳学生论文奖)