Google为你复活巴赫

日期:03-28
巴赫Google音乐

文 宋德胜

人类教会AI学习,而AI回馈人类以创作灵感。

十四年前,Anna Huang完成了她人生第一个音乐与计算机结合的学术课题——PalestrinaPal(http://t.cn/EJpCSwl),一款基于Java的分析工具,帮助检测学生模仿文艺复兴时期作曲名家帕莱斯特里纳的作曲风格时是否存在语法、风格和规则不符的问题。

论文完成之后,Huang迫不及待地介绍给在南加州大学桑顿音乐学院的老师们。她兴奋地告诉他们,这款工具能够帮助到他们的教学,让学生在练习的过程中更好更快地改进自己模仿作曲的水平。

但老师们否定了Huang的想法,他们认为这样的工具虽然好用,但对学生来说是走捷径的行为,会影响到基本功的训练。‘他说这不是我们(想要的),这是你的想法,不是我们的。’Huang回忆道。

但有着计算机和音乐双重背景的Huang并没有因为老师的否定而放弃,她认为传统的教学方式太过枯燥。在一遍遍学习各种作曲规则的过程中,枯燥的教学某种程度上磨灭了学生们音乐创作的灵感。Huang认为那些繁琐的规则学习和查错作业完全可以通过计算机辅助以更高效的方式完成,学生应该更直接地接触更有音乐性的东西。‘我们上课,或者向作曲家学习的,应该是学习怎样去表达我们想表达的东西,去寻找我们到底想说的是什么。’

她因此认定了技术辅助音乐创作这条路。从南加州大学拿到计算机科学和音乐作曲学士学位之后,Huang先后在麻省理工学院媒体实验室和哈佛大学拿到了相关专业的硕士和博士学位,并最终加入Google Brain下设的Magenta团队(http://t.cn/EJpCFv6),从事机器学习与音乐创作的研究。

首款AIDoodle

在Huang被老师否定的十四年之后,2019年3月21日,为纪念音乐史上最重要的作曲家之一约翰·塞巴斯蒂安·巴赫诞辰334周年,Google上线了首款基于AI技术的巴赫诞辰纪念Doodle(http://t.cn/ExYvZCI)。在这款登陆Google首页48小时的Doodle背后,正是Huang三年前加入GoogleMagenta时开始研究的机器学习算法模型Coconet(http://t.cn/Exuj4AN)。

巴赫Doodle的动画效果|Google

巴赫Doodle的动画效果|Google

交互式的巴赫Doodle更像是一款小游戏。用户在五线谱上,鼠标点击随意谱写下一段音乐,点击‘和声’(Harmonize),几秒之后Doodle背后的机器学习算法就会根据用户刚刚输入的旋律,生成一段巴赫风格的协奏小曲。

打造一款巴赫创意Doodle的想法最初来自Doodle的团队。一年半以前,Doodle团队想要制作一款创意交互的音乐主题Doodle,他们选中了德国著名作曲家巴赫,‘巴赫是一个大家都很崇拜的作曲家,如果我们可以和巴赫一起创作的话,那会是一个很奇妙的过程。’Huang对极客公园说道。抱着这样的想法,Doodle的团队在Google内部找到了专注机器学习和艺术创作的Magenta团队,与正在使用巴赫音乐训练Coconet多功能模型的Huang一拍即合。

Huang于三年前以实习生的身份加入GoogleBrain内部刚刚成立的Magenta团队,研究单线的旋律创作。但Huang认为音乐应该是多条线并行创作的,这是一个需要克服的课题,虽然当时的Magenta并没有解决这一问题,但研究已初具雏形。随后Huang结束了在Magenta的实习,前往蒙特利尔大学的蒙特利尔学习算法研究所(MILA)以访问研究生的身份访学,一年之后她作为常驻AI研究员回归Magenta团队,并继续Coconet的研究。

也是这个时候,Doodle的团队找上门来,他们决定和Magenta团队一起打造这款纪念巴赫的交互型Doodle。对他们来说最大的问题就是如何让耗时较长的研究项目能够面向普通用户,提供轻松简单的交互体验。原本Coconet需要45秒左右的时间才能在一台电脑上生成两小节的音乐,这显然是不能满足用户需求的。因此Doodle和Magenta团队采用了Google PAIR的Tensor Flow.js,一个能够在前端浏览器上运行的机器学习加速架构。调整适配之后,Coconet的运行速度维持在4秒到8秒之间,最低只需要2秒就能完成。另外,针对无法启用TensorFlow.js的情况,巴赫Doodle会启用Google自研的机器学习处理单元TPU,尽可能地加速处理过程。

306首音乐训练出的模型

机器学习辅助创作并不是一件新鲜事,过去几年间已有多家研究机构和科技公司发布了类似剧本写作和新闻写作的AI应用。但文字与音乐不同,线性的文字叙述只有一条单线,而音乐是多线并行的,这种多线并行的结构中,巴赫的作品就是最典型最基础的样本。

‘巴赫可以让我们学习到这些线应该怎样连接,每条线都有自己的性格,但是它们走在一起的时候是很和谐的。每一个学音乐的学生都是从这里开始,所以我们也从这里开始教人工智能怎样创作。’Huang解释说。

巴赫Doodle的交互界面|Google

巴赫Doodle的交互界面|Google

Magenta团队选择了巴赫的306首众赞歌作为Coconet模型的训练数据,‘巴赫众赞歌多为四声部,每个声部有着自己的旋律线,一起演奏时就能创造出丰富的和声效果。这种简洁的结构使其成为机器学习模型的良好训练数据。’巴赫Doodle的GoogleAI团队项目经理Lauren Hannah-Murphy在介绍博客(http://t.cn/EJppqp6)中写道。

不管巴赫的作品再适合训练,仅仅三百首音乐的数据体量也几乎不可能撑起一个靠谱的机器学习模型。Huang对此非常清楚,所以针对数据不足的情况,他们选择了一个更为精巧的训练方式。

GoogleCEOSundarPichai转发分享巴赫Doodle|推特截图

GoogleCEOSundarPichai转发分享巴赫Doodle|推特截图

传统机器学习算法模型的训练方式是将数据一次性灌输给模型,这样的学习操作过程简单,但是产出的结果是模型往往只能理解作品如何从开头流畅地过渡到结尾,却无法从结尾推导回中间的内容。

Coconet模型的训练方式采用训练方式是将一首完整音乐的某个部分抹除,留给AI模型根据抹除部分两边的内容,自己通过算法演算出中间部分,再与原作对比,一点点矫正,直到最接近巴赫的风格。通过这样不同排列组合的方式,三百首音乐也就能够产出更多的训练样本。

‘就像很多时候我们写音乐或者写文章,不是说从头到尾一气呵成,而是会有很多次修改、很多跳动,这个模型创作的方式也是这样,’Huang说道,‘一开始先写一个比较粗糙的稿,然后慢慢决定每一个地方的细节,再去修改。所以它能够和你一起创作,一起互相修改作品。’

巴赫Doodle静态图|Google

巴赫Doodle静态图|Google

不过因为机器学习的黑箱性质,它对巴赫风格的理解与人类不尽相同。Coconet比较看重音乐的曲式(pattern),从乐谱开始,音乐就被转换成基于像素(pixel)堆叠的图像(image),机器对旋律的理解就是对这些像素连接结构的理解。因此机器也会把风格迥异的音乐带到巴赫的风格上,表现在音乐的曲式上,就是‘音乐的线条会向上然后向下…。。它很喜欢有些断点,有时候音乐是比较流畅的,有时候它会把你带到断点,再出发,再带到断点。’Huang说道,‘这种感觉是巴赫很喜欢(用的),有一些规律性。’

音乐的技术性

当然,Coconet目前还只能制作一些较短的旋律和弦,它‘看不到’长线的结构,比如音乐家想要在曲子里表达的深层想法,这是现阶段的机器学习无论如何无法感知的部分。

所以在谈及技术的局限性时,研究多年计算机和音乐的Huang比任何人都要清楚。从最开始,她想要的就是一个辅助作曲者、提供更多灵感的工具。

在被问到巴赫Doodle背后的工具更适合经验丰富的作曲人还是基础薄弱的初学者时,Huang表示不同的人使用工具的方式也不一样,对初学者而言,简易上手的工具可能会让他们发掘出自己潜藏的音乐天赋,从而喜欢上音乐,走上这条路。但对于那些有一定经验的作曲者来说,Coconet会提供一些不同于作曲者本人的想法,在输入原创的音乐材料之后,也许能收获‘一些很不一样的东西’。

AnnaHuang在GoogleAI上的介绍页|GoogleAI网页截图

AnnaHuang在GoogleAI上的介绍页|GoogleAI网页截图

‘那些不一样的东西,我觉得某种程度上是蛮珍贵的,因为很多时候作曲家会害怕,害怕自己哪一天突然没有了灵感。’Huang说,像Coconet这样的模型,就是向作曲家们提供一个灵感源泉,一个额外的选择。

Huang从小在香港长大,接受着严苛的艺术教育,常常因为乐器考试的枯燥而讨厌音乐,但一次观看古筝表演的经历让她爱上了这种乐器,‘这是我想要的,是我觉得可以很自然地表达情绪的方式。’随后几年的古筝学习让Huang逐渐开始了自己的音乐创作,但她很快也发现,学习作曲是一个非常困难的过程,起初她对和弦的认识不深,因此学得很慢,几个月的时间只学会了几个和弦,音乐创作的可能性也因此受到了很多的限制。

相比之下,计算机对Huang来说是个与生俱来的技能,她的父亲是大学的计算机教授,对她而言这是个‘不用去学校学,自己可以探索的东西。’随着她对计算机和音乐两方面的认识逐渐加深,Huang开始想在音乐方面用计算机做一些东西。‘计算机可以拉近我和音乐的距离。’她说,‘音乐是很感性的,但它也有理性的一面,有很技术的部分。在学习音乐的时候,你也要学习一些技术,它可以让你更容易发现自己想要表达的东西。’

‘就像学外语一样,它可以帮助你跑得更快一点,一开始的时候你不知道该怎么表达,它可以帮你做得更好,可以让你觉得学这个更有趣,更好玩,更想要去表达。’

Peter Stern挂帅 苹果流媒体未来将如何运作? 亚马逊、大众达成“工业云”合作 将提高工厂效率
相关阅读: