推荐系统(LLM去偏?) | (WSDM24)预训练推荐系统:因果去偏视角

:::
大家好!今天我分享的文章是来自威斯康星大学麦迪逊分校和亚马逊AWS AI实验室的最新工作,文章所属领域是推荐系统和因果推理,作者针对跨域推荐中的偏差问题提出了一种基于因果去偏的预训练推荐系统框架PreRec。
:::

原文:Pre-trained Recommender Systems: A Causal Debiasing Perspective
地址:https://arxiv.org/abs/2310.19251
代码:https://github.com/myhakureimu/PreRec
出版:WSDM '24
机构: 威斯康星大学麦迪逊分校、亚马逊

1 研究问题

本文研究的核心问题是: 如何设计一个通用的预训练推荐系统框架,能够有效处理跨域推荐中的偏差问题。

::: block-1
假设我们有一个电商平台,想要为不同国家的用户推荐商品。每个国家的用户行为和商品特征都有所不同,直接将一个国家的推荐模型应用到另一个国家往往效果不佳。我们希望能够设计一个通用的推荐框架,可以在多个国家的数据上预训练,然后快速适应到新的国家市场,同时还能处理不同国家之间的偏差问题。
:::

本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

  • 跨域推荐中存在域内偏差和跨域偏差,这些偏差会影响模型的泛化能力。例如,不同国家的商品流行度分布不同(域内偏差),以及不同国家的用户行为模式差异(跨域偏差)。
  • 现有的预训练推荐方法(如ZESRec和UniSRec)没有考虑这些偏差,可能会导致模型过拟合源域数据。
  • 如何在保留通用知识的同时,有效地消除这些偏差是一个挑战。

针对这些挑战,本文提出了一种基于因果去偏的"PreRec"方法:

::: block-1
PreRec的核心思想是将推荐过程建模为一个概率图模型,并引入因果推理的思想来处理偏差。它就像一个精明的导购,不仅了解每个国家的商品和用户特点,还能识别出哪些是真正的用户偏好,哪些只是由于某个国家特定的促销活动或文化差异造成的偏差。具体来说,PreRec使用一个分层贝叶斯深度学习模型来捕获用户兴趣、商品特征、域特征和流行度等因素。在预训练阶段,它通过显式建模域内偏差(如商品流行度)和跨域偏差(如域特征),将这些偏差与通用知识分离。在推断阶段,它使用因果干预的方法来消除这些偏差的影响,只保留真正的用户-商品匹配信息。这就像PreRec在每个国家都派了一个"特工",这些特工不仅收集各自国家的数据,还能识别出哪些是该国特有的"噪音"。在给新国家的用户推荐时,PreRec就能抛开这些"噪音",专注于真正通用的推荐知识。
:::

2 研究方法

2.1 PreRec模型结构

PreRec是一种新型的预训练推荐系统,采用层次化贝叶斯深度学习框架。它的核心目标是解决多域预训练中的偏差问题,提高模型在新域上的泛化能力。PreRec的整体架构包括以下几个关键组件:

  1. 用户通用嵌入网络(User Universal Embedding Network):这个网络用于生成用户的通用嵌入表示。它接收用户的历史交互序列作为输入,通过一个序列模型(如Transformer)来聚合这些交互信息,最终输出用户的嵌入向量。
  2. 物品通用嵌入网络(Item Universal Embedding Network):这个网络用于生成物品的通用嵌入表示。它以物品的文本描述为输入,通过预训练的语言模型(如BERT)和一个单层神经网络来提取物品的语义特征,最终输出物品的嵌入向量。
  3. 域属性嵌入(Domain Embedding):这是一个可学习的向量,用于捕捉每个域的特有属性,如用户群体特征、促销活动等。
  4. 流行度嵌入(Popularity Embedding):这个组件用于建模物品在特定域内的流行度偏差。它基于物品的交互次数、流量和时间等因素计算得出。

