文本/谷歌人工智能苏黎世办公室詹姆斯里昂
2017年我们发布了带听歌功能的Pixel 2,就是利用深度神经网络将低功耗、常开的音乐识别功能带到移动设备上。在开发“听歌”时,我们的目标是创建一个紧凑、高效的音乐识别器,它要求数据库中的每个曲目都有一个非常小的指纹,以支持音乐识别功能在不连接互联网的情况下完全在设备上运行。事实证明,“听音乐,认识朋友”不仅对设备上的音乐识别器有效,而且它的准确性和效率也大大超过了我们当时使用的服务器端系统的语音搜索,后者建立时,深度神经网络还没有得到广泛应用。我们自然想知道,在服务器端的“声音搜索”中,能否运用“唱乐知友”背后的技术,让谷歌的音乐识别功能成为世界上最好的。
最近我们发布了新版的“声音搜索”,采用了《听歌和朋友》中使用的一些技术。你可以通过谷歌搜索应用或者谷歌助手在任何安卓手机上使用这个功能。只要打开语音查询功能,当你附近有音乐播放时,系统就会弹出“这首歌叫什么名字?”提示你点击查询。或者,你可以直接问“嘿Google,这首歌叫什么名字?”借助最新版本的语音搜索,您可以获得比以往任何时候都更快、更准确的搜索结果!
《闻音乐与朋友》与《寻声》之比较
“音乐识别技术”使音乐识别技术小型化,使其足够小巧高效,在移动设备上连续运行,对电池没有明显影响。为此,我们开发了一个全新的系统,利用卷积神经网络将几秒钟的音频转换成独特的“指纹”。然后,系统会将指纹与存储在设备上的海量音乐数据库进行比较,并定期更新数据库,添加最新发布的曲目,删除过时的曲目。相比之下,服务器端的“声音搜索”系统就不一样了,需要比较的曲目数量是“听歌听友”的1000倍左右。因为音乐库数量太大,对搜索的速度和准确性都是一个很大的挑战。在深入讨论这一部分之前,我们先了解一下“听歌知友”的操作原理。
“闻乐知友”核心匹配流程
音乐指纹是通过将八秒音频片段的音乐特征投影到一系列低维嵌入空中而生成的。这些低维嵌入空包含7个时长为2秒的音频片段,片段之间的时间间隔为1秒,从而生成如下分割图:
然后“文曲·尹稚”会搜索该设备内置的歌曲数据库,寻找相似的嵌入序列,这些序列也是使用相同的神经网络处理流行歌曲生成的。“数据库搜索”使用两阶段算法来识别匹配的歌曲。第一阶段,使用快速但不准确的算法搜索整个歌曲数据库,找出一些可能的候选歌曲;在第二阶段,详细分析每首候选歌曲,以找出正确的匹配歌曲(如果有的话)。
匹配,阶段 1:找出合适的候选歌曲:对于每次嵌入,“闻曲知音” 都会对设备内置数据库中的歌曲进行最邻近搜索以找出类似嵌入。数据库使用空间分割和向量量化混合法,以有效搜索数百万嵌入向量。由于音频缓冲区非常嘈杂,因此只能进行近似搜索,而且并非每次嵌入都能在数据库中找到正确歌曲的邻近匹配。但是,在整个音频片断中找到正确歌曲的几个邻近嵌入的机率非常高,因此,搜索范围会缩小到获得多次嵌入的一小组歌曲。匹配,阶段 2:最终匹配:由于上述数据库搜索方法为近似搜索,“闻曲知音” 可能无法找到我们查询的某些嵌入附近的歌曲嵌入。因此,为获得准确的相似度分数,“闻曲知音” 会检索数据库中每首歌所有可能相关的嵌入,以填补 “缺口”。然后,结合音频缓冲区的嵌入序列和设备内置数据库歌曲中的另一个嵌入序列,“闻曲知音” 会两两评估其相似性分数并相加,以得到最终的匹配分数。用一系列的嵌入代替单一的嵌入,对于“听歌听友”匹配歌曲的准确性非常重要。指纹识别神经网络仅通过单次嵌入来识别歌曲是不够准确的——每次嵌入都会产生大量的误报。但是结合多次嵌入的结果,很容易消除误报,因为每一次嵌入都可以匹配到正确的歌曲,而误报只匹配一两次输入音频的嵌入。
扩展“声音搜索”服务器的“听音乐”功能
到目前为止,我们已经详细介绍了如何将歌曲与设备内置数据库中的歌曲进行匹配。最大的挑战是,很多歌曲会产生上千次的假阳性结果,从“和朋友一起唱歌”到上亿首歌曲的“声音搜索”。为了在不做其他改变的情况下补偿这一点,我们不得不提高识别阈值,这意味着如果我们想要得到确认的匹配结果,我们需要识别更多的音频。不过新版“语音搜索”服务器的目标是比“闻音乐和朋友”匹配更快,而不是更慢。因此,我们不希望用户等待一个结果超过10秒。
由于“声音搜索”是服务器端系统,它不受处理和存储数据的约束,就像“听歌”一样。因此,我们在指纹识别方面做了两项重大改变,这两项改变都以牺牲服务器资源为代价提高了准确性:
我们将所用神经网络的大小增加了四倍,并将每次嵌入从 96 维增加到 128 维,这就减少了神经网络将高维输入音频打包成低维嵌入所需的工作量。这对提高第二阶段的搜索质量至关重要,因为其十分依赖于原始神经网络输出的准确性。我们将嵌入密度增加了一倍,事实证明,每 0.5 秒(而不是 1 秒)进行一次音频指纹识别并不会显著降低个别嵌入的质量,由于可用于匹配的嵌入数量增加一倍,质量反而有很大提升。我们还决定根据歌曲的流行程度来加权指数。事实上,我们降低了流行歌曲的匹配阈值,提高了未知歌曲的匹配阈值。总之,这意味着我们可以几乎无限期地向数据库中添加更多(未知)歌曲,而不会显著降低识别速度。
结论
对于“听音乐,认识朋友”,我们原本打算用机器学习来创建一个音频指纹识别系统,不仅要功能强大,还要设计得足够简单,完全可以在手机上运行。但实际上,我们已经成功打造了一款优秀的全方位音频指纹识别系统,并将其设计思路扩展到服务器端的“声音搜索”系统,虽然“声音搜索”面临的挑战与“听音乐”不同。
当音乐声音很小或者在很嘈杂的环境下,我们每次都无法匹配,这意味着我们还有空的很大提升,但是我们坚信可以提高系统的识别速度。我们将继续迎接这些挑战,目标是提供新一代音乐识别技术。想知道下次放什么音乐,试试!您可以在主屏幕上创建如下快捷方式:
表示感谢/感激
我们衷心感谢米夏·立斯特、米哈伊洛·维利米洛维奇、马文·里特、郭瑞琪、桑基夫·库马尔、斯蒂芬·吴、迭戈·梅兰多·卡萨多、卡蒂亚·纳柳卡、杰森·桑德斯、垮掉的格费尔勒、朱利安·奥德尔、克里斯蒂安·弗兰克、·罗布莱克、马特·沙里菲和布莱斯·阿圭拉·阿卡斯。
1.《谷歌音乐搜索 Google 新一代音乐识别》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《谷歌音乐搜索 Google 新一代音乐识别》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1220767.html