0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用非监督学习实现了不同音乐间的乐器、体裁和风格间的转换

nlfO_thejiangme 来源:未知 作者:李倩 2018-06-16 16:09 次阅读

Facebook上月末发表了一篇名为“A Universal Music Translation Network”的文章(原文链接在文末),详细阐述了如何利用非监督学习实现了不同音乐间的乐器、体裁和风格间的转换。相信小伙伴们或多或少地了解过这篇论文。

但是如果从音乐家的角度来看这个过程是如何进行的呢?本文将从四个不同的层次带领我们更深入地理解这篇论文中所描述的方法,看看到底是什么神奇的魔力将长笛的悠扬转换为了钢琴的动听的。

level-0:新手

对于新手来说想要快速实现风格转换,傅里叶变换将是一个不错的手段。利用频谱分析将会迅速的找出对应的和弦和音符并在新的乐器上演奏出来。事实上传统的处理方法提供了一系列这样的手段:通过解码器与基于本征乐器的乐器归一化方法或者复调方法来实现。每一种乐器都有独特的音符集和时域瞬态特征,但困难的是即使对于单一乐器来说,其频谱包络在不同的音高下并不服从同峰值模式。同时还有不同的泛音和谐频需要处理。所有的这些使得音乐在不同乐器间的风格转换十分困难。

level-1:深度学习专业的同学

如果拥有一点乐理基础的话,可以使用CNN模型通过MIDI格式的音乐生成的label来学习音乐的表达和转录。MIDI是一种在合成器中常用的数字音乐,每一个键被按下或者抬起都意味着一次事件的触发。可以通过如MAPS一样的数据集来实现复调钢琴音乐的转录问题。

level-2:NLP学者将如何处理呢?

NLP学者最有可能使用的方法应该是sequence to sequence模型了,但这种方法需要同时追踪原始乐器和目标乐器的发音序列。

level-3:直接学习转换和邻域归一化

对于十分优秀的音乐家来说,他们会明白每一种乐器之间的细微差别是MIDI所不能捕捉到的,而这个问题就是facebook文章中的创新所在。研究人员借鉴了wavenet的自回归架构并充分利用它将这一问题转换为了“下一个音符是什么”的类似问题,从而将其变成了一个非监督问题来解决。

wavenet本质上使用随学习过程不断扩大的卷积得到了增加的感受野,从而可以得到更好的预测结果和包含更为丰富特征的隐含空间。这些特征抓住了人类声音和乐器声音的本质,就像cnn中抽取的图像特征一样。此时如果你想要通过学习一个自回归模型来预测钢琴的下一个音调,你只需要简单的学习一对儿wavenet编码器和解码器。编码器将把原始的音乐序列投射到隐含空间中,而解码器将尽力理解隐含空间的中的数值并解码成下序列的下一个值。

是不是很奇妙?如果一个模型可以编码钢琴但解码成其他乐器是不是就可以实现音乐在不同乐器间的转换啦?这就是FacebookAI研究人员的努力。他们利用一个相同的编码器对多种乐器进行编码,而后利用不同的解码器实现不同乐器的解码,实现了多种乐器之间的风格互转。那么它是如何工作的呢?下面让我我们来具体看一看。

多个乐器间共享同一个解码器会迫使这个解码器去学习音乐间的相同特征。但对于解码器来说,我们需要告诉它这到底是什么乐器,需要解码的目标域是什么。这就需要对于不同乐器的域训练特殊的解码器来实现。论文中使用了对抗的方法来实现这一目标。由于通用的潜在空间希望去寻找通用的特征而忽略了每种乐器的特殊性,而混淆矩阵则希望分割共同特征中不同的表达并尽可能的实现不同的类别特征。通过特殊与一般之间的对抗得到了两个性能强大的编码和解码模型。值得注意的是要想同时获得两个性能优异的编解码模型,需要仔细地选择正则化系数来实现。

让我们来看看这个模型的损失函数。具体的训练过程是这样的,首先在不同乐器的域中选取一个样本sj,随后利用随机变调来避免模型无脑地对数据进行记忆。论文中对0.25-0.5s长的样本使用了-0.5-0.5的半步变调,可以用O(sj,r)来表示,其中r是随机种子。你也许会对这一步感到疑惑,但使用过谷歌magenta模型或者瞬时生成模型的人都会有这样的经历,有的时候模型会像鹦鹉学舌一样简单的重复记忆下的序列,简直是公然的过拟合了。而这就是数据增强和偏移过程的关键所在,也是训练多种乐器的编码器关键所在。

随后增强数据通过wavenet编码器中扩大的卷积层转换到了隐含空间中,并通过对应的解码器Dj还原到了其对应的乐器空间中并预测出了下一个音符输出。研究人员通过交叉熵比较实际的下一个输出和预测的下一个输出来计算损失函数。其中第一项代表重建误差要尽可能的小,而第二项领域分类的误差则用于尽可能的分开不同域的特征,这也是网络进行对抗训练的表现。作为一个对抗模型,一个监督的正则项通过后编码的特征矢量用于预测不同的域。它被称为域混淆网络(Domain Confusion Network)。

