© 作者|陈昱硕

机构|中国人民大学高瓴人工智能学院硕士

研究方向 | 推荐系统

引言: 最近几年,各种预训练模型在NLP,CV等领域都取得了显著的效果。最近的一些工作也开始在研究如何将预训练与推荐系统任务相结合。目前主要有两种结合方式:一种是将预训练好的外部表示,例如知识图谱信息,文本信息等,通过知识迁移的方式引入推荐系统;另一种是在推荐系统的数据上进行预训练任务,发掘推荐数据上的自监督信号,从而一定程度上缓解推荐数据上的稀疏问题。本文主要是介绍关于后者的相关论文,它们从不同的角度设计了各种自监督信号和训练方法,增强推荐系统数据自身的表达能力。我对这些论文进行了阅读和分析,欢迎大家批评与讨论。

一、论文列表


1. S^3-Rec: Self-Supervised Learning for Sequential Recommendation with Mutual Information Maximization

这篇论文是本实验室和美团的研究人员在CIKM 2020上发表的。其主要是利用序列化数据内在的关联性得到自监督信号,并通过多种预训练方法增强数据的表示能力,以提高序列化推荐的表现。

https://arxiv.org/pdf/2008.07873

在以往的序列化模型中,通常是依靠计算“下一个物品推荐” (Next Item Prediction) 损失来学习序列化模型。但已有研究表明,推荐系统数据的稀疏性等问题会影响用户的历史交互序列的学习效果。为了能够更好的建模用户的历史交互序列,一些研究还使用了语义信息更加丰富的上下文特征 (例如物品的属性),尽管这些上下文特征能够一定程度提升模型效果,但由于损失函数的原因,使得模型不太能关注到用户的交互序列与上下文特征的关联。

为了解决上述的问题,这篇论文使用了自监督学习的方法来改进用户交互序列的学习过程。它主要设计了四个自监督学习任务,并通过互信息最大化的方法,以捕获物品-属性间,序列-物品间,序列-属性间和序列-子序列间的相关性(如上图四个方框所示)。注意到这四个自监督学习任务是从不同的数据粒度以及不同的数据形式发掘数据的相关性,所以相比于之前的序列化模型,S3-Rec可以很好的捕捉上下文数据与交互序列的相关性,学习到更好的序列化数据的表示。最后再通过下游推荐任务的微调,使得模型能够得到更好的推荐结果。

2. UPRec: User-Aware Pre-training for Recommender Systems

这篇论文是清华大学刘知远老师组的同学在2021年发表的论文。与上文的S3-Rec主要是结合物品侧的数据不同,这篇论文主要是使用用户侧的数据来增强序列化数据的表示能力。

https://arxiv.org/pdf/2102.10989

受到之前BERT在NLP任务中取得的成果,这篇论文也同样使用BERT去建模用户的历史交互序列。为了能够学习到更好的交互序列表示,这篇论文设计了三个不同的预训练任务。第一,为了能够捕获交互序列的内部结构特征,其仿照BERT的训练方式,让模型去预测被掩盖的物品 (Mask Item Prediction);第二,通过将用户的历史交互序列输入给BERT,得到用户的表示向量,再通过这个表示向量去预测用户的属性特征 (User Attribute Prediction),这个任务主要是希望模型能够从用户的属性特征中得到更多的监督信号,以提升序列化数据的表示能力;第三,考虑到用户的社交关系 (social relations) 也能在一定程度改善个性化推荐的效果,这篇论文还设计了社交关系预测 (Social Relation Detection) 的预训练任务,通过BERT学习到的用户表示去预测用户之间的社交关系,从而提升模型对用户交互序列的建模能力。下图便展示了模型结构以及模型与三个预训练任务之间的数据流。

最后,这篇论文再通过“下一个物品推荐” (Next Item Prediction) 来微调前面预训练好的模型。实验结果表明了这种预训练方法能够提升模型的表现。

3. Augmenting Sequential Recommendation with Pseudo-Prior Items via Reversely Pre-training Transformer

这篇论文是UIC的俞士纶老师组的同学发表在SIGIR 2021上的。其重点是在如何通过预训练的方式来增强原有的序列化数据。

https://arxiv.org/pdf/2105.00522

首先这篇论文介绍了序列化推荐的冷启动问题,即当输入的用户交互序列长度过短时,推荐模型的性能会下降的问题。这篇论文以Amazon Beauty这个数据集为例,超过75%的交互序列长度小于7,推荐模型在这些较短的交互序列上的表现通常会比较差。

