程序员拯救乐坛?OpenAI 用“逆天”GPT2.0 搞了个 AI 音乐生成器

做者 | 琥珀
web

出品 | AI科技大本营(id:rgznai100)编程

如下为译文:微信

基于深度神经网络进行语音合成、音乐风格迁移,正成为很多致力于“让人人成为音乐家”的研究人员所追求的事情。像此前咱们报道的微软小冰做词又做曲AI帮清华博士写说唱歌词晋级,甚至不久前中央音乐学院招音乐AI方向博士生。不久前,为了记念著名做曲家巴赫诞辰,Google 根据巴赫合唱和声训练而成的机器学习模式 Coconet 吸引了很多人前来围观。网络

最近,OpenAI 最新研发的 MuseNet 的深度神经网络,能够制做 4 分钟时长的音乐做品,其中涵盖 10 种不一样的乐器(如钢琴、鼓、贝斯、吉他),甚至还能将诸如乡村风格、莫扎特风格、甲壳虫乐队风格的音乐融合起来。机器学习

首先须要说明的是,MuseNet 并无根据人类输入的对音乐理解进行显式编程,而是经过学习预测成千上万个 MIDI 文件的下一个 token 来发现和弦、节奏和风格的模式。MuseNet 采用了无监督神经网络语言模型 GPT2.0(是的,就是此前被誉为能够 BERT 媲美的 NLP 模型 GPT2.0,广泛观点是,通过预训练能够预测上下文,不管是音频仍是文本。)工具

据悉,5 月 12 日将正式开放 MuseNet 语言生成工具的试用版本。学习

传送门:测试

https://openai.com/blog/musenet/优化


过程原理
编码


在简单模式(默认显示)中,用户会听到预设生成的随机未切割样本;而后选择某做曲家或风格下的著名做品片断,便可生成各类风格的音乐。

在高级模式下,用户可直接与模型交互。这个过程须要完成的时间会更长,但用户能够建立一个全新的做品。

  • 注意:MuseNet 经过计算全部可能的音符和乐器的几率来生成每一个音符,模型会倾向采用你选择的乐器,但也可能会选择逼得乐器;一样,MuseNet 也会搭配不一样风格的乐器,若是用户自行选择最接近做家或乐队经常使用分风格或乐器,产生的音乐会更天然。

研究人员还建立了做曲家和乐器的 token,以便更好地控制 MuseNet 生成的样本类型。训练期间,这些做曲家和乐器 token 将预先添加到每一个样本中,所以模型将学习利用该信息进行音符预测。生成音乐时,能够调整模型,如拉赫玛尼诺夫的钢琴曲为前提,以建立选定风格的音乐。

研究人员还将 MuseNet 中的嵌入进行可视化,以深刻了解模型所学到的内容。他们采用了 t-SNE 建立各类风格嵌入的余弦类似性。(以下 2D 图像所示,可查看某个特定做曲家或风格之间的关系。)


利用 Sparse Transformer 记住长期结构


MuseNet 使用 Sparse Transformer 的重算和优化内核来训练一个具备 24 个注意力头的 72 层网络,并将所有注意力放在 4096 个 token 的上下文中。这个长文本的目的是可以记住一个片断中的长期结构。或者,它还能够建立音乐旋律结构。

音乐生成是测试 Sparse Transformer 的一个有用域,由于它位于文本和图像的中间位置。它具备文本的 token 结构。在图形中,你能够查看 N 个 token,而在音乐中,查看以前的起点没有固定数。此外,还能够很容易听到该模型是否在按照成百上千个 token 顺序来获取长期结构。


数据集


研究人员收集了不一样来源的 MuseNet 训练数据(ClassicalArchives、BitMidi、MAESTRO ),涵盖爵士乐、流行乐,以及非洲、印度和阿拉伯等不一样风格的音乐。

首先,研究人员采用 transformer 在序列数据上进行训练:给定一组音符,要求它预测其余即将出现的音符。在尝试了几种不一样方法后将 MIDI 文件编码为适用于此任务的 token。

在这种其中,他们采用和弦方法,将每次听到的音符组合视为单独的 “和弦”,并为每一个和弦指定一个 token。而后,经过仅关注音符开头压缩音乐模式,并尝试使用字节对编码方案进行近一步压缩。

研究人员还尝试了标记时间推移的两种不一样方法:一是根据音乐节奏进行缩放的 token,表明节拍或节拍的一小部分;二是以绝对时间为单位来标记 token。他们采用了一种结合了表现力和简洁性的编码方式:将音高、音量以及乐器信息组合称一个 token。

在训练中,

  • 经过提升和下降音高来调换音符。(以后的训练中,减小了调换数量,使得每一个乐器都有生成的音符。)

  • 提升音量,调高或下降不一样样本的总体音量。

  • 增长时间,当使用以秒为单位的绝对时间编码时,可有效稍微减缓或加速片断。

  • 在 token 嵌入空间中使用 mixup。

研究人员还建立了一个内部评测,在训练中,经过模型预测给定的样本是否来自数据集仍是以前生成的样本,进行评判。


嵌入


为了给模型提供更加结构化的上下文,研究人员还添加几种不一样类型的嵌入。

除了标准位置嵌入外,还有学习到的嵌入,可在给定的样本中追踪时间推移;而后,他们还在每一个和弦中的音符添加了嵌入;最后,他们添加了两个结构化嵌入,该嵌入可代表模型既定的音乐样本在较大音乐片断中的位置。

【END】


推荐阅读

使用AutoML Vision进行音频分类


关于图书

《深度学习之TensorFlow:入门、原理与进阶实战》和《Python带我起飞——入门、进阶、商业实战》两本图书是代码医生团队精心编著的 AI入门与提升的精品图书。配套资源丰富:配套视频、QQ读者群、实例源码、 配套论坛:http://bbs.aianaconda.com 。更多请见:https://www.aianaconda.com


点击“阅读原文”图书配套资源

本文分享自微信公众号 - 相约机器人(xiangyuejiqiren)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索