目录
一、场景介绍" >一、场景介绍
二、流行度偏差是什么,为什么" >二、流行度偏差是什么,为什么
1、流行度偏差是什么" >1、流行度偏差是什么
2、为什么会产生流行度偏差" >2、为什么会产生流行度偏差
三、流行度偏差当前解决方案" >三、流行度偏差当前解决方案
1、逆倾向评分(IPS)" >1、逆倾向评分(IPS)
2、因果推断" >2、因果推断
四、CD2AN 基本框架" >四、CD2AN 基本框架
1、特征解耦模块缓解流行度分布差异" >1、特征解耦模块缓解流行度分布差异
2、正则化缓解分布差异" >2、正则化缓解分布差异
3、有偏无偏联合训练" >3、有偏无偏联合训练
五、问答环节" >五、问答环节
Q1:未曝光样本是怎么加入到样本中的?" >Q1:未曝光样本是怎么加入到样本中的?
Q2:引入同类的未曝光样本,会不会增加学习难度?" >Q2:引入同类的未曝光样本,会不会增加学习难度?
Q3:未曝光样本获取精排分成本会不会很高?" >Q3:未曝光样本获取精排分成本会不会很高?
Q4:未曝光样本是进精排未曝光的样本吗?" >Q4:未曝光样本是进精排未曝光的样本吗?
首页 科技周边 人工智能 精准推荐的秘术:阿里解耦域适应无偏召回模型详解

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

Jun 05, 2023 am 08:55 AM
推荐系统 召回模型

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

一、场景介绍

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

首先来介绍一下本文涉及的场景—— “有好货”场景。它的位置是在淘宝首页的四宫格,分为一跳精选页和二跳承接页。承接页主要有两种形式,一种是图文的承接页,另一种是短视频的承接页。这个场景的目标主要是为用户提供满意的好货,带动 GMV 的增长,从而进一步撬动达人的供给。

二、流行度偏差是什么,为什么

接下来进入本文的重点,流行度偏差。流行度偏差是什么?为什么会产生流行度偏差?

1、流行度偏差是什么

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

流行度偏差有很多别名,比如马太效应、信息茧房,直观来讲它是高爆品的狂欢,越热门的商品,越容易曝光。这会导致优质的长尾商品或者达人创作的新商品没有曝光的机会。其危害主要有两点,第一点是用户的个性化不足,第二点是达人创作的新商品得不到足够的曝光,使得达人参与感降低,因此我们希望缓解流行度偏差。

从上图右边的蓝色柱状图可以看出,曝光 top10% 的商品在某一天中占据了 63% 的曝光,这证明在有好货的场景下马太效应是非常严重的。

2、为什么会产生流行度偏差

接下来我们去归因为什么会产生流行度偏差。首先,需要阐明我们为什么会在召回截断做缓解流行度偏差的工作。排序模型拟合的是商品的 CTR,它的训练样本包含正样本和负样本,CTR 越高的商品越容易获得曝光。但是在召回阶段,我们通常会采用双塔模型,它的负样本通常会通过两种方式产生,第一种是全局随机负采样,第二种是 batch 内负采样,batch 内负采样是将同一个 batch 取正样本的其它曝光日志当作负样本,所以它在一定程度上可以缓解马太效应。但是,通过实验我们发现,全局负采样实际的线上效率型效果会更好。不过,推荐系统中的全局随机负采样可能导致流行度偏差,因为它只为模型提供了正反馈。这种偏差可能归因于流行度分布差异和先验知识干扰,即用户倾向于点击更受欢迎的物品。因此,模型可能会优先推荐热门物品,而不考虑它们的相关性。

们也分析了流行度分布差异,如上图右边绿线所示,通过将商品按照曝光频率分组并计算每组的正样本平均分,发现即使所有样本都是正样本,平均分数也随曝光频率的下降而下降。推荐系统模型训练时存在流行度分布差异和长尾分布差异。模型会倾向于把流行度信息注入到商品的 ID 特征中,导致流行度分布差异。高爆品获得的训练次数远大于长尾商品,使得模型过拟合于高爆品,长尾商品难以得到充足训练和合理向量表示。如上图右边的 TSN 图所示,蓝点表示高曝商品的商品向量,而红点表示长尾商品的商品向量,显示出分布上的显著差异。而且如上图右边的红线所示,hit ratio 也会随着曝光数的降低而降低。所以,我们把流行度偏差的产生归因于流行度分布差异和长尾分布差异。

