关于网易云音乐冷启动技术的推荐系统

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

关于网易云音乐冷启动技术的推荐系统

一、问题背景:冷启动建模的必要性和重要性

关于网易云音乐冷启动技术的推荐系统

作为一个内容平台,云音乐每天都会有大量的新内容上线。虽然相较于短视频等其他平台,云音乐平台的新内容数量相对较少,但实际数量可能远远超出大家的想象。同时,音乐内容与短视频、新闻、商品推荐又有着显著的不同。音乐的生命周期跨度极长,通常会以年为单位。有些歌曲可能在沉寂几个月、几年之后爆发,经典歌曲甚至可能经过十几年仍然有着极强的生命力。因此,对于音乐平台的推荐系统来说,发掘冷门、长尾的优质内容,并把它们推荐给合适的用户,相比其他类目的推荐显得更加重要

冷门、长尾的 item(歌曲)由于缺乏用户交互数据,对于主要依赖行为数据的推荐系统来说,想要做到精准分发是非常困难的。理想情况是允许拿出一小部分流量做探索分发,在探索中积累数据。但是,线上的流量又十分珍贵,探索往往容易破坏用户体验。而推荐作为直接对业务指标负责的角色,不允许我们为这些长尾 item 做过多不确定的探索。因此,我们需要做到从一开始就能较为精准地找到 item 潜在的目标用户,也就是零交互记录 item 冷启动。

二、技术方案:特征选取、模型建模

接下来分享云音乐采用的技术方案。

关于网易云音乐冷启动技术的推荐系统

核心问题是如何找到冷启动项目的潜在目标用户。我们将问题分为两个部分:

在没有用户点击播放的情况下,冷启动项目还有哪些有效的信息可以作为特征帮助我们进行分发?这里我们采用了音乐的多模态特征

如何利用这些特征来做好冷启动分发建模?针对这一点,我们将分享两个主要的建模方案:

I2I建模:自引导对比学习增强冷启算法。U2I建模:多模态 DSSM 用户兴趣边界建模。

关于网易云音乐冷启动技术的推荐系统

重新写成中文:歌曲本身是一种多模态信息,除了语种、曲风等标签信息外,歌曲的音频和文本(包括歌名和歌词)中包含了丰富的信息。理解这些信息,并发现它们与用户行为之间的关联性,是成功进行冷启动的关键。目前,云音乐平台采用了CLIP框架来实现多模态特征表达。对于音频特征,首先采用一些音频信号处理方法,将其转换为视频领域的形式,然后使用序列模型如Transformer进行特征提取和建模,最终得到一个音频向量。对于文本特征,采用BERT模型进行特征提取。最后,使用CLIP的自监督预训练框架,将这些特征进行序列化,得到歌曲的多模态表示

对于多模态建模,业界有两种做法。一种是将多模态特征放到业务的推荐模型中进行端到端的一阶段训练,但这种方法的成本较高。因此,我们选择了两阶段的建模。首先进行预训练建模,然后将这些特征输入到下游业务的召回模型或精排模型中进行使用。

关于网易云音乐冷启动技术的推荐系统

如何将一首没有用户交互行为的歌曲分发给用户呢?我们采用的是间接建模方案:把歌曲到用户(I2U)问题转化为歌曲-相似歌曲-用户(I2I2U)问题,即先找到与这首冷启动歌曲相似的歌曲,然后这些相似的歌曲与用户有一些历史交互记录,例如收藏等比较强的信号,可以找到一批目标用户。然后将这首冷启动歌曲分发给这些目标用户。

关于网易云音乐冷启动技术的推荐系统

