神经网络莫扎特

本课程是一节有关序列生成模型的实战课程,在课程中将利用长短时记忆网络(Long Short Term Memory,简称LSTM)构建一个能够生成音符的神经网络。(课时:129 分钟)

深度学习 PyTorch RNN 音乐生成

讲师:   张江

课程资料

  • 讲稿下载:报名后可见

  • 课程代码包:报名后可见

  • 课后练习:报名后可见

课程背景

在这节课中,我们将创造一个“神经网络莫扎特”,一个利用长短时记忆网络(Long Short Term Memory,简称LSTM)进行音符生成的神经网络。在动手构造这个LSTM之前,我们首先需要深入地理解LSTM的工作原理。通过让它识别一种最简单的语法:“上下文无关语法”(Context Free Grammar),我们会深刻理解RNN和LSTM的工作方式以及它们之间的异同。之后,我们将讲解如何用Python读取MIDI文件,从而构造LSTM的训练数据集。另外,在本节课中,我们还将介绍如何使用GPU来进行张量运算,以及一个超级好用的云服务平台Floyd。最终,我们将打造一个会自己谱曲的人工智能小程序。作为本课程的附属视频,我们详细讲述了应用于LSTM的反向传播原理。


课后作业:名字生成器

我们将上一章的任务反过来:根据国别,生成一个名字。

课程目的

学完本课程,你能做到

  • 掌握使用PyTorch构建LSTM模型的方法

  • 掌握使用LSTM生成MIDI音乐的方法

课程详情

本课程的内容包括:

  • 教会LSTM上下文无关语法

    • 有限状态自动机

    • 上下文无关语法

    • 让RNN学上下文无关语法

    • 梯度爆炸与梯度消失

    • LSTM的本质是什么?

    • LSTM如何学会上下文无关语法?

    • LSTM的变种GRU

  • LSTM作曲家

    • MIDI音乐的本质是什么?

    • mido包:用Python操纵MIDI音乐

    • 音乐生成器的设计与训练

    • PyTorch中如何使用GPU?