CIKM2021 | 将对比学习用于解决推荐系统长尾问题

本文主要介绍了google在cikm 2021上发表的一篇文章,该文章探讨了如何通过对比学习解决推荐系统中的长尾问题。

CIKM2021 | 将对比学习用于解决推荐系统长尾问题

论文标题为《Self-supervised Learning for Large-scale Item Recommendations》,论文链接为:https://www.php.cn/link/f49a2479665b3bd13ec08d5d1a8bbe4c。

首先,让我们定义一下长尾效应:20%的热门商品占据了80%的曝光量,而剩下的80%的小众、长尾商品则很少获得曝光机会,因此在训练样本中显得稀少且弱势。

传统的推荐模型通常迎合大多数用户的需求,由于长尾商品曝光机会少,难以满足小众兴趣,这对成熟的生态系统不利,阻碍了用户增长。

举个例子:某些原本不受重视的销量小但种类多的商品,由于总量庞大,其累积收益可能超过主流商品。在这种情况下,算法挖掘小众兴趣的能力变得至关重要。

对于样本不均衡的问题,对比学习通常会想到数据增强(data augmentation)。对比学习的核心是通过数据增强构建正负样本变体,倾向于无监督学习,学习一个优秀的特征提取器。在推荐系统中引入对比学习用于去偏(debias),解决“少数人群+冷门物料,标注样本少”的问题,从逻辑上是可行的。

《Self-supervised Learning for Large-scale Item Recommendations》利用对比学习辅助训练双塔召回模型,旨在使item tower对冷门、小众商品也能学习出高质量的embedding,从而改善内容生态。从公式上看,可以理解为将对比学习的损失(loss)作为主任务损失的一个正则项。

CIKM2021 | 将对比学习用于解决推荐系统长尾问题

论文解读中,小Q认为论文中有两个核心技术点:一个是对比学习部分,另一个是联合训练部分。

3.1 在对比学习数据增强部分,论文提出了对于商品特征的数据增强分为两个步骤:Masking和Dropout。其中Masking是采用默认embedding随机掩盖一些输入特征,而Dropout则是简单地随机丢失一些输入特征。

3.2 论文定义了一个基准方法Random Feature Masking(RFM),采用互补masking模式,即将特征集拆分为两个互斥特征集,构建为两个扩展变体。具体来说,将特征集随机分成两个不相交的子集。大致结构如下:

CIKM2021 | 将对比学习用于解决推荐系统长尾问题

对于某个商品xi,随机抽取一半的特征h,得到变体yi,再经过Encoder H,得到向量zi;保留剩下的另一半特征g,得到变体yi’,再经过Encoder G,得到向量zi’。来自同一个商品xi的两种变体对应的embedding zi和zi’,两者之间的相似度应该越大越好。按照同样的方法,另一个商品xj,用一半特征h得到变体,再经过Encoder H得到yj;用另一半特征g,得到变体,再经过Encoder G得到yj’。来自不同商品的变体对应的embedding,两者之间的相似度应该越低越好。

3.3 论文基于信息论中的互信息,提出了Correlated Feature Masking(CFM)方法。这个方法在每个batch进行训练时,先会随机选取一个特征f_seed,然后选择topn(n为商品的特征总数的一半)构建一个特征集作为变体。

Calliper 文档对比神器 Calliper 文档对比神器

文档内容对比神器

Calliper 文档对比神器 28 查看详情 Calliper 文档对比神器

3.4 关于为什么采用互补masking模式构建对比学习的变体,以及为什么采用互信息高的特征集会比随机masking效果好,论文中有这样一段描述:

For instance, the SSL contrastive learning task may exploit the shortcut of highly correlated features between the two augmented examples, making the SSL task too easy.

从字面上看,随机masking可能会将一些高度相关的特征分到两个变体中,使得对比学习任务变得过于简单。为了增加难度,采用互补masking模式。进一步解释,随机masking可能使得模型在对比学习过程中,通过关联度较高的特征来“猜”出被mask的特征,使得任务训练变得简单。