具体的做法如下,首先第一步是监督学习的任务。在歌曲特征方面,除了刚才提到的多模态信息外,还包括歌曲的标签信息,如语种、曲风等,以此来帮助我们进行个性化建模。我们将所有特征聚合到一起,输入到一个编码器中,最终输出歌曲向量,每个歌曲向量的相似度可以通过向量内积来表示。学习的目标是基于行为计算出的I2I的相似度,即协作过滤的相似度,我们在协同过滤数据的基础上加了一层后验校验,即基于I2I推荐后,用户反馈效果较好的一对项目对作为学习的正样本,以确保学习目标的准确度。负样本采用全局随机采样构建。损失函数采用BPR损失。这是推荐系统中非常标准的CB2CF的做法,即基于歌曲的内容、标签信息去学习歌曲在用户行为特征上的相似度

关于网易云音乐冷启动技术的推荐系统

在上述方法的基础上,我们引入了对比学习作为第二步的迭代。我们之所以选择引入对比学习,是因为在这一套流程学习中,我们仍然使用CF数据,并且需要通过用户的交互行为来进行学习。然而,这样的学习方法可能导致一个问题,即学习到的物品会存在“热门物品学得多,冷门物品学得少”的偏差。虽然我们的目标是从歌曲的多模态内容到歌曲的行为相似性进行学习,但在实际训练中发现仍然存在热门和冷门的偏差问题

因此我们引入了一套对比学习算法,旨在增强冷门 Item 的学习能力。首先,我们需要有一个 Item 的表征,这个表征是通过之前多模态 encoder 学习得到的。然后,对这个表征进行两个随机变换,这是 CV 中一些常见的做法,在特征上做随机的 mask 或者加噪。由同一个 Item 产生的两个经过随机变化的表征被认为是相似的,由不同Item 产生的两个表征被认为是不相似的,这样的对比学习机制是对冷启动学习的数据增强,通过这样的方式生成对比学习知识库样本对。

关于网易云音乐冷启动技术的推荐系统

在特征增强的基础上,我们还加入了关联分组机制

重写后的内容如下:关联分组机制:首先计算每对特征之间的相关性,即维护一个相关性矩阵,并在模型训练过程中更新该矩阵。然后根据特征之间的相关性将特征分为两组。具体操作是,随机选择一个特征,将与该特征最相关的一半特征放入一组,将剩余的放入另一组。最后,对每组特征进行随机变换,从而生成对比学习的样本对。这样,每个批次内的N个项目将生成2N个视图。来自同一项目的一对视图作为对比学习的正样本,来自不同项目的一对视图作为对比学习的负样本。对比学习的损失采用信息归一化交叉熵(infoNCE),并与前面监督学习部分的BPR损失相结合,作为最终的损失函数

关于网易云音乐冷启动技术的推荐系统

线上部署和推理流程:在离线训练完成后,对所有现有歌曲构建向量索引。对于一个新的冷启动项目,通过模型推理得到它的向量,然后从向量索引中检索出与之最相似的一些项目,这些项目是过去的存量项目,因此有一批与它们有过历史交互行为的用户(如播放、收藏等),将这个需要冷启动的项目分发给这批用户,完成对该项目的冷启动

关于网易云音乐冷启动技术的推荐系统

我们对该冷启动算法进行了评估,包括离线和线下指标的评估,取得了非常好的效果,如上图所示,冷启动模型计算得到的歌曲表征对不同曲风的歌曲可实现优秀的聚类效果。部分成果已有公开论文发表(Bootstrapping Contrastive Learning Enhanced Music Cold-Start Matching)。在线上,该冷启动算法在找到更多的潜在目标用户(+38%)的同时,还实现了冷启动item 的收藏率(+1.95%)、完播率(+1.42%)等业务指标的提升。

关于网易云音乐冷启动技术的推荐系统

我们进一步思考:

在上述 I2I2U 的方案中,未使用任何用户侧特征。如何引入用户特征帮助 Item 冷启动?

关于网易云音乐冷启动技术的推荐系统

