AI Composition(AI作曲)论文分析:Attentional networks for music generation :2020

Abstract

作者使用了加入了Attention机制的双向LSTM(Bi-Directional LSTM)进行Jazz类型音乐的生成,并通过实验证明了Bi-LSTM with Attention是music generation的一个好方法。网络的输入为midi格式的音乐原曲,经过512层的基于attention的Bi-LSTM,其后再经过一个LSTM来平滑输出结果以产生连续的音符。

Related Knowledge

Attention Based LSTM

注意力机制是一个近期的研究成果,可以解决音乐生成的核心问题。不同于普通的LSTM输出,加入了注意力机制的LSTM可以关注到某些时间的特点部分内容,并利用这些内容生成一部分输出。
AI Composition(AI作曲)论文分析:Attentional networks for music generation :2020
αij是用于评估每个隐层的输出占比大小的权值。ci是输出结果yi的context vector(上下文向量),它是输入序列的隐藏状态之和。hj是隐藏层的状态。
AI Composition(AI作曲)论文分析:Attentional networks for music generation :2020
这里的αij表明了yi和xj的对齐程度。
AI Composition(AI作曲)论文分析:Attentional networks for music generation :2020
这里的αij给出了预定义的对齐分数的softmax值。
AI Composition(AI作曲)论文分析:Attentional networks for music generation :2020
va和Wa是对齐模型中需要学习的权值,si是隐藏层的解码器。

Bidirectional LSTM

Bi-LSTM是常规LSTM的扩展,可以改进关于排列顺序问题的模型效果。 在信息安排的所有时间步均可用的问题中,双向LSTM在信息分组方面训练了两个而不是一个LSTM。

Proposed Methodology

Preprocessing

作者使用Music21软件包处理MIDI音乐文件,将其转化为能传入Bi-LSTM网络的数字信息。除了音符和和声之外,信息还包括停顿和音符的持续。Music21可以将MIDI音乐文件转化为包含旋律、不同声音、音符、和声、停顿、持续时间的流文件。它将MIDI文件进行解析,然后将音符、停顿、持续时间、和声转化为向量表示,该向量可细分为100维的音符样本。这些被细分的音符样本将作为网络的输入用来产生连续的音符。数据包括了两部分:1)音符 2)和弦。音高、八度、偏移也包含在音符信息中。直觉地,为了生成音乐,神经网络应该有能力预测将要到来的音符和和弦是什么。

Music Generation Using Attention based LSTM

作者将一个100维的音符样本作为网络输入,将其传入512个隐层的Bi-LSTM,在这之后是一个Attention层,随后是一个512隐层的LSTM。此后是一个3400元的使用softmax进行预测的Dense层。3400代表输入数据中音符、和声、停顿、持续的独特结合方式数量。作者使用dropout来处理过拟合。损失函数为cross entropy函数,优化函数为rmsprop。第二层LSTM网络用于学习音符和和声之间的关系。
AI Composition(AI作曲)论文分析:Attentional networks for music generation :2020

Experiment & Result

Dataset

作者使用了Jazz ML ready MIDI dataset。其中包括818首Jazz音乐。

Result

AI Composition(AI作曲)论文分析:Attentional networks for music generation :2020
AI Composition(AI作曲)论文分析:Attentional networks for music generation :2020

参考文献

Attentional networks for music generation