2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

使用生成式 Machine Learning 模型作曲

  • 2019-12-16
  • 本文字数:1759 字

    阅读完需:约 6 分钟

使用生成式 Machine Learning 模型作曲

今天,我们非常高兴地推出世界上第一款支持机器学习的音乐键盘 AWS DeepComposer。是的,您没看错。


机器学习 (ML) 需要数学、计算机科学、编程以及基础设施方面的诸多支持。这些主题非常重要,但是对于许多壮志满怀的 ML 开发人员来说,这样的要求太过严苛,有时候,我要说其实也很无聊。


为了帮助所有人学习实用的 ML 并从中获得乐趣,我们推出了几种基于 ML 的设备。在 AWS re:Invent 2017 上,我们推出了世界上第一种支持深度学习的摄像头 AWS DeepLens,以帮助开发人员了解用于计算机视觉的 ML。去年,我们推出了 AWS DeepRacer,这是一种由强化学习方法驱动的无人 1/18 比例赛车。今年,我们抬高了标杆(抱歉用了俏皮话)。


介绍 AWS DeepComposer


AWS DeepComposer 是一款 32 键、2 个八度音程的键盘,开发人员可以使用该键盘以预训练模型或您自己模型实操生成式 AI。


您可以请求在设备可用时通过电子邮件发送电子邮件,也可以在 AWS 控制台中使用虚拟键盘。


以下是使用方式概述:


登录 DeepComposer 控制台,


录制简短的曲调,或使用预先录制的音乐。


为您偏好的流派选择生成式模型,可以是预训练的或您自己的,


使用此模型生成新的复调乐曲,


在控制台中播放乐曲,


导出乐曲或在 SoundCloud 上共享。


让我向您展示如何使用预训练的模型快速生成您的第一支乐曲作品。然后,我将讨论如何训练自己的模型,最后以支撑 DeepComposer 的底层技术:生成式对抗网络 (GAN) 的粗浅介绍做结。


使用预训练模型


打开控制台,我转到 Music Studio,在这里可以选择预先录制的乐曲,也可以自己录制一个。


我使用前一方法,选择了贝多芬的《欢乐颂》。


我还选择了我想使用的预训练模型:古典、爵士、摇滚或流行。这些模型已经针对大型音乐数据集进行了相应流派的训练,我可以直接使用它们。在没有“金属”的情况下(团队请注意该特性请求),我选择“摇滚”并生成乐曲。


几秒钟后,我看到了该模型生成的额外伴奏。我给它们分配了不同的乐器:鼓、过载吉他、电吉他(清音)和电贝斯(指弹)。


下面的就是结果。您觉得怎么样?


最后,我可以将乐曲导出为 MIDI 或 MP3 文件,并在我的 SoundCloud 账户上共享它。一夜爆红指日可待!


训练您自己的模型


我还可以使用自己偏好流派的数据集训练自己的模型。我需要选择:


生成器和判别器的架构参数(在下一节中将详细介绍),


训练过程中用来衡量算法输出与期望值之间差异的损失函数,


超参数,


在训练模型时,我将能够收听的验证样本。


在训练期间,我可以看到质量指标,并且可以聆听上面选择的验证样本。对模型进行全面训练后,就可以像预先训练的模型一样使用它来生成乐曲。


生成式对抗网络简介


Ian J. Goodfellow、Jean Pouget-Abadie、Mehdi Mirza、Bing Xu、David Warde-Farley、Sherjil Ozair、Aaron Courville 和 Yoshua Bengio 合著的《生成式对抗网络》于 2014 年出版,这是 GAN 诞生的标志。


作者们表示:


在提出的对抗网络框架中,生成模型与一个作为对手的判别模型相对立,判别模型通过学习确定样本是来自模型分配还是来自数据分配。生成模型可被视作类似于一组造假者,它试图生产假币并在未经检测的情况下使用它,而判别模型类似于警察,试图发现假币。在这场比赛中的竞争迫使两支队伍都要改进自己的方法,直到仿冒品与真品无法分辨。