U2I 冷启动方案采用多模态 DSSM 建模方法。该模型由一个 ItemTower 和一个 UserTower 组成。我们将之前歌曲的多模态特征继承到 ItemTower 中,用户塔创建了一个常规的用户塔。我们对用户序列进行了多模态的学习建模,模型训练基于全量的item 空间,无论是冷门还是热门歌曲,都会作为样本去训练模型。推理时,只对圈选好的新歌或冷门歌曲池进行推理。这样的做法与之前一些双塔方案类似:对于热门的item,构建一个塔,对于新的或冷门的 item,构建另一个塔来处理。然而,我们更独立地处理了常规的 item 和冷启动的 item。我们为常规的 item 使用常规的召回模型,而对于冷门的 item,则使用专门构建的 DSSM 模型

关于网易云音乐冷启动技术的推荐系统

由于冷启动的 DSSM 模型只用于对冷门或新歌曲进行推理,我们发现对用户的 BIAS 进行建模非常重要,因为我们不能保证所有用户都喜欢冷门或新的 Item。候选集本身是一个非常大的池子,我们需要对用户 Item 进行建模,因为某些用户可能偏爱热门Item,而推荐池中可能缺少他喜欢的 Item。因此,在传统方法的基础上,我们建立了一种称为“兴趣边界”的塔来对用户的偏好进行建模。利用兴趣边界将正负样本分开,训练时,使用兴趣边界分数划分每个用户的正负样本;推理时,比较物品得分和用户兴趣边界得分来决定是否推荐该物品。训练时,我们使用兴趣边界向量和用户兴趣向量进行内积计算来得到边界的表征向量。在上图 loss 基础上,使用传统二分类的交叉熵做建模。负样本会将用户兴趣边界抬高,而正样本会将用户兴趣边界压低,最终,训练后会达到一个平衡状态,用户的兴趣边界将正负样本分开。在线上应用时,我们根据用户的兴趣边界来决定是否将冷门或长尾的 Item 推荐给该用户。

三、总结

关于网易云音乐冷启动技术的推荐系统

最后做一个总结。云音乐推荐的多模态冷启建模主要工作包括:

特征方面,采用了 CLIP 预训练框架下对多模态进行建模。建模方案上采用了两种建模方案,I2I2U 间接建模和冷启动多模态 DSSM 直接建模。Loss & 学习目标上,Item 侧引入了 BPR & 对比学习,User 侧兴趣边界增强冷门 Item 学习和用户学习。

未来的优化主要有两个方向。第一个方向是通过内容和行为特征的多模态融合建模。第二个方向是对召回和排序进行全链路优化

四、问答环节

Q1:音乐冷启动的核心指标是什么?

A1:我们会关注多方面的指标,其中比较重要的是收藏率和完播率,收藏率=收藏 PV/播放 PV,完播率=完整播放的 PV/播放 PV。

Q2:多模态特征是端到端训练还是预训练出的?第二步对比视图生成时,输入 x 具体是什么特征?

A2:我们目前采用的方案是基于 CLIP 框架进行预训练,并利用预训练得到的多模态特征来支持下游的召回和排序业务。我们的预训练过程是分为两个阶段进行的,而不是端到端的训练。虽然从理论上来说,端到端的训练可能效果更好,但相应地,对机器的要求和成本也更高。因此,我们选择预训练这个方案,这也是出于成本方面的考虑

x表示歌曲的原始特征,包括歌曲的音频、文本多模态特征以及语种曲风等标签类特征。这些特征经过分组和两个不同的随机变换F’a和F’’a得到x’和x’’。f是编码器,也是模型的主干结构,g加在编码器输出之后的一个头部,仅用于对比学习部分

Q3:对比学习训练时两组增强的塔的 embedding 层和 DNN 都是共享的吗?为什么对比学习对于内容冷启动有效,是会专门针对非冷启动内容做负采样吗?

A3:模型始终只有一个编码器,也就是一个塔,所以没有参数共享的问题

