图片来自 pexels
2019 年 6 月 21 日-6 月 22 日,由 51CTO 主理的 WOT 环球人工智能技能峰会在北京粤财 JW 万豪酒店隆重举行。
在机器学习实践专场, 网易云音乐的音乐推举算法卖力人肖强,给大家先容了《AI 算法在音乐推举中的实践》。
本次分享重点先容 AI 算法在音乐推举中的运用实践,以及在算法落地过程中碰着的寻衅和解决方案。
将从如下两个部分展开:
AI 算法在音乐推举中的运用音乐场景下的 AI 思考从 2013 年 4 月正式上线至今,网易云音乐平台持续供应着:乐屏社区、UGC(User Generated Content)歌单、以及精准推举等做事,孵化出了音乐人操持、LOOK 直播、以及主播平台等版块。
目前云音乐的注册用户有 6 个亿,而且持续在音乐类 App 排行榜里蝉联着第一的位置。
AI 算法在音乐推举中的运用
在音乐推举的实际运用处景中,我们采取了 AI 技能来分发歌曲与歌单。个中比较范例的运用是:逐日歌曲和私人 FM,它们能够根据个性化的场景,进行干系曲目的推举。
上图是我们全体音乐推举系统的逻辑图,包括各种日志流、ETL、特色、召回、排序和末了的推举。
对付该推举系统而言,最紧张的是如何理解用户的画像,也便是通过对前端数据进行整合,理解用户详细喜好什么样的音乐。
如上图所示:
在数据层,我们紧张用到了 Hive、Hadoop、Flink、SparkSQL 和 Mammut。在机器学习层,我们则用到了 SparkML、Tensorflow、Parameter Server 和 Caffe。上面是数据体系培植的比拟图,个中,算法体系培植包括了针对用户体系的培植,这是云音乐 AI 算法的运用环境。
而我们的团队则紧张分为:
数据体验团队人工智能算法团队中台团队业务干系的成员说到采取人工智能的推举办法,音乐类推举与其他商品有着不同的地方。例如:
由于我们能够在很短的韶光分辨出自己的喜好,以是我们可以做到在 10 秒钟内浏览十来条连衣裙。但是音乐是须要花韶光去体验的,每每一首曲子我们听了 10 秒钟或者更长的韶光后,才创造它并非我们所喜好的。
以是说,音乐不是通过直接看就能被理解的,我们在制作推举产品的过程中,该当以用户的体验为导向,真正去理解音乐的本身。
连衣裙每每在单位韶光内只能被消费一次,但是人们可以通过循环播放列表、以及单曲循环的办法,在单位韶光内反复欣赏音乐。因此,这是一种可重复消费的行为,我们在做推举时应该把握此规律。由于音乐消费的本钱比较高,我们更须要重视用户的体验,以及用户在其消费过程中存在的、较强的韶光先后关联性。同时,是否给让用户收听一首歌曲的 10 秒、30 秒、以及 60 秒,对他们来说其表达的含义是截然不同的。因此,我们须要供应的是真正故意义的消费,从而让这些关联性表示出有效的行为含义。怎么去衡量音乐推举系统的利害呢?是稽核用户利用该平台的时长?还是看他在收藏夹内收藏的音乐曲目数?当然,我们曾经创造有些用户从来不以点击红心的办法去收藏任何歌曲。后期通过互换,我们才创造他实在只是直接把自己碰到的不喜好的歌曲拉黑了而已。可见,我们很难用单一目标去衡量音乐推举系统的效果。
下面我们来看看,云音乐平台是如何运用各种 AI 技能的:
①音乐的繁芜性
鉴于上面提到的有关音乐的繁芜性问题,我们该如何去理解音乐呢?在我们的平台上,针对不同的音乐,有着丰富的 UGC、以及各式各样有质量的用户评论。
因此,我们可以利用这些针对歌单的评论与认知,采取双向的 bi-Istm,来针对音乐天生一些描述性的语句。
那么,当有新的音乐被输入时,我们便可以基于与之干系的较少的措辞,来制订出一个新的阐明性描述。
如上图所示,例如有一首《逆流之河》的歌曲,其下方有着许多干系的歌单标题和描述信息。
我们可以通过新增关键词,来还原各种标记词,进而产生对付该音乐人的干系特色描述。
在此根本上,我们再根据人工过滤的词汇表,自动天生诸如:“网络的华语女声”、“喷鼻香港民谣歌曲”等短语。
因此,凭借着该 NLP(自然措辞处理)系统,我们终极能够实现歌曲短语的可视化。
籍此,对付社区里的用户来说,他们乃至可以不用点开某个歌曲收听,就能够大致获悉该歌曲所归属的类型。
其次,我们可以利用比较大略的“视频+图像+卷积”技能,来理解音乐。
例如,对付一些比较热门的歌曲,我们利用已天生的表达、以及现有的关联性,进而获取干系的音频,识别歌曲的响度、节奏、风格、以及音乐之间的相似性,给音乐进行“画像”。
②音乐中的重复消费代价
这里紧张表示的是音乐推举中的 CF。如上图所示,我们通过跟踪创造:某个用户将 A 歌曲听了 10 次,将 B 歌曲听了 9 次,而 C 歌曲只听了 1 次。
那么我们就可以对 A、B、C 的相似关联性理解为:该用户偏好 A 和 B 类歌曲更多一些,而且 A、B 之间的关联性也更大一些。
因此,基于用户的此类重复消费频次,我们可以通过设置 X、Y、Z 坐标轴的关系,来表达它们之间的空间位置、以及空间方向的差异性。
显然,有了此类相似度的打算,我们对付各种音乐的推举效率会有大幅的提升。
③音乐的高消费本钱、前后高关联特性,更加哀求有得当的模型去表达用户的需求
如上图所示,我们经历了从一开始的线性模型、到树模型、到大规模 FTRL、再到深度神经网络、末了到深度时序网络,这么一个音乐推举方面的迭代过程。
首先,我们从 LR 模型入手。该 LR 模型的阐明性较强,便于我们进行选择。不过,虽然它的阐明性较强、且迭代的速率较快,但是它的表达能力是非常有限的。
后来,我们转到了树模型。该模型中的 RF 和 LGB 等模型具有:能够办理部分非线性可阐明的优点,当然其缺陷在于拟合能力有待加强。
接着,我们上马了适宜表达的大规模 FTRL。其优点在于:可以通过影象类特色,基于之前的学习和时序演习,表达并刻画出所有的特色与关联性。
而缺陷则是特色纬度比较大,即:对付来自不同公司的不同需求,须要的样本量会比较多,打算量也会比较繁芜。
为了增加后续的表达能力,我们采取了深度神经网络,包括:DNN、DeepFM 以及 Wide&Deep 等模型。
它们的优点是理论性非常强,而缺陷是:由于本身神经网络的繁芜性,因此它们的可阐明性比较差,也不能学习到各种隐含的时序关系。
末了,我们采取了深度时序网络,其对应的模型包括:LSTM、GRU Transformer、DIN 以及 DEIN,它们的优点是能够学习到不同的时序特色,进而具有刻画+泛化的能力。
当然,它们同样带有上述提到的深度神经网络的缺陷,即:网络比较繁芜,而且可阐明性比较差。
我们下面来看看 LR 以及树的模型。前面我们说过,线性与树模型的特点是:统计类/泛化类特色很丰富,但是泛化能力比较差。
在歌曲运用处景中,我们可以直接把与歌曲干系的、由用户行为所产生的丰富数据,供应给该模型。
通过算法,我们须要将各种音乐指标抽象成标签。可是,虽然我们有足够多的音乐资源和行为样本,但是由于行为序列每每不是线性的,因此我们反而碰着了过拟合、以及特色韶光穿梭(即特色影象)方面的问题。
我们亟待通过线下与线上的特色同等性,来有效地利用数据,学习不同行为的前后关联性,进而提升模型的拟合能力。
因此,为了提升拟合能力,我们首先考试测验的是 DNN 模型。DNN 在构造上是通过 ReLU 来担保对付低阶特色组合和高阶特色组合的全连接,但是这也导致了整体数量的膨胀。
于是,我们改进为 DeepFM,它能够同时对低阶特色组合和高阶特色的组合进行建模,从而能够学习到各阶特色之间的组合关系。如上图所示,我们在后期还引入了 DCN。
DCN 可以显式地学习高阶特色的交互。我们可以籍此来有效地捕获高度非线性的交叉特色。
由于仍保持了 DeepFM 模型,我们可以有效地掌握向量的扩展,从而让参数的空间得以缩小。
在前文中,我们也提及了时序关联表达的问题。对此,我们曾经采取过针对点击率的 DIN(Deep Interest Network)。
在用户的多样化兴趣点中,DIN 重点关注的是那些会影响到当前推举的历史行为。不过,DIN 无法捕获用户对付音乐兴趣类型的动态变革。
例如,某个用户以前喜好电声类音乐,后来改为喜好民谣了。那么此类“演进”正是 DIN 所无法捕获的。
在此根本上,我们改用到了深度兴趣蜕变网络(DIEN)模型。该模型的紧张特点是:通过关注用户在系统中的兴趣蜕变过程,设计了兴趣抽取层与进化层。
它采取新的网络结果和建模形式,来更精确地表达用户兴趣的动态变革,以及时序演进的过程。
为了更加细粒度地节制用户的兴趣变革,我们还利用了 DSIN 模型。DSIN 紧张由两部分构成:一个是稀疏特性,另一个是处理用户行为序列。
该模型能够创造某个用户在同一个 Session 中,所浏览商品的相似性;以及在不同 Session 中,所浏览商品的差异性,进而抽取用户的时序兴趣。
④在音乐消费中,鉴于用户需求的繁芜性,很难用单一目标去衡量音乐推举系统的利害
虽说推举系统是一个范例的统计学运用,但是统计学只能办理 95% 的问题,剩下的 5% 是有关个人偏好方面的。
我们在实际运用中每每会碰着各种问题,个中包括:CTR(Click-Through-Rate,点击率)与消费时长的关系并非同步提升,有时候乃至呈现出此消彼长的趋势。那么我们该怎么办理多目标的问题呢?
针对多目标问题,我们有许多种办理方法可供选择。如上图所示,有:样本加权、Weight Loss、以及部分网络共享。因此,我们采取了多目标联合演习,这种大略的实现办法。
在上图中,我们首先在网络层担保了各项输出,并实现了浅层共享表示。因此,在演习效果上,虽然目标之间也存在一定的差异性,但是随着我们引入了差异网络进行演习,收藏率和消费时长都得到了明显的提升。
可见,联合演习的上风在于:
通过多个目标任务在浅层共享表示,我们在任务之间加入了噪音数据。此举既降落了网络过拟合,又提升了泛化的效果。在多目标任务的学习中,我们通过让不同任务的局部极小值处于不同的位置,并能够相互浸染,以帮忙逃离局部的极小值。通过多目标任务的联合演习,让模型尽可能地去求解多任务的共同最优解。利用类似于“窃听”的办法,跟踪用户对付音乐的收藏等操作,进而做出相应的判断。回顾我们在前文中所提到的音乐推举与其他类型推举的差异点,我们实现了如下点对点式的办理方案:
差异:基于音乐本身的繁芜性,我们该如何理解音乐资源呢?办理:利用 NLP、视频、以及图像技能去更好地理解音乐。差异:可重复消费与不可重复消费的不同之处。办理:利用音乐的消费特性,去智能地剖析不同歌曲之间的关联性。差异:各种音乐不但消费的本钱较高,而且前后有着明显的关联性。其余,有效行为的含义每每会更加丰富。办理:利用繁芜的 AI 模型,去探究用户听歌的序列关联性。差异:很难采取单一的目标,去衡量音乐推举系统的效果。办理:利用 MTL 技能,去办理用户的多样性需求。音乐场景下的 AI 思考
那么,音乐场景为什么一定须要 AI 呢?显然,如今已经不是过去那种靠买 CD、唱片听歌的端到端时期了。
在我们的音乐推举平台上有着亿万个用户。他们在不同的心情状态下,面对由十万多个音乐人产生的千万多首音乐作品,须要通过美好的音乐来获取良好的心情。
我们可以绝不夸年夜地说:“耳机是互联网时期的输氧管,而音乐则是氧气。”
因此,我们须要在一个 4 维的空间内,办理繁芜的匹配问题。而这正是人工智能的用武之地。
通过基于 AI 的推举系统,我们能够不断供应强大的长尾发掘能力和精准的匹配能力,进而在不断提升用户体验的同时,来促进他们志愿分享和发掘网易云音乐平台上更多的歌曲资源。
为了达到上述目的,我们建立了一个如上图所示的体系构造。详细包括如下方面:
用户心智模型体系。包括:行为、认知、态度等。用户调研体系。包括:调研问卷等。Case 剖析体系。包括:剖析用户、及用户群的利用行为。评估指标体系。包括:收藏率、切歌率、以及利用时长等。数据反馈体系。包括:收藏、切歌、离开等正负向反馈。通过这些定性和定量的用户体验评估体系,我们采取知识图谱、统计学习、以及强化学习相结合的办法,构建出了如下的三层模型体系:
排序体系。包含:排序模型、ee 模型、以及盛行趋势模型。匹配体系。包含:行为推举模型、以及新内容创造模型。数据体系。包含:行为数据、用户画像、以及内容画像。通过上述这些,我们不断节制与用户干系的数据知识、乃至专家知识,从而更好地提升了平台的针对性和用户的接管程度。
【51CTO原创稿件,互助站点转载请注明原文作者和出处为51CTO.com】