举个例子,假设我们在构建一个跨国的电商推荐系统。对于一个来自美国的用户,用户通用嵌入网络会分析他过去购买的商品序列(如手机、耳机、充电器等),生成一个能够反映他整体兴趣的嵌入向量。对于一个新上架的手机,物品通用嵌入网络会分析其产品描述,生成一个反映手机特征的嵌入向量。同时,我们还会有一个代表"美国市场"的域属性嵌入,以及反映这款手机在美国市场受欢迎程度的流行度嵌入。

PreRec的创新之处在于,它明确地将这些不同来源的信息(用户兴趣、物品特征、域属性、流行度)分开建模,这为后续的去偏和迁移学习奠定了基础。

2.2 多域预训练

在多域预训练阶段,PreRec的目标是从多个源域中提取通用知识,同时显式建模和处理不同类型的偏差。这个过程主要包括以下几个步骤:

  1. 数据收集:从多个源域(例如不同国家的电商平台)收集用户-物品交互数据、物品描述文本以及相关的元数据。
  2. 通用表示学习:使用物品通用嵌入网络和用户通用嵌入网络,分别学习物品和用户的通用表示。这些表示应该能够捕捉到跨域的共性特征。
  3. 域内偏差建模:PreRec显式地建模了域内的流行度偏差。具体来说,它引入了一个流行度嵌入 Z j Z_j Zj,用于捕捉物品 j j j 在特定域内的流行度效应。这个流行度嵌入是基于物品的交互次数、总流量和时间等因素计算得出的。
  4. 跨域偏差建模:PreRec引入了一个域属性嵌入 D k D_k Dk,用于捕捉每个域 k k k 的特有属性。这个嵌入可以理解为域的隐藏表示,它影响着该域内的用户兴趣、物品属性和用户行为模式。
  5. 联合优化:PreRec通过最小化负对数似然来联合优化所有这些组件。优化目标函数如下:

L = ∑ − l o g ( f s o f t m a x ( U i T V j + D k W d + Z j W z ) ) + λ z / 2 ∑ ∣ ∣ Z j − f p o p ( F j ) ∣ ∣ 2 + λ v / 2 ∑ ∣ ∣ V j − f e ( D k , Z j ) ∣ ∣ 2 + λ u / 2 ∑ ∣ ∣ U i − f s e q ( D k , H i ) ∣ ∣ 2 + λ d / 2 ∑ ∣ ∣ D k ∣ ∣ 2 L = ∑ -log(f_softmax(U_i^T V_j + D_k W_d + Z_j W_z)) + λ_z/2 ∑ ||Z_j - f_pop(F_j)||^2 + λ_v/2 ∑ ||V_j - f_e(D_k, Z_j)||^2 + λ_u/2 ∑ ||U_i - f_seq(D_k, H_i)||^2 + λ_d/2 ∑ ||D_k||^2 L=log(fsoftmax(UiTVj+DkWd+ZjWz))+λz/2∣∣Zjfpop(Fj)2+λv/2∣∣Vjfe(Dk,Zj)2+λu/2∣∣Uifseq(Dk,Hi)2+λd/2∣∣Dk2

这里, U i U_i Ui 是用户嵌入, V j V_j Vj 是物品嵌入, D k D_k Dk 是域属性嵌入, Z j Z_j Zj 是流行度嵌入, H i H_i Hi 是用户历史, F j F_j Fj 是流行度因子。

举个具体的例子,假设我们在美国、英国和加拿大的电商平台上预训练PreRec。对于一个在美国平台上很受欢迎的iPhone手机,它的表示会包含几个部分:

  • 通用物品嵌入:反映iPhone的基本特征,如智能手机、iOS系统等。
  • 流行度嵌入:反映这款iPhone在美国市场的高人气。
  • 域属性嵌入:可能捕捉到美国用户偏好高端科技产品的特点。

通过这种方式,PreRec能够区分出哪些特征是iPhone的固有属性,哪些是由于美国市场的特殊性造成的,从而为后续的跨域推荐打下基础。

2.3 零样本推荐