举个例子,假设商品有品类、品牌、产品系列、价格等特征,如果“品牌”被拆分到变体h中,“产品系列”被拆分到变体g中,看上去两个变体不同,但两个特征包含的隐信息其实相差不大,最终两个变体的embedding太容易相似,达不到训练模型的目的。采用互补masking模式是为了保证变体的差异性。

3.5 完成对比学习后,下一步是联合训练。论文中的模型图如下:

CIKM2021 | 将对比学习用于解决推荐系统长尾问题

从图中可以看出,整个item tower是被user-item双塔召回的主任务、对比学习辅助任务中的encoder H和G所共享的。

论文的第二个重点是,“We sample items uniformly from the corpus for Lself”,论文中明确表示参与对比学习的样本和参与主任务的样本来自不同的样本空间。主任务需要拟合用户与商品之间的真实互动,仍以已经曝光过的user/item为主。对比学习部分是为了消除推荐长尾问题,主要关注曝光率低的商品。

参考资料:

[1] 石塔西:少数派报告:谈推荐场景下的对比学习:https://www.php.cn/link/9dd5b938ee55c873017b525aaf333882

[2] 推荐场景下的对比学习总结

[3] 基于对比学习的推荐算法总结

[4] self-supervised learning for large-scale item recommendations:https://www.php.cn/link/6e53ba571a5ed6223b77eeb7ca2c2e44

以上就是CIKM2021 | 将对比学习用于解决推荐系统长尾问题的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
处理Linux命令”Command not found”的常见方法
上一篇 2025年11月8日 04:17:26
123云盘分享链接有效期怎么修改_123云盘分享链接有效期修改
下一篇 2025年11月8日 04:17:36

