PyTorch生成式人工智能(29)——基于Transformer生成音乐

AI1天前发布 beixibaobao
2 0 0

PyTorch生成式人工智能(29)——基于Transformer生成音乐

    • 0. 前言
    • 1. 音乐 Transformer 简介
      • 1.1 基于演奏的音乐表示
      • 1.2 音乐 Transformer 架构
      • 1.3 训练音乐 Transformer 流程
    • 2. 音乐片段分词
      • 2.1 下载训练数据
      • 2.2 MIDI 文件分词
      • 2.3 准备训练数据
    • 3. 构建音乐生成 Transformer
      • 3.1 音乐 Transformer 超参数
      • 3.2 构建音乐Transformer
    • 4 训练和使用音乐Transformer
      • 4.1 训练音乐Transformer
      • 4.2 使用训练好的 Transformer 生成音乐
    • 小结
    • 系列链接

0. 前言

我们已经学习了如何使用 MuseGAN 生成逼真的多音轨音乐。MuseGAN 将一段音乐视为一个类似图像的多维对象,并生成与训练数据集中相似的音乐作品。在本节中,将采另一种方法来创作音乐,将音乐视为一系列音乐事件。具体来说,将开发一个类似 GPT 的模型,基于序列中所有先前事件来预测下一个音乐事件。本节将创建的音乐 Transformer 拥有 2016 万个参数,足以捕捉不同音符在音乐作品中的长期关系,同时也可以在合理的时间内完成训练。
我们将使用 Maestro 钢琴音乐作为训练数据,MIDI 文件转换为音音符序列,类似于自然语言处理 (Natural Language Processing, NLP) 中的原始文本数据。接着,将这些音符拆分为小片段,称为音乐事件,这类似于 NLP 中的词元 (token)。由于神经网络只能接受数值输入,需要把每个唯一事件词元映射到一个索引。这样,训练数据中的音乐片段就被转换为一系列索引,用于输入神经网络。
经过训练的音乐 Transformer 能够生成逼真的音乐,模仿训练数据集中的风格。此外,与 MuseGAN 生成的音乐不同,我们可以通过调整温度参数来缩放预测的对数 (

© 版权声明

相关文章