网络在实际工作过程中,输入的一个交响乐片段会被转换和翻译为一种特殊的乐器,但这个模型最令人惊叹的能力还不止于此。当输入一种模型从未见过的乐器时,通过自动编码和解码过程它依然可以完美的工作!这证明了模型中的编码器确实可以提取出音乐中的一般化特征并在隐含空间中表示出来,及时没有见过这个乐器。这是很多生成算法的核心概念,像GANs和变分自编码都利用这一思想创造了很多迷人的工作。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Facebook
    +关注

    关注

    3

    文章

    1429

    浏览量

    54637
  • 傅里叶变换
    +关注

    关注

    6

    文章

    437

    浏览量

    42562
  • 深度学习
    +关注

    关注

    73

    文章

    5492

    浏览量

    120961

原文标题:深度解析Facebook的音乐转换AI模型

文章出处:【微信号:thejiangmen,微信公众号:将门创投】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    监督学习-Hierarchical clustering 层次聚类python的实现

    【深度学习基础-17】监督学习-Hierarchical clustering 层次聚类-python实现
    发表于 04-28 10:07

    如何用卷积神经网络方法去解决机器监督学习下面的分类问题?

    人工智能下面有哪些机器学习分支?如何用卷积神经网络(CNN)方法去解决机器学习监督学习下面的分类问题?
    发表于 06-16 08:09

    基于半监督学习的跌倒检测系统设计_李仲年

    基于半监督学习的跌倒检测系统设计_李仲年
    发表于 03-19 19:11 4次下载

    基于半监督学习框架的识别算法

    人体行为识别是计算机视觉研究的热点问题,现有的行为识别方法都是基于监督学习框架.为了取得较好的识别效果,通常需要大量的有标记样本来建模.然而,获取有标记样本是一个费时又费力的工作.为了解决这个
    发表于 01-21 10:41 1次下载

    英伟达通过利用GAN及无监督学习实现场景的四季转换

    英伟达近期在GAN相关研究和应用方面进展迅猛,在前一阵的成果展示中,通过利用生成对抗网络(GAN)及无监督学习两种深度学习技术,实现场景
    发表于 05-16 15:55 2527次阅读

    你想要的机器学习课程笔记在这:主要讨论监督学习和无监督学习

    with experience E(一个程序从经验E中学习解决任务T进行某一任务量度P,通过P测量在T的表现而提高经验E(另一种定义:机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。) 不同类型的机器学习算法:主要
    发表于 12-03 17:12 538次阅读

    如何用Python进行无监督学习

    监督学习是一种用于在数据中查找模式的机器学习技术。无监督算法给出的数据不带标记,只给出输入变量(X),没有相应的输出变量。在无监督学习中,算法自己去发现数据中有趣的结构。
    的头像 发表于 01-21 17:23 4214次阅读

    机器学习算法中有监督和无监督学习的区别

    监督学习的好处之一是,它不需要监督学习必须经历的费力的数据标记过程。但是,要权衡的是,评估其性能的有效性也非常困难。相反,通过将监督学习算法的输出与测试数据的实际标签进行比较,可以很容易地衡量
    的头像 发表于 07-07 10:18 5700次阅读

    最基础的半监督学习

    导读 最基础的半监督学习的概念,给大家一个感性的认识。 半监督学习(SSL)是一种机器学习技术,其中任务是从一个小的带标签的数据集和相对较大的未带标签的数据中学习得到的。SSL的目标是
    的头像 发表于 11-02 16:08 2611次阅读

    监督学习最基础的3个概念

    有趣的方法,用来解决机器学习中缺少标签数据的问题。SSL利用未标记的数据和标记的数据集来学习任务。SSL的目标是得到比单独使用标记数据训练的监督学习模型更好的结果。这是关于半
    的头像 发表于 11-02 16:14 2925次阅读
    半<b class='flag-5'>监督学习</b>最基础的3个概念

    为什么半监督学习是机器学习的未来?

    揭示添加无监督数据可以提高模型泛化和性能。事实上,在非常多的场景中,带有标签的数据并不容易获得。半监督学习可以在标准的任务中实现SOTA的效果,只需要一小部分的有标记数据 数百个训练
    的头像 发表于 11-27 10:42 3868次阅读

    监督学习:比监督学习做的更好

    监督学习是人工智能领域的第一种学习类型。从它的概念开始,无数的算法,从简单的逻辑回归到大规模的神经网络,都已经被研究用来提高精...
    的头像 发表于 12-08 23:32 1386次阅读

    机器学习中的无监督学习应用在哪些领域

    监督学习|机器学习| 集成学习|进化计算| 监督学习| 半监督学习| 自
    发表于 01-20 10:52 4913次阅读
    机器<b class='flag-5'>学习</b>中的无<b class='flag-5'>监督学习</b>应用在哪些领域

    监督学习的一些思考

    监督学习的流行是势在必然的。在各种主流有监督学习任务都做到很成熟之后,数据成了最重要的瓶颈。从无标注数据中学习有效信息一直是...
    发表于 01-26 18:50 1次下载
    自<b class='flag-5'>监督学习</b>的一些思考

    深度学习中的无监督学习方法综述

    应用中往往难以实现。因此,无监督学习在深度学习中扮演着越来越重要的角色。本文旨在综述深度学习中的无监督学习方法,包括自编码器、生成对抗网络、
    的头像 发表于 07-09 10:50 487次阅读