为了解决这一问题,这篇论文使用预训练模型来扩充短序列,即先使用transformer训练一个反向的预测模型,这个模型能反向预测一个序列之前的物品。然后再使用这个模型去预测 (捏造) 较短序列的前驱物品,将较短的序列补充成一定长度的序列。最后使用这些增强的序列去微调之前训练好的序列化模型,他们称这种基于预训练的数据增强为 Augmenting Sequential Recommendation with Pseudo-prior items (ASReP)。之后的实验也说明了这个方法的有效性。

4. One4all User Representation for Recommender Systems in E-commerce

这篇论文是NAVER公司在2021年发表的。它主要是在用户的历史交互记录序列上进行预训练,通过预训练去提升下游任务的表现,比如用户画像等任务。

https://arxiv.org/pdf/2106.00573

这篇论文的主要特点是它设计了名为ShopperBERT的预训练模型,这个模型使用了两种数据增强方式:分别是随机打乱一段序列和随机截断。随机打乱可以减少模型对购买序列顺序的强依赖,可以增强模型的鲁棒性,随机截断则可以减少模型对过长距离交互记录的计算,使得模型能够更加关注局部的交互记录。

之后该论文又使用了两种计算用户交互记录表示的方法,一种是平均池化(ShopperBERT-MP),另一种是使用BERT中CLS的表示(ShopperBERT-CLS)。在随后的关于下游任务的实验中,这两种方法在不同的任务和指标上具有不同的优势,两者都比没有经过预训练的模型表现要好。

5. Self-supervised Learning for Large-scale Item Recommendations

这是一篇Google公司在2020年发表的论文。和上文中基于BERT类的预训练模型不同,这里是基于推荐系统中经典的双塔模型设计的预训练框架。

https://arxiv.org/pdf/2007.12865

这篇论文主要是构建了一个关于物品特征的自监督学习框架,从而提高了双塔模型中关于物品侧的表示学习能力。这个自监督学习框架首先会将输入的物品特征进行两次不同的数据增强,然后再利用对比学习的损失函数,希望模型能够将同一个物品的特征表示尽可能相同,不同的物品的特征表示尽可能不同。具体框架如下图所示:

这里关于物品特征的数据增强分为两个步骤:MaskingDropout,其中masking是随机掩盖一些输入特征,dropout就是简单的随机丢失一些输入特征。但由于物品的不同特征可能存在着一些关联性,随机masking可能会使得模型在自监督学习的过程中,通过关联度较高的特征来“猜”出被mask的特征,使得自监督学习任务变得简单。为了解决这一问题,这篇论文又提出了Correlated Feature Masking (CFM)方法,这个方法首先会计算不同特征之间的互信息。然后在masking的过程中,先会随机选取一个特征 f_seed ,然后选取互信息最大的几个特征进行mask,以缓解上文提到的问题。在后续的实验中,也验证了其提出的自监督对比学习的双塔模型,以及CFM方法的有效性。

6. Self-supervised Graph Learning for Recommendation

这篇论文是何向南老师组的同学发表在SIGIR 2021的工作。其主要贡献是研究了图神经网络的预训练方式,提高了图神经网络在推荐任务上的准确性和鲁棒性。

https://arxiv.org/pdf/2010.10783

近些年有不少将图神经网络应用在推荐系统的上的工作,并取得了一定的效果。但在推荐系统的数据中,存在着数据稀疏、数据分布不均匀和存在噪声数据等问题。同时由于图神经网络的训练方式,会产生这两个问题:一个是模型对度数较少的节点 (即冷门商品和用户) 的学习不够充分,另一个是容易被噪声数据干扰。这篇论文主要是研究了基于图神经网络的预训练方式,即通过随机的dropout图中节点 (Node Dropout)、dropout图中的边 (Edge Dropout) 和随机游走 (Random Walk) 的方式,得到每个节点的多个“视角”,并通过对比学习的方式,来最大化不同节点表示的差距。这样的数据增强和预训练方式能够从原始的图数据中发掘出更多的监督信号,使得图神经网络能够更好的学习到节点表示。

在接下来的篇幅中,这篇论文分别从理论和实验的角度,分别分析和说明了这种预训练方式,确实可以缓解推荐数据中的数据稀疏、数据分布不均匀和存在噪声数据等问题对图神经网络的影响。