零样本推荐是PreRec的一个关键能力,它允许模型在没有见过任何目标域数据的情况下,直接在新域上进行推荐。PreRec通过巧妙的因果干预机制来实现这一点。具体步骤如下:

  1. 消除跨域偏差:在进行零样本推荐时,PreRec首先将域属性嵌入 D k D_k Dk 设置为0。这相当于执行了一个do-操作: d o ( D k = 0 ) do(D_k = 0) do(Dk=0)。直觉上,这就好比我们在问:“如果没有任何特定域的影响,用户会如何与物品交互?”
  2. 保留域内偏差:虽然消除了跨域偏差,但PreRec保留了流行度嵌入 Z j Z_j Zj。这是因为流行度信息通常在不同域之间具有一定的可迁移性。
  3. 计算推荐分数:PreRec使用因果干预后的用户嵌入和物品嵌入来计算最终的推荐分数:

P ( R i j k ∣ d o ( U i , V j , Z j ) ) = f s o f t m a x ( U i T V j + Z j W z ) P(R_ijk|do(U_i, V_j, Z_j)) = f_softmax(U_i^T V_j + Z_j W_z) P(Rijkdo(Ui,Vj,Zj))=fsoftmax(UiTVj+ZjWz)

这里, R i j k R_ijk Rijk 表示用户 i i i 与物品 j j j 在域 k k k 中的交互。

举个例子,假设我们要将预训练好的PreRec应用到澳大利亚的电商平台上。对于一个从未在澳大利亚市场出现过的新用户,PreRec会这样工作:

  1. 基于用户的历史行为(可能来自其他国家的平台)生成用户嵌入。
  2. 对于澳大利亚市场的每个商品,生成其通用物品嵌入。
  3. 计算每个商品在澳大利亚市场的流行度嵌入。
  4. 将域属性嵌入设为0,相当于"假设没有澳大利亚市场的特殊影响"。
  5. 基于以上信息计算推荐分数,并向用户推荐得分最高的商品。

这种方法的优势在于,它能够利用从其他市场学到的通用知识,同时考虑商品在新市场的受欢迎程度,但不会被源域的特殊偏好所影响。

2.4 目标域微调

随着在新域(如澳大利亚市场)积累了一定量的交互数据,PreRec可以通过微调来进一步提升推荐性能。微调过程包括以下步骤:

  1. 重新估计隐变量:PreRec会重新估计目标域的所有隐变量,包括用户嵌入 U i U_i Ui,物品嵌入 V j V_j Vj,域属性嵌入 D k D_k Dk,和流行度嵌入 Z j Z_j Zj
  2. 端到端优化:PreRec在目标域数据上优化与预训练阶段相同的目标函数:
    $$
    L = ∑ -log(f_softmax(U_i^T V_j + D_k W_d + Z_j W_z))
    • λ_z/2 ∑ ||Z_j - f_pop(F_j)||^2
    • λ_v/2 ∑ ||V_j - f_e(D_k, Z_j)||^2
    • λ_u/2 ∑ ||U_i - f_seq(D_k, H_i)||^2
    • λ_d/2 ∑ ||D_k||^2
      $$
  3. 适应性推断:微调后的推断过程会考虑目标域的特性:
    P ( R i j k ∣ d o ( U i , V j , D k , Z j ) ) = f s o f t m a x ( U i T V j + D k W d + Z j W z ) P(R_ijk|do(U_i, V_j, D_k, Z_j)) = f_softmax(U_i^T V_j + D_k W_d + Z_j W_z) P(Rijkdo(Ui,Vj,Dk,Zj))=fsoftmax(UiTVj+DkWd+ZjWz)

这里,我们不再将 D k D_k Dk 设为0,而是使用学习到的目标域属性嵌入。

具体来说,假设PreRec在澳大利亚市场运行了一段时间,收集到了一些用户交互数据。微调过程会:

  1. 更新用户嵌入,以更好地反映澳大利亚用户的偏好。比如,可能会发现澳大利亚用户特别喜欢户外运动产品。
  2. 调整物品嵌入,以适应澳大利亚市

3 实验

3.1 实验场景介绍