三、流行度偏差当前解决方案

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

当前业界的解决方案主要包括两种,分别是逆倾向评分(IPS)和因果推断。

1、逆倾向评分(IPS)

通俗来讲就是将主任务损失函数中高曝光概率商品的权重调低以避免过度关注于高曝光概率商品,从而可以更平均地关注整个正样本分布。但是,这种方法需要提前预测曝光概率,这种预测是不稳定的,容易失效或者波动较大。

2、因果推断

我们需要构建一张因果图,i 代表商品特征,u 代表用户特征,c 代表点击概率,这张图就表示给模型输入用户特征和商品特征,预测点击率。如果我们把流行度偏差也考虑到这个模型中,用 z 来代表,它不仅会影响点击率,还会影响商品的特征表示  i,因果推断的方法是尝试去阻断 z 对 i 的影响。

比较简单的方法是利用商品的一些统计特征单独得到一个 bias 塔,此时模型会输出两个分,一个是真实的点击率,另一个是商品的流行度分,在线上预测的时候会将商品的流行度分去掉,实现对流行度偏差的解耦。

第二种方法是将用户点击归因为两类,一类是从众兴趣,一类是真实兴趣,分别构建样本联合训练。相当于得到两个模型,一个模型去得到用户的从众兴趣分,一个模型去得到用户的真实兴趣分。因果推断其实也存在问题,它解决了流行度分布差异,但不能解决长尾商品缺乏训练数据的问题。当前的解决方案倾向于消除流行度偏见,但这对于需要“马太效应”来生存的推荐系统可能并不总是有益的。所以,我们建议不要完全去除推荐系统中的流行度偏差,因为流行的项目通常更优质,用户也有从众心理和真实兴趣两种心理,完全去除流行度偏差会影响用户从众兴趣的满足。应该合理利用流行度偏差,不加剧偏差。

四、CD2AN 基本框架

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

我们这一次探索的工作就是如何合理地利用流行度偏差,要想合理地利用流行度偏差,需要解决一个难点:“如何提取无偏且学习充分的商品表示?”针对流行度分布差异,我们需要从商品 ID 中解耦出真实内容向量和流行度向量。针对长尾分布差异,我们借鉴了域适应的范式将整体分布对齐,借鉴了对比学习的范式将实例分布对齐。

先来介绍 base 模型的基本结构,base 模型其实就是一个经典的双塔模型。接下来详细介绍下我们是如何解决前面提到的两个问题的(流行度分布差异和长尾分布差异)。

1、特征解耦模块缓解流行度分布差异

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

特征解耦模块是本文针对推荐系统中的流行度偏差问题提出的一种解决方案。该模块通过将物品向量表示中的流行度信息与属性信息分离开来,从而减轻流行度对物品向量表示的影响。具体地,该模块包括流行度编码器和属性编码器,通过多层感知器的组合学习得到每个物品的属性和流行度向量表示。这个模块的输入是物品的属性特征,例如物品 ID、物品类目、品牌等,如上图模型结构中的右边部分所示。这里会有两个约束,包括正交正则化和流行度相似度正则化,旨在将流行度信息与物品属性信息分离。其中,通过流行度相似度正则化,模块被鼓励将嵌入物品属性的流行度信息与真实流行度信息对齐,而通过正交正则化,模块被鼓励在编码中保留不同的信息,从而实现分离流行度信息和物品属性信息的目标。

我们还需要一个学习真实流行度的模块,如上图模型结构中的左边部分所示,它的输入主要就是商品的统计特征,然后经过一个 MLP 得到真实的流行度表示。

2、正则化缓解分布差异

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

接下来,我们想要解决长尾分布差异的问题。

我们借鉴了迁移学习的思想,实现热门商品和长尾商品的分布对齐。我们在原来的双塔模型中,引入了一个未曝光商品,使用了 MMD 的损失函数(如上图左上所示),这个损失函数希望热门商品域和长尾商品域的簇中心尽可能靠近,如上图右上示意图所示。由于这种域对齐是无监督的,可能会产生负迁移,我们做了如下优化:曝光样本在域对齐损失上的梯度被停止,防止影响到任务损失;对于未曝光样本,引入精排分进行知识蒸馏。

