推荐系统+图神经网络,预训练技术研究进展

2022 年 1 月 5 日 图与推荐

© 作者|陈昱硕

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

研究方向 | 推荐系统  


引言: 最近几年,各种预训练模型在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节点或边,增删节点和边的方式,并通过对比学习,得到更全面,更具有鲁棒性的节点表示。这些预训练任务普遍都使用了诸如对比学习、最大化互信息等方法来计算自监督损失。通过预训练任务,各种模型都一定程度上缓解了数据稀疏的问题,提高了模型的冷启动性能。最后希望本文能够给读者带来一些启发。如有不同见解,欢迎大家进行批评与讨论。


登录查看更多
3

相关内容

序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。
图神经网络前沿进展与应用
专知会员服务
143+阅读 · 2022年1月24日
CIKM2021 | 异质图上的图神经网络对比预训练
专知会员服务
15+阅读 · 2021年11月8日
图嵌入推荐系统技术综述,64页pdf422篇文献
专知会员服务
61+阅读 · 2021年9月22日
【IJCAI2021】基于图学习的推荐系统综述
专知会员服务
95+阅读 · 2021年5月7日
专知会员服务
43+阅读 · 2021年4月12日
【AAAI2021】预训练用户表示提升推荐
专知会员服务
42+阅读 · 2021年2月8日
个性化推荐系统技术进展
专知会员服务
65+阅读 · 2020年8月15日
专知会员服务
85+阅读 · 2020年1月20日
当推荐系统遇上多模态Embedding
机器学习与推荐算法
2+阅读 · 2022年4月14日
推荐系统中的用户表示预训练技术(含代码数据)
图神经网络适合做推荐系统吗?
机器学习与推荐算法
1+阅读 · 2021年12月15日
推荐系统通用用户表征预训练研究进展
机器学习与推荐算法
1+阅读 · 2021年11月29日
综述 | 推荐系统里预训练模型
图与推荐
1+阅读 · 2021年11月23日
图神经网络+推荐系统的最新进展
图与推荐
1+阅读 · 2021年11月2日
SIGIR'21 | 推荐系统中的多关系图神经网络
图与推荐
3+阅读 · 2021年10月10日
对比学习+图神经网络=更好的推荐系统?
图与推荐
0+阅读 · 2021年9月16日
图神经网络GNN预训练技术进展概述
专知
2+阅读 · 2021年4月12日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
国家自然科学基金
5+阅读 · 2013年12月31日
国家自然科学基金
4+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月19日
Pre-Training on Dynamic Graph Neural Networks
Arxiv
1+阅读 · 2022年4月18日
Arxiv
13+阅读 · 2020年4月12日
Arxiv
14+阅读 · 2019年11月26日
Domain Representation for Knowledge Graph Embedding
Arxiv
14+阅读 · 2019年9月11日
VIP会员
相关VIP内容
图神经网络前沿进展与应用
专知会员服务
143+阅读 · 2022年1月24日
CIKM2021 | 异质图上的图神经网络对比预训练
专知会员服务
15+阅读 · 2021年11月8日
图嵌入推荐系统技术综述,64页pdf422篇文献
专知会员服务
61+阅读 · 2021年9月22日
【IJCAI2021】基于图学习的推荐系统综述
专知会员服务
95+阅读 · 2021年5月7日
专知会员服务
43+阅读 · 2021年4月12日
【AAAI2021】预训练用户表示提升推荐
专知会员服务
42+阅读 · 2021年2月8日
个性化推荐系统技术进展
专知会员服务
65+阅读 · 2020年8月15日
专知会员服务
85+阅读 · 2020年1月20日
相关资讯
当推荐系统遇上多模态Embedding
机器学习与推荐算法
2+阅读 · 2022年4月14日
推荐系统中的用户表示预训练技术(含代码数据)
图神经网络适合做推荐系统吗?
机器学习与推荐算法
1+阅读 · 2021年12月15日
推荐系统通用用户表征预训练研究进展
机器学习与推荐算法
1+阅读 · 2021年11月29日
综述 | 推荐系统里预训练模型
图与推荐
1+阅读 · 2021年11月23日
图神经网络+推荐系统的最新进展
图与推荐
1+阅读 · 2021年11月2日
SIGIR'21 | 推荐系统中的多关系图神经网络
图与推荐
3+阅读 · 2021年10月10日
对比学习+图神经网络=更好的推荐系统?
图与推荐
0+阅读 · 2021年9月16日
图神经网络GNN预训练技术进展概述
专知
2+阅读 · 2021年4月12日
相关基金
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
国家自然科学基金
5+阅读 · 2013年12月31日
国家自然科学基金
4+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
相关论文
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月19日
Pre-Training on Dynamic Graph Neural Networks
Arxiv
1+阅读 · 2022年4月18日
Arxiv
13+阅读 · 2020年4月12日
Arxiv
14+阅读 · 2019年11月26日
Domain Representation for Knowledge Graph Embedding
Arxiv
14+阅读 · 2019年9月11日
Top
微信扫码咨询专知VIP会员