关于为什么对冷门的物品有帮助,我这样理解,不需要对冷门物品进行额外的负采样等工作。实际上,仅仅在监督学习的基础上学习歌曲的嵌入表示可能会导致偏差,因为学习的是协同过滤的数据,会导致偏好热门歌曲的问题,最终嵌入向量也会有偏差。通过引入对比学习机制,在最终的损失函数中引入对比学习的损失,可以校正学习协同过滤数据的偏差。因此,通过对比学习的方式,可以改善向量在空间上的分布,而不需要对冷门物品进行额外处理

Q4:兴趣边界那里是多目标建模吗?看起来又不太像,可以介绍一下 ⍺ 和 p 这两个量吗?

A4:多模态DSSM建模中包含一个ItemTower和一个UserTower,然后在UserTower的基础上,我们对用户特征额外建模了一个塔,称之为兴趣边界塔。这三个塔分别输出一个向量。在训练时,我们会对物品向量和用户向量进行内积,得到物品得分,然后将用户向量和用户的兴趣边界向量进行内积,表示用户的兴趣边界得分。参数⍺是一个常规的样本加权参数,用于平衡正负样本对损失的贡献比例。p是物品最终得分,计算方式为将物品向量和用户向量的内积得分减去用户向量和用户兴趣边界向量的内积得分,并通过sigmoid函数计算得到的最终得分。在计算过程中,正样本会提高物品和用户内积的分数,降低用户和用户兴趣边界的内积得分,负样本则相反。理想情况下,用户和用户兴趣边界的内积得分可以区分正负样本。在线推荐阶段,我们使用兴趣边界作为参考值,将得分较高的物品推荐给用户,而得分较低的物品则不推荐。如果一个用户只对热门物品感兴趣,那么理想情况下,这个用户的边界分,也就是他的用户向量与他的兴趣边界向量的内积会非常高,甚至高于所有的冷启动物品得分,因此不会向该用户推荐一些冷启动的物品

Q5: 用户塔(userTower)和兴趣边界塔在结构上有什么区别,看起来输入似乎是一样的?

A5:这两者的输入确实是一样的,结构也是类似的,只是参数不共享。最大的区别只在于损失函数的计算上。用户塔的输出与物品塔的输出进行内积计算,得到的是物品得分。兴趣边界塔的输出与用户塔的输出进行内积计算,得到的是边界分。在训练时,将这两者相减后参与二分类损失函数的计算,而在推理时,则比较这两者的大小来决定是否将该物品推荐给用户

以上就是关于网易云音乐冷启动技术的推荐系统的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/464732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 05:01:20
下一篇 2025年11月8日 05:02:02

