SIGIR2022 | 流行度偏差如何利用?探索解耦域适应无偏召回模型

8027cc9d6fc9e7ac69ab677424972805.gif

召回模型中流行度偏差的现象主要有两种:流行度分部差异、长尾分布差异。本工作主要探索如何改善召回阶段中的双塔模型来缓解流行度偏差。目前已有缓解流行度偏差的方法主要有两大类:逆倾向评分(IPS)和因果图推断。但是,我们认为不能盲目抑制流行度偏差,而应探索如何更好将其利用。所以,本次工作从缓解流行度偏差的角度调整为合理利用流行度偏差的角度。此工作已被SIGIR-2022接收。

背景

推荐链路大概率会面临流行度偏差问题,即少量的热门商品占据了大部分的曝光,如图1柱状图所示,在有好货场景中,Top 10%的商品占据了63%的曝光量。在排序阶段去缓解马太效应,破除信息茧房,往往对效率的负面影响较大;而召回阶段作为整条召回链路的基底,在处理流行度偏差上的优势在于:召回阶段一般由多路组成,额外增加一路无偏探索更为平滑,后链路顶多不认该路的召回结果而减少透出,对效率指标的负面影响一定程度能降至最低。因此,该工作主要探索如何改善召回阶段中的双塔模型来缓解流行度偏差。

5eea5becdb709db895f9cda4e1c5d3c9.png

图1:流行度偏差展示。Item Group通过曝光频率的排名进行分组。直方图表示每个组的曝光量在总曝光量的占比;绿线表示每个组正样本的平均分值(流行度分布差异);红线表示每个组的Hitrate(长尾分布差异)。



我们将流行度偏差的产生归因于两个:

  1. 由于日志中包含了大量的热门商品正样本,目前的训练范式,如pointwise和pair-wise损失,鼓励模型推荐更多的热门品以达到更低的损失,将流行度信息注入ID表征中,如item id(例如,在训练模型时,即使商品特征仅用不含流行度特征的ID类信息,马太效应同样存在,证明ID embedding会在训练的时候记住流行度信息),从而往这个方向更新参数。如图1绿线所示,即使都为正样本,高曝品的打分均值也高于长尾品。我们将该现象定义为流行度分布差异,即在商品ID表征中所包含的流行度存在差异。

  2. 由于长尾商品日志的稀疏性,使得这类商品的表征学习不够充分,模型(过拟合于热门品)难以准确的预估它们,如图1红线所示,我们将此现象定义为长尾分布差异

目前,已有缓解流行度偏差的方法主要有两大类,逆倾向评分(IPS)【1】和因果图推断【2】。但是,我们认为不能盲目的抑制流行度偏差,而应探索如何更好将其利用。原因是:相比于长尾商品,热门商品的质量往往更好或者符合当前趋势,因此值得更多的推荐。而用户发生点击收到两个因素的影响,一种是从众心理,一种是真实兴趣。因此,盲目地去除流行度偏差将忽略交互日志提供的重要信息,抑制优质品的透出,影响从众心理带来的点击。综上,本次工作从缓解流行度偏差的角度调整为合理利用流行度偏差的角度。



方法

5a2143aa2f6d65b28fc987a994aae343.png

图2:推荐过程的因果图表示,U-用户;I-商品;P-流行度;C-点击概率。

如图2a因果图所示,当前的训练范式会使得流行度信息不仅会影响用户的点击,还会被注入商品id表征中,从而加剧流行度偏差。因此,我们设计模型如图2b红线所示,从商品属性表征中解耦出原始的内容表示和流行度表示。具体来说,我们设计了可以联合训练有偏模型和无偏模型的解耦域适应网络20a3f3c9edd061ff0fa5ab6196e23cc4.png,其难点在于如何提取无偏且学习充分的商品表示。针对流行度分布差异,我们设计了特征解耦模块(FDM)从商品属性embedding分离出属性表示和流行度表示;针对长尾分布差异,我们额外引入未曝光商品(大多数为长尾商品)来实现热门商品和长尾商品分布粒度上的对齐,进一步的,利用I2I范式,我们基于用户行为序列,设计商品相似度损失函数促使越相似的商品有越相似的商品向量表示,实现实例粒度上的对齐。接下来,我们将具体介绍我们的模型结构。

042e120c5df8bcc381771077e42dd0c4.png

图3:3703c40c47ed95f180992b8649a03af9.png网络结构图。分别表示目标商品,未曝光商品,用户行为序列商品。在训练阶段,FDM用来学习分离商品属性表示和商品流行度表示。此外,我们在商品塔额外引入未曝光样本和用户历史行为序列来缓解长尾分布差异。03776576ec135104362da0d265267d38.png可以训练一个模型通过无偏的商品属性表示b222d8b427446d63935f836764d0e554.png,和一个有偏的模型通过融合了真实流行度表示的1b18817b2dec7b71e67155488f4a719f.png的有偏商品表示c53e5e87bf6449e84ae2a914d3b0c35f.png

  Embedding Layer

整体模型为双塔结构:用户塔通过用户信息6f5fd154e7a5c9691e4f1a406bf28c6d.png和历史行为序列b8132f0fd994dd1aac364e8fef280f9c.png生成用户向量表示c7fcfe576dd9ddcf190bbebc21617452.png;商品塔通过商品信息482d8c1e7908e6bf1dd38e6b430d933d.png和流行度信息aea0a0868dd963a841db5cc8c1efd051.png生成商品向量表示f5dcf2b4426acdd44f0cb4b10b573394.png。其中用户信息包含性别、年龄、省份等;商品信息包含商品id,类目,品牌等;流行度信息包含曝光频率,点击频率,购买频率等。f8a97af6c6133d3bf6c03c5bf17d6f5d.png通过编码层将其转化为编码向量:

f415d3f4b47c641fe4ebba04229eaba3.png

本次工作的重点在于如何改造商品塔来提取符合预期的商品向量表示ac37062e08fe4eb4a12b62d54d496f6f.png

  特征解耦模块(FDM)

为了抑制流行度分布差异,我们设计了FDM模块从065b96dc107b0610a7acc7332004a59e.png中分离出商品属性表示2cda2dbdd36c2a10f12d8745bd6dbf05.png和商品流行度表示eac2340768fa68d03a79149b3b96fb0a.png,如图3所示,一个由MLP组成的属性编码器1d5146bef7d87fb54e434c9712c8c6c9.png用来捕获商品属性表示,一个由MLP组成的流行度编码器48a6c3f8339b5169d1dbcfaaca6c8aeb.png用来捕获商品流行度表示,可以用公式形式化的定义为:

d78976e0459b719707810571badd3125.png

其中,0481ebc64373da063edc7b7aae963a6d.png。由于商品的流行度表示不会影响到内容本身,我们认为eed8ed27d5f2311cbf21ec6f9c8f8223.png348153da32c5c8e7b5f7d09bcb2701c8.png是正交的,因此,为了鼓励FDM朝着预期的方向优化,我们加入了两个约束:

cd7cf707cab263b5b9206391da315921.png

其中,495343d1c952638322438f33223ebcd0.png表示L2正则化,13128e19edc9dd3d27e513bc32acd966.png表示真实的商品流行度表示,通过a78de747a543df9a56c30c59973b204d.png生成,41109042e371a0b7a56fc9cd42936603.png代表batch size。7b11bb22927038851701215f104c13fe.png约束分离的70c6eeac25d780c2cb5b8ee60e1fceec.png与真实流行度表示bb6294ed2448f979e0e6e86b11361079.png尽可能相似,c3752e45cd08ddfc9a006cb0fff479cc.png约束bbadff8d5c31e37cda6026d0b0c8221a.png6ff8ee24e8fd7be9d99370f7cd2888ad.png正交,鼓励FDM对商品的不同角度(内容和流行度)独立进行编码。

  正则化缓解长尾分布差异

域对齐 虽然FDM已经提取了解耦出流行度表示的商品属性表示,但是由于长尾的数据稀疏性,我们认为流行度偏差仍然存在。相比于训练充足的热门商品,长尾商品并不能获得足够的学习。借鉴域适应的思想,我们额外引入了埋点中的未曝光商品(大部分是长尾商品),采用常见的最大均值差异(MMD),来实现长尾和热门商品的分布对齐。

8ebed50cecfe862538e8d4401803b2b8.png


其中,6150d12e0055b68afc71cf8efefb292a.png表示核函数,f8e67e936866e0242bab4c1e53714cb9.png表示希尔伯特空间。需要注意的地方有两点,一个该损失的目标样本商品属性表示d57d971859b17fc4428ac298e7aff522.png是停止梯度的,防止对齐任务对主任务造成影响;另一个是为了保证分布对齐不会产生负迁移,会额外对未曝光样本引入基于精排分的知识蒸馏。直观来讲,该损失函数促使热门商品属性向量中心与长尾商品属性向量中心相互靠近,从而实现分布对齐。



实例对齐 由于日志中长尾偏移的存在,所学习到的商品向量空间并不能很好的反映商品间的隐藏相似性关系。例如,在商品空间中,一个热门商品可能远离与它同类目的长尾商品,却与不同类目的热门商品靠近。我们认为有效共现次数越多的商品对应该有更相似的商品向量表示。为了让模型捕获这种结构化信息,我们在商品塔额外引入了用户点击行为序列。基于对比学习,约束同一个用户点击的商品向量表示将会更接近。具体的,f6d640fcebd3b59ddf6a23433a5908ff.png当作正样本,batch内的其他目标商品当作负样本69d68cc32e324ffaf1d67c5ccf234b18.png,因此,商品相似度损失可以被定义为:

b01fddccb6f8a0a5d42c921ae8cea018.png

其中,8ff5762b92fee8392b79a031ce6f335b.pngb8ff0558a3d8399a4996571906d4b522.png为温度系数,d67309a5a67d049ad61840a9aa08fed2.png表示当前用户的行为序列,2d9df9b68a080909c893a66d21276370.png表示对应商品的曝光频率。86c1b0bfaa934024670f341cfe3673c2.png存在两个问题:1)用户的兴趣是多峰的,这意味着用户的行为序列有着丰富的类目,如果盲目的将目标正样本与历史行为序列的所有样本进行聚拢会导致模型的崩塌。2)由于流行度偏差的存在,热门商品的曝光频率远远大于长尾商品。因此,如果忽略流行因子的存在,将会再次引入流行度偏差,因为很多无效的热门商品对的存在。综上分析,我们引入了由37f6c7717e2f9552fd9fdd349aaa7b73.png两部分组成的权重2185a0c4bec98d13581f4c7b90cd1a81.png,类似于DIN,5f80e2b97036555a986699c66316482f.png用于保存序列中与目标商品相似的商品,ddf5c242c539bd9ac19b598eadfce16c.png用于抑制热门商品的影响。值得注意的是,权重8831dfffe86158f6492dd2a1cd06cbfb.png的梯度是停止的。该损失函数使得相似商品的向量互相靠近,并拉开与无关负样本的距离。基于域对齐和实例对齐,用于抑制长尾分布差异的正则化被定义为:3d5ed753366a2449e8ae634a1e332862.png


  联合训练及在线服务    

联合训练 在模型获得无偏的商品属性向量587a995b875b4515356cad57e5766439.png,我们可以采取内积的形式ffee700d30edd7d9b207470a3e959146.png训练无偏的召回模型。但正如我们所说,热门商品总体品质优于长尾商品,值得更多的推荐。为了更好的利用流行度信息,我们利用商品的真实流行度向量表示56f9c28ce7fa365ea4680103de91bb3e.png来提取有偏的流行度商品向量,可以被定义为:b2a34635549db48bbd5a3c399798cc8b.png。基于e9782dc79c7ea7c5e053eeb26d94c391.png685ccf1ecf3c957e558cbccdb806233b.png,模型用batch sample softmax进行召回任务的优化:

7438b1867c11d5682395208bae636809.png

因为74ee4ba486b28a338ab2a7a725b6526d.png中已经解耦出流行度信息,有偏模型的训练只会去拟合流行度偏差,而不会去放大它。综上,120d6aca8aa11a08579081c49aa88006.png的损失函数为:

d84e7fe6bdf6c8ddb808ea68c95bc407.png

在线服务 线上服务时我们使用BE提供的向量检索进行召回,为了同时考虑无偏分数(用户真实兴趣)和有偏分数(用户从众心理),线上的用户向量980587278d3c24e45af37db7ea2c4da8.png和商品向量f6f6de95c13c5b3341778682a4b8b581.png的生成方式为:

ee4c962ffafbf2f0a23a2a28d1553f62.png

其中,a22192a45074203b4910dcd6a30acd81.png9bf20c59fd2c74de5ac3ec87a451d059.png表示流行度偏移权重,9ce3fdc22db0b023cdfb936e802736c4.png9518cba86ddb97709f6f0a57c8ab7d51.png的内积就可以看作是有偏模型和无偏模型分数的加权求和:62f3b90ef98f21d86dd47493ba783d9b.png

实验部分

  离线实验

指标说明:我们定义了一个模型召回结果的集中度衡量指标bc59ff4b17dfce2636e101842705844e.png来衡量召回结果中热门商品的占比:

8db6a818086cd0d71f58a4cc71d98839.png

其中,377ef1f70768dfd27f8f18a80e95301b.png表示召回的商品集合,f385568cb6257470ab65829e0a27ec2b.png表示热门商品集合。下表是离线指标对比,可以看出在长尾商品的指标和集中度都有所改善。

方法

Hitrate@300

f7f03baa4cbff67eeec22009127f0c8c.png

Hitrate@300

2ab1824f83ed15b81f4c2817ff066efb.png

Hitrate@300

c29a10ae071690ffb280205a5cbb91dc.png

C-Ratio

Base

0.3022

0.2378

0.2915

0.8801

CDAN w/o

2d7622aada8bbbdfeeff0485cfb4baa7.png

0.3224

0.2803

0.3085

0.7869

CDAN w/o

9746a80bb52095390fa48cb295e3b9fa.png

0.3187

0.2769

0.3033

0.7748

CDAN w/o

82aee1b5c93a5e8f96ff5341fd3a4ced.png

0.3195

0.2677

0.2964

0.7541

CDAN w/o

63cfbfe8d70242adcbe0fcd586deb244.png

0.3180

0.2639

0.2885

0.7600

CDAN

a6b55e24e8548d5ed4d8f5871e43e621.png

0.3072

0.2984

0.3021

0.6075

CDAN

0.3284

0.2893

0.3179

0.7361

  线上实验

将原有的Base双塔替换为65e2566fdeb6ca8c79ba1c1694eba34f.png模型,线上指标如下表所示:

方法

pCTR

人均点击

人均浏览

Top1K曝光占比

Top10K曝光占比

曝光商品占总商品池比例

CDAN

1f562ecf5eab9b75bc3debab306e5f5a.png

+0.28%

+0.15%

+0.21%

-7.40%

-5.70%

+2.22%

CDAN

0.76%

+1.10%

+0.63%

−3.80%

−3.58%

+1.33%

分析A/B结果可以发现,虽然无偏召回模型(仅利用无偏商品属性表示7cf0d21d2dbc1451dcf7a26671b240ff.png)可以使得集中度大幅度下降,且能提高长尾商品的曝光概率,但是在效率上几乎没有收益,这说明了盲目的去除流行度偏差会丢失掉流行度所带来的效率增益;而有偏的召回模型(仅利用有偏的流行度商品向量fe1f8e6916eef2e4d7449bba09f26078.png)在效率和集中度上都有所改善,说明242071fdf294993cd1ce15c0ce4760c7.png可以利用流行度信息同时满足用户的从众性和真实兴趣。

  向量可视化

