现在人工智能也会作曲了,OpenAI开发了深度神经网络MuseNet,可以用10种不同的乐器,结合乡村、莫札特或是Lady Gaga等风格,制作长度四分钟的音乐作品,OpenAI并没有教MuseNet乐理或是编曲理论,而是让人工智能从数十万个MIDI文件中学习,探索合声、节奏和风格等乐曲元素。
MuseNet使用通用用途的非监督式技术GPT-2,这是一种大规模的Transformer模型,经训练之后可用来预测音频或是文本的串行。OpenAI收集了多种音频来源,作为MuseNet训练数据,除了ClassicalArchives以及BitMidi两个服务,贡献的大量MIDI文件之外,他们也在网络上收集了流行、非洲、印度、阿拉伯等风格的音乐,另外,还使用了MAESTRO数据集。
Transformer模型被要求给定一组音符之后,有能力预测接下来的音符,OpenAI经各种试验,找到了最有表现力和简洁的编码方式,将音调、音量和乐器消息组合成单一的令牌。在训练的时候,OpenAI通过升高或是降低音调以置换音符,也借由调高或是调低各种样本的整体音量,以强化音量效果,在强化乐曲时间上的变化,则是通过加速与减慢音频片段完成。
同时OpenAI还创建了一个批评者,在模型训练期间,不停地询问模型,审查给定的样本是来自真正的数据集,抑或是模型过去产生的结果,批评者会对样本给出分数,当MuseNet在生成输出的时候,会根据这个分数选择样本。OpenAI添加了数种嵌入(Embedding),让模型能够为乐曲加入更多样的特征,包括和弦或是音乐作品长短等变化。
OpenAI创造了作曲家以及乐器令牌,让用户方便地控制MuseNet样本种类,在训练的时候,这些作曲家以及乐器令牌会被加到每个样本中,因此模型可以依据这些信息预测音符,而在生成阶段,模型会依据用户指定的作曲家以及乐器,进行音符预测。由于MuseNet掌握许多不同的音乐风格,因此还可以用新颖的混合方法,融合不同的风格。
OpenAI将这个早期成果公开,用户在简单模式中,可以通过指定作曲家或是风格,以及一个著名的音乐作品作为开头,程序便会继续创造出新的音乐作品,用户能简单地尝试各种不同的音乐风格组合。
而在高级模式中,有更多的参数可以设置,也需要较长的生成时间,但是可以让用户灵活地产生更有创意的作品。OpenAI提醒,将差异过大的风格与乐器合在一起,像集合萧邦风格与贝斯和鼓,会让MuseNet产生意料之外的结果,选择适合作曲家的乐器可以让结果更自然些。