让我在此基础上稍作扩展:


生成器无权访问数据集。它使用随机数据,创建通过判别模型转发的样本。


判别器是一种二进制分类模型,学习如何从伪样本(由生成器组成)中识别真实数据样本(包括在训练集中)。训练过程使用传统技术,例如梯度下降、反向传播等。


随着判别器的学习,其权重将更新。


相同的更新将应用于生成器。这是理解 GAN 的关键:通过应用这些更新,生成器逐渐学习如何生成与判别器认为真实的样本越来越接近的样本。


综上所述,您必须进行造假专家的培训才能成为出色的假冒者…但这可不是职业建议! 如果您想了解更多信息,可以在我自己的博客中点赞这篇博文,其中介绍了如何使用 Apache MXNet GAN 生成 MNIST 样本。


如果您只是想演奏乐曲并像这个小家伙一样开心,那也同样欢迎!


即将推出!


AWS DeepComposer 绝对劲爆。您可以立即注册预览,并在键盘发布时得到通知。


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/aws-deepcomposer-compose-music-with-generative-machine-learning-models/


2019-12-16 08:00797

评论

发布
暂无评论
发现更多内容

Weex开发:页面跳转以及Android端多应用选择窗口的处理

码上生长

android Vue 大前端 跨平台 Weex

Nginx 基础原理和命令行的真相

子杨

nginx 运维

备案问题汇总

云也退

网站 备案

我们可能都误解了什么是情商

董一凡

情绪

GrowingIO 大数据多维分析自动化测试实践

GrowingIO技术专栏

大数据 自动化测试 parewise

奈学干货分享:分布式CAP实践分析

奈学教育

分布式

为什么你要学习 Go?

司徒公子

编程语言 谷歌Google Go 语言

Cassandra可调一致性的使用及原理

老任物联网杂谈

大数据 分布式 Cassandra 可调一致性

一个在游戏行业摸爬滚打了十几年的人,为何我对这本书情有独钟

图灵社区

游戏开发 游戏制作 世嘉培训教材

游戏夜读 | 改写图形API的意义

game1night

卧槽,接到一个阎王的需求

码农神说

程序员

「首度揭秘」大规模HPC生产环境 IO 特征

焱融科技

sds io 高性能 存储 焱融科技

幂等问题及解决方案

Joker

幂等 解决方案

基于 Markdown 的中文文档排版规范

Murphy

markdown 排版规范 GitHub GFM 物联网学前班

探索 Go 语言数据类型的内部实现

TuringTuring

内存模型 高效 Go 语言

架构师训练营0期开营

刁架构

架构师

Nginx 入门及命令行操作

子杨

nginx 运维

工厂模式(三)泛型工厂的概念以及示例代码

LSJ

Server Queue 提高 QPS

风含叶

Python kafka 后端 队列

10分钟了解Flink

代码诗人

神经网络中为什么不能将权重初始值设置为一样的值

wangkx

神经网络 学习

ARTS_20200529

凌轩

Java ARTS 打卡计划

用户故事为什么要关联开发数据?

易成研发中心

敏捷开发 开发数据

从位图到布隆过滤器

wangkx

位图 布隆过滤器

Mysql常用删除方式比较

云也退

MySQL

阿里巴巴为什么让初始化集合时必须指定大小?

王磊

Java 性能

2020智源-京东多模态对话挑战赛开战 产学研联合推动AI技术发展

DT极客

“Plus Token”传销主犯被公诉!警惕,区块链不是“取款链”!

CECBC

1024讲话 CECBC 区块链技术 人才发展 培训

Android 通过opencv实现人脸识别,追踪

sar

android OpenCV 人脸识别

kudmp介绍和安装

唯爱

你有信息焦虑症吗?

Neco.W

学习 创业 知识体系

使用生成式 Machine Learning 模型作曲_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章