SIGIR'22「谷歌」BISER:双边无偏学习对有偏隐式反馈进行纠偏
关注我们,一起学习~
title:Bilateral Self-unbiased Learning from Biased Implicit Feedback link:http://www.joonseok.net/papers/biser.pdf code:https://github.com/Jaewoong-Lee/sigir_2022_BISER from:SIGIR 2022
1. 导读
推荐系统中通常采用隐式反馈(如点击)来构建模型,而观察到的反馈代表用户的点击日志,所以观察到的点击与真实用户意图之间时存在差异的,并且观察到的反馈通常偏向于热门商品,从而高估了热门商品的实际相关性。尽管现有研究已经开发出使用逆倾向加权 (IPW) 或因果推理的无偏学习方法,但它们只专注于消除商品的流行度偏差。本文提出了一种新颖的无偏推荐学习模型BISER,以消除推荐模型引起的商品曝光偏差。BISER 由两个关键组成部分组成:
- (i) 自逆倾向加权(SIPW),以逐渐减轻商品的偏差,而不会产生高计算成本;
- (ii) 双边无偏学习 (BU) 以弥合模型预测中两个互补模型之间的差距,即基于用户和商品的自动编码器,减轻 SIPW 的高方差。
2. 懒人阅读
本文所提方法主要是针对曝光偏差问题,主要是针对IPW进行改进,提出SIPW。SIPW方法也很简单,直接采用当前轮次的预测作为逆倾向性分数IPS,然后针对IPW这类方法的高方差问题,提出采用双边无偏学习,方式分别从用户和商品的角度构建异构模型进行预测。
3. 背景
3.1 符号
令U表示m个用户的集合,I表示n个商品的集合,
表示点击与否。用户是否点击受两方面因素影响:是否曝光和是否和用户兴趣相关,可用下式表示,其中
是观察矩阵
的元素,表示用户u是否观察到了商品i,
是相关矩阵
的元素,表示与观察无关的真实相关性。有偏的用户行为的交互矩阵Y被分解为观察和相关分量的元素乘法。
3.2 无偏推荐
本文的目标是从隐式反馈中学习一个无偏的排序函数,采用pointwise类型的损失函数,即如下所示的交叉熵损失函数,
与上述有偏的损失类似,理想的损失函数为下式,ρ表示的是用户真实兴趣意图。
常用的方法是逆倾向性加权IPW同时考虑点击和真实相关性,构建损失函数为下式,其中w是逆倾向性得分,表示用户观察到商品的概率,关键问题是如何根据观察到的反馈(例如点击)来估计倾向得分。
4. 方法BISER
image.png
4.1 模型结构
4.1.1 SIPW
现有研究通过两种方式消除曝光偏差:(i)仅对影响用户点击行为的商品流行度建模,(ii)采用额外的模型考虑相关性和观察的有偏数据来估计曝光偏差,但是这种方式会增加训练成本。本文设计了一种新的偏差估计方法,即自逆倾向加权(SIPW)。首先,使用交互数据引入了一个理想的无偏推荐模型。给定用户u的商品推荐列表
,用户与商品i交互的概率为下式
通过有偏推荐模型估计用户u与商品i交互的概率为下式,
两者的区别在于理想情况下观察到的
和有偏情况下观察到的数据
。通过将它们结合起来,将IPS估计为交互的两个概率分布之间的比值,公式如下,
假设
服从均匀分布,则
中每个商品的概率被简单地视为一个常数。因此,将倾向得分
估计为下式,
剩下的问题是如何估计用户u观察商品i的概率
。受到在模型训练期间利用模型预测知识的自蒸馏的启发,作者将模型预测重用为
,此处从直觉上也是容易理解的,本身我们是在观察到的有偏数据上进行模型训练,即这里的π,原始模型所预测的其实是在观察数据下是否会发生交互
。
因此,构建如下无偏损失函数,其中
是第k轮迭代的模型参数
4.1.2 双边无偏学习
IPW在理论上是可行的,但由于实践中的高方差问题经常导致性能不理想。现有方法是利用多模型训练,将一个模型的预测作为其他模型的伪标签,但多个模型在训练时会表现出类似的趋势。本文使用了两个具有不同特征的推荐模型。分别是基于用户和基于商品的推荐模型,以此改进传统推荐模型的预测性能。由于它们倾向于捕捉用户和商品模式的不同方面,采用异构模型有助于缓解估计重叠问题。
利用基于用户和商品的自编码器从复杂的用户商品交互中发现独特的互补模式。这两个模型应该收敛到相同的值以正确估计真实相关性。
其中
和
分别是基于用户和基于商品的自编码器的参数。最后,使用两个模型的预测值构建双边无偏学习的损失函数,公式如下,其中r为两个模型的预测值,
4.2 训练和推理
给定基于用户和商品的自动编码器,每个模型都使用 SIPW 从头开始训练。在每次迭代中,通过最小化
损失来更新模型参数。然后考虑损失函数以最小化两个模型预测之间的差异。基于用户的模型和基于商品的模型分别以对方的预测作为伪标签进行训练。因此,可以通过使用两个模型预测来减少 SIPW 的高方差问题。基于
和
可得在第k轮训练时的最终损失函数如下式,其中λ为超参数
模型训练完成后,两个模型的偏差就会从用户和商品的角度消除。通过从不同角度统一用户偏好可以改进模型预测。最后,使用两个模型的预测平均值作为最终评分如下,
伪代码如下所示,
5. 结果
相关文章
- k8s 学习(1)——CentOS 系统搭建 k8s 环境
- 多路径多领域通吃!谷歌AI发布多领域学习通用模型MDL
- Vue学习笔记1-什么是Vue
- Hive学习3:Hive三种建表语句详解
- Python学习系列之lambda表达式
- 炼丹指南,「学习」有术!谷歌发布:调参套路!
- Soft Diffusion:谷歌新框架从通用扩散过程中正确调度、学习和采样
- WSDM'23 | CL4CTR:用于CTR预测的对比学习框架
- 持续学习笔记
- 一静一动,一张一弛 - 通过具体的两个例子,学习 ABAP 动态断点的使用诀窍试读版
- Linux源码学习笔记 day1 开机时如何加载系统?
- 谷歌大脑深度学习调参(炼丹)指南出炉,Hinton点赞,一天收获1500星
- Python网络编程——学习笔记详解编程语言
- 获取最佳Oracle视频教程:体验学习之旅(最好的oracle视频)
- 谷歌浏览器将通过机器学习自动为网页图片添加描述方便视觉障碍人士
- 学习Linux,让你轻松解决问题(linux就应该这么学)
- 掌握Linux命令:学习如何输入指令(linux怎么输命令)
- 谷歌化身眼科专家,用深度学习诊断糖尿病视网膜病变
- 谷歌、微软、OpenAI 等巨头的七大机器学习开源项目 看这篇就够了
- 谷歌再下一城,为印度小学生推出AI学习工具Bolo
- 谷歌机器学习白皮书全解析 43条黄金法则(二)
- 谷歌刚发布的深度学习动态计算图工具TensorFlow Fold是什么?
- Linux中学习使用双引号的奇妙之处(linux 中双引号)
- 学习C语言 快速读取Oracle数据库(C 读oracle数据库)
- 学习Oracle中变量类型的基础知识(oracle中变量类型)
- 谷歌研究院在化学发力:应用机器学习技术预测分子性质
- 谷歌地图重大升级,用深度学习实时更新街景
- JQueryCSS样式控制学习笔记