本论文提出了一个可以跨领域预训练的推荐系统模型PreRec。实验主要验证PreRec在新的目标领域上的推荐性能,包括零样本场景和微调场景。实验涉及跨市场(不同国家的Amazon市场)和跨平台(Amazon与Online Retail)两种跨域场景。

3.2 实验设置

  • Datasets:
    • XMarket数据集:覆盖18个本地市场(国家)的16个不同产品类别
    • Online Retail数据集:来自英国在线零售平台的数据
    • 预训练数据集:印度、西班牙、加拿大
    • 跨市场目标数据集:澳大利亚、墨西哥、德国、日本
    • 跨平台目标数据集:Online Retail
  • Baselines:Random, POP, SBERT, GRU4Rec, SASRec, ZESRec, UniSRec, PreRec_n
  • Implementation details:
    • 所有方法使用256维的物品和用户嵌入
    • 基于GRU的序列模型使用2层GRU
    • 基于自注意力的序列模型使用2层多头注意力
    • 使用Adam优化器,学习率为0.0003
    • 在验证集上使用平均r-NDCG@K%进行早停
  • Metrics:Recall@K% 和 r-NDCG@K%
  • 环境:使用一块Tesla V100 GPU进行训练

3.3 实验结果

实验1、零样本推荐实验

目的:评估PreRec在新的目标域上的零样本推荐性能
涉及图表:表1
实验细节概述:在三个源域(印度、西班牙、加拿大)上预训练PreRec,然后在五个目标域(澳大利亚、墨西哥、德国、日本、Online Retail)上进行零样本评估
结果:

  • PreRec在几乎所有情况下都显著优于所有基线方法
  • 在跨市场场景中,PreRec在澳大利亚数据集上获得最大改进,在日本数据集上改进最小
  • 在跨平台场景(Online Retail)中,PreRec同样表现出色

实验2、消融实验

目的:验证因果去偏机制的有效性
涉及图表:表1
实验细节概述:比较PreRec与其简化版本PreRec_n(忽略了跨域和域内偏差项)的性能
结果:在几乎所有情况下,PreRec都优于PreRec_n,证明了因果去偏机制的有效性

实验3、全量微调实验

目的:评估在目标域上全量微调后PreRec的性能
涉及图表:表2
实验细节概述:在目标域的所有可用训练数据上微调模型,并与基线方法比较
结果:

  • PreRec在微调后仍然在几乎所有情况下显著优于所有基线方法
  • 这表明PreRec在预训练阶段提取了通用知识,即使在目标域有充足数据的情况下仍具有互补价值
  • PreRec能够快速适应新域,同时不会遗忘预训练阶段学到的知识

实验4、增量微调实验

目的:研究目标域微调样本数量对模型性能的影响
涉及图表:图3
实验细节概述:使用逐渐增加的目标域训练数据对模型进行微调,观察性能变化
结果:

  • PreRec在所有目标域中都优于基线方法
  • 随着微调样本数量增加,PreRec的性能稳步提升,表明它在逐步适应目标域
  • 即使在有10^4个目标域训练样本时,PreRec与基线方法的性能差距仍然显著
  • 这表明PreRec在预训练阶段提取的知识在目标域数据有限的情况下具有重要价值
    非常感谢您提供的论文和问题。下面是我根据您的要求对论文进行的总结和分析:

4 总结后记

本论文针对预训练推荐系统中的域内偏差和跨域偏差问题,提出了一种名为PreRec的因果去偏视角方法。PreRec通过引入显式和隐式的混杂因子来建模不同类型的偏差,并使用因果干预机制来消除这些偏差的影响。实验结果表明,PreRec在跨市场和跨平台的零样本和微调场景下都显著优于现有方法,为构建通用的预训练推荐系统提供了新的思路。

::: block-2
疑惑和想法:

  1. 论文中提到的显式和隐式混杂因子是如何具体定义和识别的?是否存在其他类型的混杂因子需要考虑?
  2. PreRec如何处理动态变化的用户兴趣和项目特征?是否可以引入时间序列建模来捕捉这些变化?
  3. 在跨语言场景下,PreRec的性能如何?是否需要额外的跨语言对齐机制?
  4. PreRec能否扩展到处理多模态数据(如图像、视频)的推荐任务?这将带来哪些新的挑战?