7. Self-Supervised Hypergraph Convolutional Networks for Session-based Recommendation

这篇论文是昆士兰大学发表在AAAI 2021上的工作。其主要是为会话推荐系统提出了一种超图 (Hypergraph) 的建模方式,并提出了相应的图卷积网络。

https://arxiv.org/pdf/2012.06852

这个工作主要是将会话推荐系统建模为超图模型,并为这个超图以及其对应的线超图 (Line Graph of Hypergraph) 建立了双通道超图卷积网络 Dual channel Hypergraph Convolutional Network (DHCN)。同时,为了增强超图的表示能力,这篇论文还使用了自监督学习的预训练任务,通过最大化超图通道的表示与线超图通道的表示之间的互信息,以提高模型的训练效率和表达能力。

最后的实验结果也表明了使用超图建模会话推荐模型以及预训练任务的有效性。

8. Curriculum Pre-Training Heterogeneous Subgraph Transformer for Top-N Recommendation

这篇论文是本实验室于2021年发表的。这篇论文的主要贡献是设计了关于推荐系统数据的异质子图,并在这个异质子图上设计了新的自注意力网络以及课程学习方式,从而提升异质子图模型在推荐数据上的表现。

https://arxiv.org/pdf/2106.06722

这篇工作主要目的是设计一个更有效的训练方式,将异质图网络里的信息引入推荐系统。之前的研究主要分为两类:基于路径的方法 (Path-based methods) 和基于图表示学习的方法 (Graph representation learning)。基于路径的方法主要是能够捕获用户与物品之间的路径信息,而基于图表示学习的方法则是能学习到用户与物品的节点信息。这两种方法的关注点不一样,前者只能学习到到某一条路径的信息,而不太能反映图的结构;后者可以学习到图的结构信息,但对于预测某对具体的用户-物品对时,往往会受到其他相关度较低节点的干扰。

为了结合上述的两种方法,以及缓解他们的缺点,这篇论文提出了构造异质子图,并在异质子图上进行自监督学习的方法。首先其设计了基于特定交互的异质子图 (Interaction-specific Heterogeneous Subgraph),即使用metapath2vec方法随机生成从用户到物品的若干条相关度较高的路径,通过这些路径构造子图,使得模型能够只关注于相关节点的信息,以减少干扰;接下来,再基于这个异质子图设计了异质子图的自注意力网络 (Heterogeneous Subgraph Transformer);最后,为了能够让模型能够更加好的学习到局部和全局的特征,该工作还设计了对应的课程学习过程 (Curriculum Pre-training),让模型从局部特征的学习 (遮盖节点,遮盖边以及元路径预测) 过渡到全局特征的学习 (关于增删改异质子图路径的对比学习)。具体的模型结构与训练的数据流如上所示。后续的实验也说明了这种异质子图的构造和预训练方式的有效性。

二、小结

最近两年出现了一些在推荐系统数据上进行预训练的研究。它们主要分为基于序列化数据的预训练和基于图数据的预训练这两大类。基于序列化数据的模型通常会采取类似BERT完形填空式的任务,来增强数据的表示能力;而基于图数据的预训练任务主要会通过mask节点或边,增删节点和边的方式,并通过对比学习,得到更全面,更具有鲁棒性的节点表示。这些预训练任务普遍都使用了诸如对比学习、最大化互信息等方法来计算自监督损失。通过预训练任务,各种模型都一定程度上缓解了数据稀疏的问题,提高了模型的冷启动性能。最后希望本文能够给读者带来一些启发。如有不同见解,欢迎大家进行批评与讨论。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定要备注信息才能通过)

END -

大规模搜索+预训练,百度是如何落地的?

2021-08-17

万物皆可Graph | 当推荐系统遇上图神经网络(三)

2021-08-16

周志华教授:如何做研究与写论文?

2021-08-15

文本匹配开山之作--双塔模型及实战

2021-08-13

