上周日,第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科技大本营给大家分享这篇论文重点内容的解读。



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




摘要

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

贡献

本文的贡献总结如下:

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

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

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

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

工作与方法

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

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

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



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

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

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

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

1)数据处理部分;

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

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

4)显示部分。

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

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

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

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

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

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

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

多任务编曲模型

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



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

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

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

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

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

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

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

实验


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

数据描述


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

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

训练细节


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

旋律生成, CRMCG 模型的性能

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



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

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

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

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

编曲生成,MICA 模型的性能

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



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



结论 


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



AI竞赛报名

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

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

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

  1. KDD 2020最佳学生论文奖解读!杜克大学陈怡然组获奖-23

    第 26 届 ACM SIGKDD 知识发现和数据挖掘会议(KDD 2020)于近日公布了最佳论文奖.最佳学生论文奖等多个奖项.此外,汤继良.盛胜利.唐杰等华人学者在本届 SIGKDD 大会上也荣获了 ...

  2. 中国公司再获KDD两项最佳:松鼠AI拿下图深度学习研讨会最佳论文最佳学生论文...

    特约供稿  量子位 出品 | 公众号 QbitAI KDD,国际数据挖掘与知识发现大会,全称:ACM SIGKDD Conference on Knowledge Discovery and Data ...

  3. 2018浙大计算机考研经验,考研经验2018中科大计算机考研第一398分初复试经验诚挚分享.docx...

    [考研经验] 2018 中科大计算机考研第一 398 分初复试经验诚挚分享 初试398 :数学123 ,专业课123 ,英语84 ,政治 68 ,排名第二,复试:笔试(编译原理+ 离散数学+ 数 据库 ...

  4. 跨考计算机考研华科还是中科大,2018中科大计算机考研经验贴

    2018中科大计算机考研经验贴+注意事项 01关于择校 首先是选择学校,我由于想离家近,就最初选择了中国科学技术大学和华中科技大学作为备选,最终听说考研存在大小年,而华科17年分数相对较低,所以想着1 ...

  5. 苏科大自主招生计算机,2018中科大自主招生试题

    <2018中科大自主招生试题>由会员分享,可在线阅读,更多相关<2018中科大自主招生试题(1页珍藏版)>请在人人文库网上搜索. 1.2018中国科学技术大学自主招生试题11 ...

  6. 中国力量占领KDD:包揽“大数据领域世界杯”全部冠亚军,北航拿下最佳学生论文奖...

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 数据挖掘.知识发现领域的最高学术会议--KDD 2020的所有奖项已全部公布. KDD,全称Knowledge Discovery and ...

  7. 2018中科大计算机考研心得

    提到考研,无论你是工作的还是考研的同学,或多或少都会想起高考时的点点滴滴吧.我是一枚普普通通的二战考生,两年都是报考科大计算机科学与技术专业,去年总分326分,还差4分无缘复试,加之不想调剂软院(并不 ...

  8. 计算机微课论文参考文献,计算机学生论文,关于中职计算机教学中微课的应用相关参考文献资料-免费论文范文...

    导读:本论文是一篇免费优秀的关于计算机学生论文范文资料,可用于相关论文写作参考. (甘肃省甘南州甘南师范学校,甘肃甘南747000) [摘 要]微课作为一种新型教学方式被应用在中职计算机教学之中,更加 ...

  9. 中国军团称霸KDD:华人博士斩获最佳论文,清华北大中科大华为等榜上有名

    乾明 鱼羊 栗子 安妮 一璞 边策 发自 凹非寺  量子位 报道 | 公众号 QbitAI 又一全球AI顶会,尽是中国力量举杯相庆. KDD,数据挖掘领域国际最高级别会议,今年在美国阿拉斯加州举行,最 ...

最新文章

  1. mysql什么情况会加意向锁_Mysql 数据库意向锁意义
  2. IAR在线调试时用DEBUG打印调试信息
  3. 面试题整理5 顺时针打印矩阵
  4. pidstat 命令查看某个进程的CPU、内存、磁盘使用情况
  5. 如何利用MongoDB实现高性能,高可用的双活应用架构?
  6. 《Unix网络编程(第3版)》代码编译的一些问题
  7. cobol和java区别,COBOL语法和文法(1)
  8. Asp.Net MVC部暑托管服务器iis7提示403错误解决方法
  9. JVM监控及诊断工具GUI篇之JConsole
  10. DB2远程链接数据库编目命令代码
  11. 新式汉语拼音使用方法及相关数据,用与交流编程只能用英语字母的环境使用
  12. Web Service的基本定义
  13. 德马克机械化波(td波)
  14. WPF界面工具Telerik UI for WPF入门级教程 - 设置一个主题(二)
  15. 我们说运营,到底是在说运营什么?
  16. 10周拿下腾讯数据分析师认证
  17. [转]Facebook 开源的快速文本分类器 FastText
  18. 【CXY】JAVA应用 之 快捷工具托盘
  19. 赵铁安烧饼机器人_洛阳市民发明打烧饼机器人
  20. 手把手教你如何推广博客网站

热门文章

  1. JS实现马赛克图片效果
  2. 2021-2027年全球与中国顶面基层行业市场前瞻与投资战略规划分析报告
  3. 用计算机计算教案,用计算器计算的教案范文
  4. [2015-04-17] 2015年的股市比2008年还危险……
  5. csv格式文件解析失败_理解CSV格式规范(解析CSV必备)
  6. 异常检测学习之高维数据
  7. MATLAB如何得到清晰的图
  8. 数字图像与机器视觉基础补充(2)
  9. JAVA环境与相关软件的下载与配置
  10. 关于云服务器那些事:如何保障中小企业的安全,顺利上云