知行编程网知行编程网  2022-03-02 15:00 知行编程网 隐藏边栏 |   抢沙发  100 
文章评分 0 次,平均分 0.0

【GAN货】用神经网络生成音乐

【导读】C-RNN-GAN是一种连续递归神经网络,它在深度LSTM的基础上进行对抗训练,因此它可以很好地处理连续时间序列数据,例如音乐!

C-RNN-GAN如何工作?

【GAN货】用神经网络生成音乐

C-RNN_GAN是具有对抗训练的递归神经网络。 模型中有两种不同的深度递归神经模型,即生成器(G)和判别器(D)。 训练生成器以生成与实际数据无法区分的数据,同时训练判别器以识别生成的数据。这是一个博弈问题,达到纳什均衡即当生成器产生判别器无法从实际数据中分辨出来的数据时。 我们定义了以下损失函数LD和LG:

【GAN货】用神经网络生成音乐

C-RNN-GAN使用特征匹配的方法来鼓励G的更大变化,并通过替换标准生成器损失LG来避免判别器过度拟合。 通常,生成器的目标是最大化判别器所产生的误差,但是通过特征匹配,目标变成了在判别器中的某个级别产生与实际数据匹配的内部表示。

【GAN货】用神经网络生成音乐

使用C-RNN-GAN生成音乐

现在我们使用GAN来生成音乐!

我使用了这个GitHub存储库中的代码:https://github.com/olofmogren/c-rnn-gan/,它基于原始论文。

生成的音乐:

https://soundcloud.com/girqw3wvsr4p/c-rnn-gan-my-results

原始论文中生成的音乐:

https://soundcloud.com/girqw3wvsr4p/c-rnn-gan-sample

用简单的RNN生成的音乐

与此形成对比的是,用简单的RNN也能生成音乐,即使它仍然听起来并不像。

https://soundcloud.com/girqw3wvsr4p/music-generated-with-rnn

代码:

https://github.com/subpath/Keras_music_gereration

结论

GAN因为是一种特别难以训练的网络而闻名,如果你想要取得一些令人印象深刻的结果。

即使我喜欢GAN的想法,我更喜欢用RNN生成的版本 - 模型更小,代码更清晰。

与产生图像的GAN相比,音乐模型仍然需要大量开发,以便产生类似于人类制作的音乐的东西。

为您推荐

哟,写Bug呢?Facebook发布AI代码调试工具SapFix

简单粗暴 TensorFlow Eager 教程

【机器学习】损失函数?损失函数!

称霸Kaggle的十大深度学习技巧

教程 | PyTorch经验指南:技巧与陷阱

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享