:::

::: block-2
可借鉴的方法点:

  1. 将因果推断与深度学习相结合的思路可以推广到其他存在偏差问题的机器学习任务中,如计算机视觉、自然语言处理等。
  2. 使用分层贝叶斯模型来捕捉不同层次的特征和偏差的方法值得借鉴,可以应用于其他需要建模复杂层次结构的问题。
  3. 通过预训练和微调相结合的方式来提高模型的泛化能力和适应性的思路可以广泛应用于迁移学习和领域适应等场景。
  4. 设计新的评估指标(如r-NDCG@K%)来更公平地比较不同域间的性能的做法值得借鉴,可以应用于其他需要跨域评估的任务中。
    :::

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/746478.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年敏捷开发管理工具10大精选

国内外主流的十大敏捷开发管理系统:PingCode、Tapd、OpenProject、Jira、ClickUp、Monday.com、Wrike、Taiga、Tuleap、Redmine。 敏捷开发已成为软件开发领域的一种标准实践,有效的管理工具是其成功实施的关键。本文将探讨在2024年,哪些敏捷…

迁移学习——CycleGAN

CycleGAN 1.导入需要的包2.数据加载(1)to_img 函数(2)数据加载(3)图像转换 3.随机读取图像进行预处理(1)函数参数(2)数据路径(3)读取文…

基于redisson实现tomcat集群session共享

目录 1、环境 2、修改server.xml 3、修改context.xml 4、新增redisson配置文件 5、下载并复制2个Jar包到Tomcat Lib目录中 6、 安装redis 7、配置nginx负载均衡 8、配置测试页面 9、session共享测试验证 前言: 上篇中,Tomcat session复制及ses…

观测云 VS 开源自建

观测云是一款面向全技术栈的监控观测一体化产品方案,具备强大而丰富的功能,目标是帮助最终用户提升监控观测的能力,化繁为简,轻松的构建起完整的监控观测体系。同时能够帮助整个企业的开发技术团队从统一的观测能力上获得完整的收…

ONLYOFFICE 文档开发者版 8.1:API 更新

随着版本 8.1 新功能的发布,我们更新了编辑器、文档生成器和插件的 API,并添加了 Office API 板块。阅读下文了解详情。 ​ ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器,支持处理文本文档、电子表格、演示文稿、可填写…

探索ChatGPT在程序员日常工作的多种应用

引言 在现代科技迅猛发展的今天,人工智能的应用已经深入到我们生活和工作的各个方面。作为程序员,我们时常面临大量繁杂的任务,从代码编写、错误调试到项目管理和团队协作,每一项都需要花费大量的时间和精力。近年来,…