推荐系统预训练任务的研究进展相关推荐

  1. TGRS2022/遥感:An Empirical Study of Remote Sensing Pretraining遥感预训练的实证研究

    TGRS2022/遥感:An Empirical Study of Remote Sensing Pretraining遥感预训练的实证研究 0.摘要 1.概述 2.相关工作 2.1.空中场景识别 2 ...

  2. 预训练语言模型fine-tuning近期进展概述

    近年来,迁移学习改变了自然语言处理领域的范式,对预训练语言模型(PLM)进行微调(fine-tuning)已经成为了新的范式.本文主要梳理了近期的预训练语言模型做fine-tuning的进展. ‍‍‍ ...

  3. 机器推理文本+视觉,跨模态预训练新进展

    作者 | 李根.段楠.周明 来源 | 微软研究院AI头条(ID:MSRAsia) [导读]机器推理要求利用已有的知识和推断技术对未见过的输入信息作出判断,在自然语言处理领域中非常重要.本文将介绍微软亚 ...

  4. 《预训练周刊》第11期:全球最大智能模型“悟道2.0”重磅发布、谷歌KELM:将知识图与语言模型预训练语料库集成...

    No.11 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第11期&l ...

  5. 任务型对话系统预训练最新研究进展

    ©PaperWeekly 原创 · 作者 | 褚维芜 单位 | 北京邮电大学硕士生 研究方向 | 自然语言处理 引言 近年来,随着预训练模型的发展,对话领域的研究也逐渐开始关注基于预训练的端到端对话系 ...

  6. 浅谈数据中的偏差问题和推荐系统去偏最新研究进展

    ©作者 | 杨晨 来源 | RUC AI Box 本文首先回顾了数据中的偏差问题,通俗易懂地做一个解释和引入,并基于最近两年发表在顶级会议(KDD.SIGIR.WWW.AAAI 等)的推荐系统去偏相关 ...

  7. 线上直播丨KDD 2021预训练Workshop,谷歌MSRA等5位顶尖研究者参与研讨

    近年来,机器学习领域最激动人心的进展,莫过于预训练方法的兴起,尤其是超大规模预训练模型的出现.各种领域,预训练方法都取得了一定的成功,如自然语言处理.计算机视觉.语音识别和图学习. 预训练的宗旨是利用 ...

  8. CPT:刷爆少样本REC任务!清华刘知远团队提出跨模态预训练Prompt Tuning

    关注公众号,发现CV技术之美 本文分享论文『CPT: Colorful Prompt Tuning for Pre-trained Vision-Language Models』,由清华刘知远团队提出 ...

  9. 4项探索+4项实践,带你了解华为云视觉预训练研发技术

    摘要:本文主要讲述云原生时代华为云在AI基础研究.视觉预训练模型研发和行业实践,以及AI开发平台ModelArts的最新进展. 近日,在Qcon全球软件开发大会(深圳站)上,华为云人工智能领域首席科学 ...

最新文章

  1. 光伏行业需理性看待低价中标 市场竞争是必然选择
  2. Zookeeper系列五:Master选举、ZK高级特性:基本模型
  3. 面试题leetcode 3. 无重复字符的最长子串 暴力法和滑动窗口解法
  4. 鹅厂顶级产品课程:产品细节中的情感化设计
  5. 【转】 Android 屏幕切换总结
  6. WebKit 分析–for android
  7. 深度装机大师一键重装_笔记本怎么重装系统?笔记本自己如何重装系统?
  8. 关于在CLASSWIZARD中找不到工作区间中的类的解决方法
  9. 安装Jenkins教程(wind版)
  10. android 连接魅族手机,关于魅族手机adb连接不上的问题
  11. upf模板,来自synopsys rm golden.upf
  12. C语言if语句实现成绩划分
  13. md 生成目录 码云_码云搭建博客
  14. 实时数仓在有赞的实践
  15. VUE 当前页获取来源路由地址
  16. Web3 | DID赛道之 Galxe(原 Project Galaxy)
  17. PS:高清晰度的源文件保存成图片如何使图片大小最小
  18. 详细分析stm32f10x.h
  19. 公主连结显示服务器内部错误,公主连结进不去怎么办 进不去解决办法
  20. Android TextView 文字两端对齐

热门文章

  1. SAP License:AM-资产冻结与停用
  2. SAP License:不如把碎片时间拿来学SAP吧
  3. 手把手之stacking|分享集成模型在实际工作中的应用(上)
  4. 评分模型的监控报表汇总
  5. 第18章 Redis数据结构常用命令
  6. bzoj 2244: [SDOI2011]拦截导弹
  7. list each详解
  8. 如何把Sql Server2005 数据库转换成Access
  9. /usr/include/features.h:356:25: 致命错误: sys/cdefs.h:没有那个文件或目录
  10. 如何禁止IIS缓存静态文件(png,js,html等)(转)