我们还借鉴了实例对齐的思想,希望可以学习得到更好的商品向量表示,主要思想就是有效共现次数越多的商品,向量表示越相似。这里的难点是如何去构造 pair。在用户有过往行为的商品序列中,天然存在这样的 pair。以一个用户举例,一条样本包含了一个用户的行为序列和目标商品,那么目标商品和用户行为序列中的每个商品就能构成共现的 pair。我们在经典的对比学习的损失函数的基础上还考虑了用户的兴趣多样性和商品频率,具体的损失函数公式可见上图中左下部分。

我们可以看一个直观的示意图,如上图中右下所示,灰色的点是目标商品,橙色的点是用户的行为序列,蓝色的点是我们随机负采样得到的负样本。我们希望借鉴对比学习的方法去约束用户行为序列中每个商品都和目标商品靠近。

3、有偏无偏联合训练

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

以上模块有效地得到了商品的无偏内容表示和解耦的流行度表示,我们应该怎样去应用呢?我们利用了无偏模型和有偏模型联合训练的方式,无偏商品向量可以基于解耦模块及正则化提取,为了能够利用流行度信息,我们还引入了流行度特征,有偏模型只会继承流行度偏差,不会加剧偏差。线上服务部分,如上图右边所示,我们将无偏的商品表示和有偏的商品表示通过参数 α 融合起来得到线上的商品表示,这样即可通过用户向量来召回商品,这个 α 是调节召回关注流行度信息的程度。

4、离线及线上实验

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

上图中展示了这个模型离线及线上的效果。在离线实验中,我们引入了 C-Ratio 的指标,来衡量召回结果中有多少商品是高曝光商品。通过离线实验我们可以看出各个模块都有一定程度的贡献。无偏模型在线上效率指标方面并没有收益,说明流行度信息是有用的,我们还是需要使用有偏模型去利用流行度信息。

精准推荐的秘术:阿里解耦域适应无偏召回模型详解

最后,我们对模型结果做了可视化的展示。我们发现新的模型结构的确可以将高爆商品和长尾商品的分布记性对齐,解耦出来的流行度表示向量和商品无偏的内容表示几乎是没有交集的,并且同类目的商品能有更紧密的联系,通过对 α 的调整,可以让模型有方向地去拟合用户的从众兴趣和真实兴趣。

今天的分享论文标题是《Co-training Disentangled Domain Adaptation Network for Leveraging Popularity Bias in Recommenders》。

五、问答环节

Q1:未曝光样本是怎么加入到样本中的?

A1:离线生成的,针对一条样本,我们可以拿到目标正样本及对应的类目,然后离线地随机采样出若干个和目标正样本相同类目的商品,挂载到训练样本中。

Q2:引入同类的未曝光样本,会不会增加学习难度?

A2:引入的未曝光样本是没有标签的,是通过无监督的方式来进行分布对齐,可能会存在负迁移的情况,我们用了两个技巧来解决这个问题:曝光样本在域对齐损失上的梯度被停止,防止影响到任务损失;对于未曝光样本,可以引入精排分进行知识蒸馏。

Q3:未曝光样本获取精排分成本会不会很高?

A3:离线对样本用精排模型打一遍分,作为特征来使用,性能还好。

Q4:未曝光样本是进精排未曝光的样本吗?

A4:不是,这样大概率还是一个高爆品,我们使用的是全局同类目下随机采样的结果。

以上是精准推荐的秘术:阿里解耦域适应无偏召回模型详解的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用Go语言和Redis实现推荐系统 如何使用Go语言和Redis实现推荐系统 Oct 27, 2023 pm 12:54 PM

如何使用Go语言和Redis实现推荐系统推荐系统是现代互联网平台中重要的一环,它帮助用户发现和获取感兴趣的信息。而Go语言和Redis是两个非常流行的工具,它们在实现推荐系统的过程中能够发挥重要作用。本文将介绍如何使用Go语言和Redis来实现一个简单的推荐系统,并提供具体的代码示例。Redis是一个开源的内存数据库,它提供了键值对的存储接口,并支持多种数据

利用Java实现的推荐系统算法和应用 利用Java实现的推荐系统算法和应用 Jun 19, 2023 am 09:06 AM