d8012f479dc7a51adc978277ffd6c600.png

图4 商品向量的T-sne可视化,红点为热门商品,蓝点为长尾商品,黄点为热门商品解耦出的流行度表示,绿点为长尾商品解耦出的流行度表示。

从图4a可以发现,由于流行度偏差的存在,Base模型所提取的商品向量表示存在着分布差异,这会导致过拟合于热门商品的模型难以精准评估长尾商品的好坏;从图4b可以看出,f2bae4cc8f0f79313b6b516a7b889f89.png提取的无偏属性向量和解耦流行度向量符合预期,即属性向量不存在分布差异,而流行度向量具有区分度,且和属性向量有着明显的分界线。

0254afa1eda30969360bf0b6e2e0d4a3.png

图5 每种颜色代表一个类目

为了验证7b4351438c52db7349c10778a5e02d00.png的有效性,我们对8afe23d92dc599e452633c970bd039b9.png进行了消融研究并进行了向量可视化,可以发现基于实例对齐的12247b7f40aeae5605fa4bfd81a113b2.png可以促使同一个类目的商品向量聚类的更紧凑。

  流行度偏移权重分析

2a8406838acd5f6e23ba9c9794cba38b.png

图6 流行度偏移权重95f0cd16c751bf4063cb479034e19dc8.png,柱状图代表C-Ratio,折线代表Hitrate@300

我们考量了流行度便宜权重对于离线指标的影响,2d6001e3853ece1e8d7ab758b04d8f71.png表示有偏召回模型,b4353f032ff44e23667a94d7c3bd150b.png表示无偏召回模型,中间的取值为两者的加权求和,可以发现随着56de8a3ec83580aad516bd68df99d735.png的增大,召回结果的集中度逐渐下降,长尾商品的Hitrate逐渐提高,这证明通过对cc10a5575d2432ff58a9b4cfeb63ffbd.png的调整,可以让模型有方向的去拟合用户的从众性和真实兴趣。

总结

虽然分发侧总是存在着流行度偏差,但不可否认的是该偏差体现了用户的反馈,一味的去抑制流行度偏差使得整体模型是无偏的并不能带来最好的收益。因此,我们认为模型应该去利用流行度偏差,但不能毫无扩张的去放大它。正如本文所说,用户的反馈是从众性和真实兴趣的体现,但是在此工作中只在商品测进行探索,并没有去建模用户侧每个用户从众性和真实兴趣的个性化倾向,在后期工作中,我们将会去探索如何分开去建模用户的这两种倾向。

致谢

感谢怀风、从之、徐往、斯陌、孑行、晨良等团队成员的帮助,感谢横云、明逸、文通等各位老师的支持。

参考文献

【1】A re-visit of the popularity baseline in recommender systems.

【2】Model-agnostic counterfactual reasoning for eliminating popularity bias in recommender system.

团队介绍

有好货算法团队:有好货做为淘宝中的内容导购场景,旨在帮助消费者发现新颖好货。团队主要负责整体推荐链路的技术探索,目前主要致力于无偏学习,全链路建模、连续迁移范式、不确定性量化、长短期兴趣挖掘等方面的探索,以提高优势商品挖掘能力和频道导购能力。在创造业务的同时,我们同样在进行技术沉淀,在SIGIR等国际会议上发表数篇论文,主要成果有PDN,UMI等。

✿  拓展阅读

8af332c1e89b31e5792048c8382c30b8.png

a43247d151186f90b20cbfd8c1040a19.png

作者|陈智鸿(仙基)

编辑|橙子君

b828284b08d4c4902aedbda62311bd32.png

2820e759fd924f19711d00015cee6f94.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值