相关推荐

  • 内存占用过高的优化方法

    优化内存占用的方法包括:1. 遵循基本内存管理原则,避免不必要的对象创建,使用合适的数据结构,及时释放资源;2. 优化数据结构,如从arraylist切换到hashmap;3. 检测并修复内存泄漏,通过定期清理不再需要的数据;4. 使用对象池减少对象的创建和销毁;5. 遵循性能优化与最佳实践,避免频…

    2026年9月20日
    000
  • iPhone命名或跳过19

    iPhone命名或跳过19 近日,科技圈内流传着一个引人瞩目的猜测:苹果公司在为其未来产品命名时,可能会选择直接跳过“iphone 19”这个名称。这一传闻并非空穴来风,而是基于苹果公司以往的命名策略、行业发展趋势以及对品牌形象的整体考量。如果成真,这将是iphone命名史上一个值得记录的时刻。 历…

    2026年9月20日
    100
  • 2025汽车品牌口碑指数NPS公布:小米、问界仅44分

    2025汽车品牌口碑指数NPS公布:小米、问界仅44分2025汽车品牌口碑指数NPS公布:小米、问界仅44分2025汽车品牌口碑指数NPS公布:小米、问界仅44分2025汽车品牌口碑指数NPS公布:小米、问界仅44分

    10月17日,有调研机构发布了2025中国汽车品牌口碑指数nps。其中,小米汽车与aito问界品牌的nps(净推荐值)均仅为44分,远低于行业头部品牌。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 小米汽车 报告显示,新能源汽车主流品牌的…

    2026年9月20日 用户投稿
    000
  • 拼多多砍价咨询处理难题?晓多方言识别技术提升30%订单转化!方言咨询不再“听不懂”!「别担心」有晓多来帮你

    在拼多多的砍价活动中,每天有超500万条来自全国各地的方言咨询涌入商家后台。“这个价咋个砍嘛?”“阿妹帮我看下这价啷个算?”面对五湖四海的方言提问,传统客服系统频频“崩溃”。晓多科技推出的方言识别技术矩阵,融合xpt大模型与先进声学算法,成功将订单转化率提升30%,为电商行业解决了长期存在的服务瓶颈…

    2026年9月20日
    000
  • MySQL备份数据加密技术_MySQL保障备份数据安全的策略

    MySQL备份数据加密技术_MySQL保障备份数据安全的策略MySQL备份数据加密技术_MySQL保障备份数据安全的策略MySQL备份数据加密技术_MySQL保障备份数据安全的策略MySQL备份数据加密技术_MySQL保障备份数据安全的策略

    加密是保障mysql备份数据安全的核心,但还需结合多层次防护体系。1.静态数据加密可通过文件系统层(如luks、bitlocker)或数据库内部(tde)实现;2.备份文件应独立加密(如gpg、openssl);3.传输中需使用scp、https等加密通道;4.密钥管理至关重要,需单独妥善处理。备份…

    2026年9月20日 用户投稿
    000
  • Figure人形机器人全面升级 阿里/微美全息构筑竞争护城河抢占行业先机!

    Figure人形机器人全面升级  阿里/微美全息构筑竞争护城河抢占行业先机!Figure人形机器人全面升级  阿里/微美全息构筑竞争护城河抢占行业先机!Figure人形机器人全面升级  阿里/微美全息构筑竞争护城河抢占行业先机!Figure人形机器人全面升级  阿里/微美全息构筑竞争护城河抢占行业先机!

    获悉,日前,全球工业自动化领域迎来一场颠覆性变革。10月8日,abb集团正式宣布,将其机器人业务单元以53.75亿美元的企业价值出售给日本软银集团。 此次交易不仅彻底改变了工业机器人“四大家族”的竞争版图,也凸显出AI巨头向实体制造领域深度布局的战略野心。背后动因在于,当前工业机器人行业正处于关键转…

    2026年9月20日 用户投稿
    200
  • 如何创建一个基础的Swoole HTTP服务器?

    要创建一个基础的swoole http服务器,步骤如下:1. 使用swoole的httpserver类创建服务器实例;2. 设置服务器启动时的回调函数;3. 设置请求处理的回调函数;4. 启动服务器。这个过程通过示例代码展示了如何在9501端口监听请求并返回响应,swoole的异步特性和协程功能可以…

    2026年9月20日
    100
  • “满血版”东风日产N7到来!NISSAN OS 1.3.0正式推送

    “满血版”东风日产N7到来!NISSAN OS 1.3.0正式推送“满血版”东风日产N7到来!NISSAN OS 1.3.0正式推送“满血版”东风日产N7到来!NISSAN OS 1.3.0正式推送“满血版”东风日产N7到来!NISSAN OS 1.3.0正式推送

      近日,东风日产n7迎来上市之后第二次大版本系统升级,版本号为nissan os 1.3.0。此次升级新增城市记忆领航辅助驾驶与记忆泊车辅助两大核心功能,并对20余项座舱功能进行优化,标志着n7正式进阶为“满血版”。此次升级旨在为用户提供合资品牌中最领先的智能辅助驾驶体验,以及更便捷、更愉悦的座舱…

    2026年9月20日 用户投稿
    000
  • 荣耀Magic8系列发布会六大产品价格汇总来了:349元起 最贵6699元!

    10月15日,荣耀召开新品发布会,正式推出荣耀Magic8系列、荣耀MagicPad 3 Pro等六大新品,涵盖手机、平板、耳机、智能手表及智能配件。 各产品价格信息汇总如下: 荣耀Magic8系列 荣耀Magic8 12GB+256GB:4499元 12GB+512GB:4799元 16GB+51…

    2026年9月20日
    000
  • 如何在Java中定义一个包含参数的方法

    定义Java带参方法需明确访问修饰符、返回类型、方法名及参数列表。例如:public static int add(int a, int b) { return a + b; },调用时传入对应类型参数,如add(5, 3)输出结果8,参数类型必须匹配,否则编译错误。 在Java中定义一个包含参数的…

    2026年9月20日
    100
  • 灵绘AI如何生成3D效果_灵绘AI3D效果生成的实用教程

    启用灵绘AI的3D视图增强模式,输入含景深等关键词的提示词,调整视角与深度参数并启用Z轴分层,生成后使用光影滤镜增强立体感,最后导出为WebP 3D或OBJ格式以保留深度信息。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 如果您希望使用灵…

    2026年9月20日
    000
  • mysql如何优化like模糊查询

    优先使用前缀匹配并建立索引,避免前置通配符导致全表扫描;对大字段采用全文索引或外部搜索引擎如Elasticsearch;合理设计覆盖索引,减少SELECT *,提升查询效率。 在MySQL中,LIKE模糊查询虽然常用,但容易导致性能问题,特别是在数据量大的情况下。优化的关键在于减少全表扫描、提升索引…

    2026年9月20日
    000
  • 为什么VSCode的CSS代码提示不全?

    答案:VSCode CSS提示不全通常由配置或环境问题导致。1. 确保文件语言模式为CSS并正确关联扩展名;2. 更新VSCode以支持现代CSS特性,自定义属性需插件辅助;3. 安装IntelliSense、Tailwind或PostCSS等插件增强提示功能;4. 检查settings.json中…

    2026年9月20日
    000
  • 如何在Linux中自动重启 Linux systemd自动恢复

    答案:通过配置systemd服务文件中的Restart、RestartSec、WatchdogSec及StartLimitInterval等参数,可实现Linux服务的自动重启与看门狗监控,并避免无限重启循环,提升系统稳定性。 在Linux中,可以通过systemd来实现服务的自动重启,确保服务在崩…

    2026年9月20日
    000
  • 电脑开机要按F1因BIOS设置错误通过恢复默认设置解决

    开机需按F1主因是BIOS检测到配置错误或硬件信息丢失,常见于CMOS电池没电、硬盘模式设置错误等;恢复默认设置可解决多数问题。 电脑开机提示按F1才能进入系统,多数情况是BIOS设置异常导致的。最常见的原因是CMOS电池没电、硬盘模式设置错误、软驱或启动设备配置问题等。这类问题通常可以通过恢复BI…

    2026年9月20日
    100
  • 428万行业最强跑分!荣耀高管:Magic8同是骁龙 大有不同

    10月16日消息,昨晚荣耀magic8系列正式亮相,全系搭载第五代骁龙8至尊版处理器,这款芯片目前处于行业性能巅峰地位。 该处理器采用台积电第三代3nm工艺打造,在相同性能下功耗降低10%。其CPU架构为2+6的八核设计,其中超大核主频高达4.6GHz,创下移动平台新纪录,大核频率则为3.62GHz…

    2026年9月20日
    100
  • Mockito中利用自定义ArgumentMatcher实现集合内参数匹配

    mockito并未提供直接的`in()`参数匹配器来判断方法参数是否包含在指定集合中。本文将详细介绍如何利用`intthat`(或`argthat`)结合lambda表达式或自定义匹配器,灵活实现对方法参数是否属于某个集合的条件匹配,从而在测试存根(stubbing)或验证(verification…

    2026年9月20日
    000
  • Java中将包含嵌套列表的对象列表扁平化为单一元素列表的转换技巧

    本文探讨了在java中如何将一个包含嵌套列表的对象列表进行转换,使其生成一个新的列表,其中每个对象内部的嵌套列表只包含一个元素。文章详细介绍了三种实现方式:基于java 7及以前版本的传统循环方法、利用java 8至java 15的stream api结合`flatmap`操作,以及java 16及…

    2026年9月20日
    200
  • VSCode怎么查看NPM版本_VSCode NPM版本查询教程

    在VSCode中查看NPM版本,需打开集成终端并输入npm -v或npm –version。1. 使用快捷键Ctrl + (Windows/Linux)或Cmd + (macOS)打开终端;2. 输入命令npm -v执行;3. 终端将显示当前NPM版本号,如8.19.2。该方法可快速验证…

    2026年9月20日
    000
  • 如何为VSCode配置C++开发环境?

    答案:配置VSCode的C++环境需安装MinGW-w64编译器并添加到PATH,安装C/C++和可选Code Runner扩展,创建.c_cpp_properties.json、tasks.json和launch.json文件以配置编译器路径、编译任务和调试设置,最后通过编译运行测试代码验证配置成…

    2026年9月20日
    100

发表回复

登录后才能评论
关注微信