相关推荐

  • HTML数据如何构建推荐系统 HTML数据推荐算法的数据基础

    HTML是推荐系统数据来源的载体,通过解析网页提取用户行为(如点击、停留)、物品特征(如标题、价格)及上下文信息(如URL路径、设备类型),经结构化处理后形成用户画像和特征矩阵,为协同过滤、内容推荐等算法提供输入,实现精准推荐。 构建推荐系统时,HTML数据本身不直接用于算法计算,但它承载了生成推荐…

    2025年12月23日
    000
  • 如何用JavaScript实现一个支持多因子决策的推荐系统?

    设计可扩展评分模型需构建模块化权重与评分函数,如基于类型、演员、导演、年份等因素配置权重及匹配逻辑,利用对象结构实现灵活调整;通过数据索引、并行计算(Web Workers)、分页加载与缓存提升大数据处理效率;采用准确率、召回率、CTR、NDCG等指标结合A/B测试评估效果;应对冷启动可采用内容推荐…

    2025年12月20日
    000
  • 如何利用C++进行高效的推荐算法开发?

    如何利用C++进行高效的推荐算法开发? 推荐算法是现代化互联网平台不可或缺的一部分,它提供了个性化的推荐内容,为用户提供更好的体验。C++作为一种高效的编程语言,在推荐算法开发中具有良好的性能。本文将介绍如何利用C++编写高效的推荐算法,并提供一些代码示例。 一、数据准备在开始推荐算法的开发之前,我…

    2025年12月17日
    000
  • 如何使用C++进行高效的推荐系统开发?

    如何使用C++进行高效的推荐系统开发? 引言:推荐系统已经成为了现今互联网行业中不可或缺的一部分,它能够通过分析用户的历史行为和偏好,为用户推荐个性化的内容。C++作为一种高效、灵活且具有跨平台特性的编程语言,被广泛应用于推荐系统的开发中。本文将介绍如何使用C++进行高效的推荐系统开发。 一、数据预…

    2025年12月17日
    000
  • Python怎样开发推荐系统?Surprise库协同过滤

    python开发推荐系统的核心答案是选择合适的协同过滤算法并进行数据处理。首先,使用surprise库内置的knnbasic、svd等算法搭建基础模型;其次,通过pandas进行数据准备,并转换为surprise所需格式;第三,划分训练集和测试集后训练模型;第四,对测试集进行预测并输出结果;第五,使…

    2025年12月14日 好文分享
    000
  • Python推荐系统 Python协同过滤算法实现步骤

    协同过滤推荐系统可通过以下步骤用python实现:1. 数据准备:获取用户-物品评分数据,如movielens等;2. 构建用户-物品矩阵,使用pandas的pivot方法转换数据结构;3. 计算相似度,基于用户或物品,常用余弦相似度或皮尔逊相关系数;4. 预测评分并生成推荐,通过加权平均相似用户评…

    2025年12月14日
    000
  • 如何在Python中构建一个简单的推荐系统

    如何在Python中构建一个简单的推荐系统 推荐系统是为了帮助人们发现和选择他们可能感兴趣的物品而设计的。Python提供了丰富的库和工具,可以帮助我们构建一个简单但有效的推荐系统。本文将介绍如何使用Python构建一个基于用户的协同过滤推荐系统,并提供具体的代码示例。 协同过滤是一种推荐系统的常见…

    2025年12月13日
    000
  • 在Python中的推荐系统

    推荐系统是Python中的一个工具,它根据用户的偏好和过去的行为向用户推荐项目或内容。该技术利用算法来预测用户未来的偏好,从而为他们提供最相关的内容。 该系统的范围非常广泛,广泛应用于电子商务、流媒体服务和社交媒体等各个行业。产品、电影、音乐、书籍等都可以通过这些系统推荐。提供个性化推荐不仅有助于提…

    2025年12月13日
    000
  • 应用于推荐系统的GNNs技术及其实际应用

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 一、GNNs 推荐系统的底层算力演化 近 20 年来,计算形态在不断的演化。2010 年之前,云计算特别火,其他的计算形态比较微弱。随着硬件算力突飞猛进的发展,以及端侧芯片的引进,边缘计算也变得…

    2025年12月2日 科技
    100
  • 使用MySQL创建推荐系统表实现推荐系统功能

    使用mysql创建推荐系统表实现推荐系统功能 推荐系统是一种用于根据用户的喜好和行为给用户个性化推荐内容的系统。在推荐系统中,数据库是一个关键的组成部分,它保存了用户数据、物品数据和用户-物品交互数据等信息。MySQL作为一种常用的关系型数据库管理系统,可以用来创建推荐系统表,并实现推荐系统的功能。…

    数据库 2025年11月28日
    000
  • 客服机器人是怎么实现的?对话推荐系统

     本文转载自微信公众号「活在信息时代」,作者活在信息时代。转载本文请联系活在信息时代公众号。 大家在使用很多APP的时候,一定对于智能机器人客服系统都有所了解。客服机器人就像真人客服一样,可以与人进行简单的对话,并针对人们的需求给出相应的回答。虽然大部分时间得到的答案并不怎么靠谱吧,但是总的还是比较…

    2025年11月27日 科技
    000
  • 如何设计一个高性能的MySQL表结构来实现推荐系统功能?

    如何设计一个高性能的MySQL表结构来实现推荐系统功能? 推荐系统是很多互联网平台的重要组成部分,它通过分析用户的行为和偏好,提供个性化的推荐内容。在推荐系统的实现中,数据库扮演着关键角色,因此设计一个高性能的MySQL表结构非常重要。本文将介绍如何设计一个高性能的MySQL表结构来实现推荐系统功能…

    2025年11月25日 数据库
    000
  • 通过MySQL开发实现数据挖掘与推荐系统的项目经验分享

    在当前互联网时代,大数据的应用已经成为许多企业的重要战略。数据挖掘作为一种重要的数据分析技术,帮助企业从庞大的数据中挖掘出有价值的信息,为企业决策和业务发展提供支持。而推荐系统则是针对用户的个性化需求,通过分析用户的历史行为和兴趣,为用户提供个性化的推荐内容。本文将分享我在一个数据挖掘与推荐系统项目…

    2025年11月18日
    100
  • 泊松矩阵分解:无需数据解决推荐系统冷启动问题的矩阵分解算法

    作者 | 汪昊 审校 | 孙淑娟 推荐系统是目前互联网行业最火爆的技术之一。在过去的十年中,互联网行业诞生了数以百万计的推荐系统模型迭代版本。尽管针对不同场景进行优化的推荐系统模型非常之多,但是经典的模型非常少。矩阵分解是推荐系统领域勃兴早期,在 Netflix 大赛中展露头角的推荐系统算法,也是过…

    2025年11月10日 科技
    000
  • 利用PHP框架构建社交媒体推荐系统:个性化体验并增加互动

    本文介绍了如何使用php框架构建社交媒体推荐系统,以提供个性化体验。推荐系统包含5个步骤:选择php框架、设置数据模型、构建推荐算法、实现推荐引擎、集成推荐到页面。通过实施,社交媒体平台可以为用户提供个性化内容,提高用户参与度和满意度。 利用PHP框架构建社交媒体推荐系统:为用户提供个性化体验 简介…

    2025年11月9日 后端开发
    000
  • 精准推荐的秘术:阿里解耦域适应无偏召回模型详解

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 一、场景介绍 首先来介绍一下本文涉及的场景—— “有好货”场景。它的位置是在淘宝首页的四宫格,分为一跳精选页和二跳承接页。承接页主要有两种形式,一种是图文的承接页,另一种是短视频的承接页。这个场…

    2025年11月9日 科技
    000
  • AAAI2022推荐系统论文集锦

    2022年第36届人工智能顶级会议aaai公布了论文列表,此次会议共收到9251篇论文投稿,9020篇经过审稿,最终录取1349篇,录取率仅为15%。鉴于当前国外疫情的严峻形势,会议将于2月22日至3月1日通过线上方式举办。 与往年相比,今年的录取率显著下降。下图展示了2017年至今的投稿量和录取率…

    2025年11月8日 运维
    000
  • 百度视频推荐跨域多目标预估与融合的实践和思考

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 一、百度视频背景介绍 1、统一产品形态 一方面,百度 APP 的所有视频场景已经升级成统一的沉浸式(上下滑)交互形态;另一方面,基于百度统一的大模型,我们打通了所有场景的数据和推荐体验。交互和数…

    2025年11月8日 科技
    300
  • 使用Swoole开发高性能的推荐系统

    使用Swoole开发高性能的推荐系统 推荐系统是现代互联网应用极为重要的一部分,它通过分析用户行为数据和物品属性来为用户提供个性化的推荐内容。然而,随着用户数量和数据量的不断增加,传统的架构往往无法满足高并发和高性能的需求。针对这个问题,我们可以借助Swoole这个高性能的PHP扩展来开发推荐系统。…

    2025年11月7日 PHP框架
    000

发表回复

登录后才能评论
关注微信