写点什么

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

评论

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

背后技术:双11还能创造什么?

人工智能 数据挖掘 大数据 科技

下笔如有神:这是一个基于营销行业的 AI 技术实践

京东科技开发者

人工智能 自然语言处理 nlp

快速理解二十三种设计模式(速记)

simon

设计模式 23种设计模式 Java设计模式

影响王兴的一本书

池建强

读书笔记 无限游戏 王兴

anyRTC AI降噪|让声音更清晰

anyRTC开发者

人工智能 AI 音视频 WebRTC RTC

SQL数据库:子查询和关联子查询

正向成长

SQL子查询 SQL关联查询

成年人的世界都不容易-看看做到年薪50万的程序员,到底有多累?

Java架构师迁哥

遥感影像处理有高招,“专治”各类花式并发的述求!

华为云开发者联盟

容器 k8s 遥感

React Fiber 是什么?

局外人

react.js 大前端 React

你还在使用迭代器删除集合数据,out了,Java 中函数removeIf 不香么

Geek_6f0746

Java JAVA集合 Java迭代器

关于linux操作系统中的buff/cache

程序员架构进阶

Linux cache buffer

权威报告发布:京东智联云首次参评即跻身机器学习卓越表现者阵营

京东科技开发者

人工智能 云计算 供应链

普渡科技荣登甲子光年“2020中国最具商业潜力的20家机器人Cool Vendor”

DT极客

你以为只是简单的排序?(二)

书旅

数据结构与算法 Go 语言

排名前 16 的 Java 工具类

Bruce Duan

java工具类

【涂鸦物联网足迹】涂鸦云平台标准指令集说明

IoT云工坊

人工智能 cpu 物联网 智能家居 指令集

MySQL全面瓦解—子查询和组合查询

比伯

Java 编程 程序员 架构 计算机

【乘风破浪的开发者】丁一超:从AI实战营出发探索未知的AI世界

华为云开发者联盟

华为 AI modelarts

HTTP2服务器推送的第一次尝试

Gopher指北

HTTP2.0 Go 语言

python+requests对app和微信小程序进行接口测试

测试人生路

Python 接口测试

从“小众”到“首选”,推动云原生产业落地华为云作用几何?

华为云开发者联盟

云计算 架构 容器

刷Github时发现了一本阿里大神的算法笔记!标星70.5K

Java架构师迁哥

拒招中国程序员后,开源平台 GitLab 又开始大规模封杀开发者账户

Java架构师迁哥

从红黑树的本质出发,彻底理解红黑树!

996小迁

Java 架构 面试 程序人生

多线程问的太深入不知道怎么回答,从volatile开始给你讲清楚

小Q

Java 学习 面试 volatile 多线程

完美!阿里P8仅用242页笔记,就由浅入深讲解了SQL概念

Java~~~

Java sql 阿里巴巴 SQL语法 sql查询

五面进军饿了么!复盘总结11月上半月大厂面试真题,押题命中率高达95%以上

Java架构追梦

Java 阿里巴巴 架构 面试

Spring Boot 监听 Redis Key 失效事件实现定时任务

Bruce Duan

Redis监听 监听过期键

Spring / Spring boot 异步任务编程 WebAsyncTask

Bruce Duan

异步任务编程 WebAsyncTask

在Android中使用DataBinding(Kotlin)

simon

android Android进阶 JetPack DataBinding 数据绑定

亿级大表分库分表实战总结(万字干货,实战复盘)

比伯

Java 编程 程序员 架构 计算机

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