算法与数据结构——时间复杂度详解与示例(C#,C++)

文章目录 1. 算法与数据结构概述2. 时间复杂度基本概念3. 时间复杂度分析方法4. 不同数据结构的时间复杂度示例5. 如何通过算法优化来提高时间复杂度6. C#中的时间复杂度示例7. 总结 算法与数据结构是计算机科学的核心,它们共同决定了程序的性能和效率。在实际开发中…

大模型产品的“命名经济学”:名字越简单,产品越火爆?

文 | 智能相对论 作者 | 陈泊丞 古人云:赐子千金,不如教子一艺;教子一艺,不如赐子一名。 命名之妙,玄之又玄。 早两年,大模型爆火,本土厂商在大模型产品命名上可谓下足了功夫,引…

C#+uni-app医院HIS预约挂号系统源码 看病挂号快人一步

​​​​​​​ 提到去大型医院机构就诊时,许多人都感到恐惧。有些人一旦走进医院的门诊大厅,就感到迷茫,既无法理解导医台医生的建议,也找不到应该去哪个科室进行检查。实际上,就医也是一门学问,如何优化…

【CS.DS】数据结构 —— 图:深入了解三种表示方法之邻接表(Adjacency List)

文章目录 1 概念2 无向图的邻接表2.1 示例2.2 Mermaid 图示例2.3 C实现2.3.1 简单实现2.3.2 优化封装 2.4 总结 3 有向图的邻接表3.1 示例3.2 C实现3.3 总结 4 邻接图的遍历5 拓展补充References 数据结构 1 概念 优点:空间效率高,适合稀疏图。动态性强…

Win10,Win11电脑重装系统怎么操作,简单一步搞定【保姆级教程】

电脑重装系统怎么操作?电脑使用时间长了,就会出现系统崩溃、病毒感染或者是系统文件损坏等问题。这个时候我们就可以对电脑进行系统重装,也就是恢复电脑出厂设置。现在市面上有很多系统重装工具可以帮助我们解决难题,如果您是电脑…

自定义 Django 管理界面中的多对多内联模型

1. 问题背景 在 Django 管理界面中,用户可以使用内联模型来管理一对多的关系。但是,当一对多关系是多对多时,Django 提供的默认内联模型可能并不适合。例如,如果存在一个产品模型和一个发票模型,并且产品和发票之间是…

Java文件操作小项目-带GUI界面统计文件夹内文件类型及大小

引言 在Java编程中,文件操作是一项基本且常见的任务。我们经常需要处理文件和文件夹,例如读取、写入、删除文件,或者遍历文件夹中的文件等。本文将介绍如何使用Java的File类和相关API来统计一个文件夹中不同类型文件的数量和大小。 准备工作…

数据分析python基础实战分析

数据分析python基础实战分析 安装python,建议安装Anaconda 【Anaconda下载链接】https://repo.anaconda.com/archive/ 记得勾选上这个框框 安装完后,然后把这两个框框给取消掉再点完成 在电脑搜索框输入"Jupyter",牛马启动&am…

Vitis Accelerated Libraries 学习笔记--OpenCV 安装指南

目录 1. 简介 2. 安装过程 2.1 安装准备 2.2 编译并安装 XRT 2.2.1 下载 XRT 源码 2.2.2 安装依赖项 2.2.3 构建 XRT 2.2.4 打包 DEB 2.2.5 安装 XRT 2.3 编译并安装 OpenCV 2.3.1 下载 OpenCV 源码 2.3.2 创建目录 2.3.3 设置环境变量 2.3.4 构建 opencv 3. 总…

【STM32】看门狗

1.看门狗简介 看门狗起始就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新恢复到系统刚上电状态,以保障系统出问题的时候可以重启一次。说的简单一点,看门狗…

加速业务布局,30年老将加盟ATFX,掌舵运营新篇章

全球领先的差价合约经纪商ATFX日前宣布了一项重大人事任命,聘请业界资深人士约翰博格(John Bogue)为机构业务运营总监。约翰博格是一名行业老将,曾在差价合约界深耕三十余载。伴随其加入ATFX,相信他的深厚专业知识和从业经验将为ATFX机构业务…

HarmonyOS NEXT Developer Beta1配套相关说明

一、版本概述 2024华为开发者大会,HarmonyOS NEXT终于在万千开发者的期待下从幕后走向台前。 HarmonyOS NEXT采用全新升级的系统架构,贯穿HarmonyOS全场景体验的底层优化,系统更流畅,隐私安全能力更强大,将给您带来更高…

数据集的未来:如何利用亮数据浏览器提升数据采集效率

目录 一、跨境电商的瓶颈1、技术门槛2、语言与文化差异3、网络稳定性4、验证码处理和自动识别5、数据安全6、法规和合规 二、跨境电商现在是一个合适的商机吗?三、数据集与亮数据浏览器1、市场分析2、价格监控3、产品开发4、供应链优化5、客户分析 四、亮数据浏览器…

Jenkins流水线发布,一篇就解决你的所有疑惑

这次搭建的项目比较常规,前端是react写的,后端是springboot,并且由于是全栈开发,所以是在同一个项目中。接下来我演示下怎么用jenkins进行自动化发布。 1.jenkins必装插件 这里用到的是jenkinsFile主要是基于Groovy这个沙盒,有些前置插件。这里使用maven进行打包,所以需…