随着互联网技术的不断发展和普及,推荐系统作为一种重要的信息过滤技术,越来越受到广泛的应用和关注。在实现推荐系统算法方面,Java作为一种快速、可靠的编程语言,已被广泛应用。本文将介绍利用Java实现的推荐系统算法和应用,并着重介绍三种常见的推荐系统算法:基于用户的协同过滤算法、基于物品的协同过滤算法和基于内容的推荐算法。基于用户的协同过滤算法基于用户的协同过

应用实例:使用go-micro 构建微服务推荐系统 应用实例:使用go-micro 构建微服务推荐系统 Jun 18, 2023 pm 12:43 PM

随着互联网应用的普及,微服务架构已成为目前比较流行的一种架构方式。其中,微服务架构的关键就是将应用拆分为不同的服务,通过RPC方式进行通信,实现松散耦合的服务架构。在本文中,我们将结合实际案例,介绍如何使用go-micro构建一款微服务推荐系统。一、什么是微服务推荐系统微服务推荐系统是一种基于微服务架构的推荐系统,它将推荐系统中的不同模块(如特征工程、分类

精准推荐的秘术:阿里解耦域适应无偏召回模型详解 精准推荐的秘术:阿里解耦域适应无偏召回模型详解 Jun 05, 2023 am 08:55 AM

一、场景介绍首先来介绍一下本文涉及的场景——“有好货”场景。它的位置是在淘宝首页的四宫格,分为一跳精选页和二跳承接页。承接页主要有两种形式,一种是图文的承接页,另一种是短视频的承接页。这个场景的目标主要是为用户提供满意的好货,带动GMV的增长,从而进一步撬动达人的供给。二、流行度偏差是什么,为什么接下来进入本文的重点,流行度偏差。流行度偏差是什么?为什么会产生流行度偏差?1、流行度偏差是什么流行度偏差有很多别名,比如马太效应、信息茧房,直观来讲它是高爆品的狂欢,越热门的商品,越容易曝光。这会导致

Go语言如何实现云上搜索和推荐系统? Go语言如何实现云上搜索和推荐系统? May 16, 2023 pm 11:21 PM

随着云计算技术的不断发展和普及,云上搜索和推荐系统也越来越得到了人们的青睐。而针对这一需求,Go语言也提供了很好的解决方案。在Go语言中,我们可以利用其高速的并发处理能力和丰富的标准库实现一个高效的云上搜索和推荐系统。下面将介绍Go语言如何实现这样的系统。一、云上搜索首先,我们需要对搜索的姿势和原理进行了解。搜索姿势指的是搜索引擎根据用户输入的关键字匹配页面

关于网易云音乐冷启动技术的推荐系统 关于网易云音乐冷启动技术的推荐系统 Nov 14, 2023 am 08:14 AM

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

因果纠偏方法在蚂蚁营销推荐场景中的应用 因果纠偏方法在蚂蚁营销推荐场景中的应用 Jan 13, 2024 pm 12:15 PM

一、因果纠偏的背景1、偏差的产生在推荐系统中,通过收集数据来训练推荐模型,以向用户推荐合适的物品。当用户与推荐的物品互动时,收集的数据又会用于进一步训练模型,形成一个闭环循环。然而,这个闭环中可能存在各种影响因素,从而导致误差的产生。主要的误差原因在于训练模型所使用的数据大多是观测数据,而非理想的训练数据,受到曝光策略和用户选择等因素的影响。这种偏差的本质在于经验风险估计的期望和真实理想风险估计的期望之间的差异。2、常见的偏差推荐营销系统里面比较常见的偏差主要有以下三种:选择性偏差:是由于用户根

PHP中的推荐系统和协同过滤技术 PHP中的推荐系统和协同过滤技术 May 11, 2023 pm 12:21 PM

随着互联网的迅速发展,推荐系统变得越来越重要。推荐系统是一种用于预测用户感兴趣的物品的算法。在互联网应用程序中,推荐系统可以提供个性化建议和推荐,从而提高用户满意度和转化率。PHP是一种被广泛应用于Web开发的编程语言。本文将探讨PHP中的推荐系统和协同过滤技术。推荐系统的原理推荐系统依赖于机器学习算法和数据分析,它通过对用户历史行为进行分析,预测

See all articles