写点什么

使用生成式 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:00697

评论

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

授人以渔:stm32资料查询技巧

华为云开发者联盟

架构 armv8 芯片 华为云 二进制

实用!一键生成数据库文档,堪称数据库界的Swagger

程序员小富

Java MySQL

数据人必须知道的SQL概念(A—Z)

大唐小生

sql 数据 职场成长

基于 Golang的侵入式 Opentracing实现全链路追踪 ----实践篇

是老郭啊

系统设计系列之如何设计一个短链服务

看山

架构 面试 分布式 架构设计 短链服务

智能膜切机,解决手机贴膜行业难题

Geek_116789

JVM系列之:JIT中的Virtual Call

程序那些事

Java JVM JIT

老哥,您看我这篇Java集合,还有机会评优吗?

苹果看辽宁体育

Java 后端

Newbe.Claptrap 框架如何实现多级生命周期控制?

newbe36524

架构 微服务 .net core ASP.NET Core

计算机网络基础(十一)---网络层-OSPF协议

书旅

计算机网络 网络 协议栈 OSPF

财务分析与主要的模型

松子(李博源)

你问我答:微服务治理应该如何去做?

BoCloud博云

容器 微服务 PaaS API 博云

微软苏州集体抵制来自阿里、华为的跳槽者:请停止你的“奋斗逼”行为!网友:看到 955 不加班的公司名单,我酸了

程序员生活志

程序员 加班 996

云小课 | IPv4枯了,IPv6来了

华为云开发者联盟

IP 公有云 虚拟私有云 华为云 虚拟化

Vue中使用装饰器,我是认真的

前端有的玩

Java Vue 装饰器

初识分布式:MIT 6.284系列(一)

Kerwin

分布式 MIT 28天写作

飞天茅台超卖事故:Redis分布式锁请慎用!

程序员生活志

redis 分布式

什么?不写代码也能做功能开发! -RUOYI 教程二

Java_若依框架教程

Java 无代码开发 若依

谈一谈webpack打包

林浩

Java 大前端 webpack

技术管理者带团队的几个实用技巧

Phoenix

团队管理 企业文化 团队 价值观

架构师训练营第八章-作业1

A Matt

第九周

hdhdh

将信将疑,将中台进行到底

郭华

手写一个重入锁

诸葛小猿

synchronized CAS 重入锁 compareAndSwap ReentrantLock

英特尔®AI计算盒参考设计发布 加速智能边缘崛起

最新动态

秒杀系统问题与方案设计

superman

秒杀 架构总结

在人工智能时代追逐的“后浪”

华为云开发者联盟

程序员 AI 开发者 技术社区 华为云

华为云GaussDB(DWS)内存知识点,你知道吗?

华为云开发者联盟

数据库 大数据 数据 内存 华为云

ARTS打卡 第10周

引花眠

ARTS 打卡计划

<<前端进阶篇>> PDF 出炉了 — 「阿宝哥」,精心准备的 6 万多字 170 页的前端进阶资料

阿宝哥

大前端

《深度工作》学习笔记(3)

石云升

学习 深度工作 工作哲学

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