推荐系统中不得不学的对比学习(Contrastive Learning)方法(二)

简介: 推荐系统中不得不学的对比学习(Contrastive Learning)方法(二)

构建超图


超图,它推广了边的概念,使其连接到两个以上的节点,为建模用户之间复杂的高阶关系提供了一种自然的方法。作者通过统一形成特定三角形关系的节点来构造超图,这些三角关系是一组精心设计的具有底层语义的三角主题的实例,如下图所示:


14.png


从左到右为图M1 ~ M10,我们根据其隐含的语义将其分为三组。M1~M7概括了显性社交网络中所有可能的三角关系,并描述了高阶社交连接,比如“有一个共同的朋友”,我们称之为“Social Motifs”。M8~M9表示联合关系,即“朋友购买同一件物品”。这种类型的关系可以看作是加强联系的信号,我们将M8 ~ M9命名为“Joint Motifs”。最后,我们还应该考虑那些没有显性社交关系的用户。因此,M10是非封闭的,它定义了没有社交关系但购买了相同物品的用户之间的隐性高阶社会关系。我们将M10命名为“Purchase Motif”。在这三种模态的约束下,我们可以构造出包含不同高阶用户关系模式的三个超图。


15.png


MHCN框架图(引自MHCN论文)


多通道超图卷积


在本文中,作者使用了三种通道设置,包括“社交通道(s)”、“联合通道(j)”和“购买通道§”,以应对三种类型的三角形主题,但通道的数量可以调整,以适应更复杂的情况。每个通道负责编码一种高阶用户关系模式。因为不同的模式可能会对最终的推荐性能表现出不同的重要性,所以直接将整个基本的用户嵌入Embedding提供给所有通道是不明智的。为了控制从基本的用户Embedding到每个通道的信息流,作者设计了一个具有自门控单元(SGU)的预过滤器,其定义为:


16.png


超图卷积定义为:


17.png


超图卷积可以看作是对超图结构进行“节点-超边-节点”特征变换的两阶段精化。乘法运算 定义从节点传递到超边的消息,然后再乘 是从超边到节点聚合信息。然而,尽管超图卷积有很多好处,但仍存在大量由图诱导的超边(例如,在使用的数据集LastFM中有19,385个社交三角形),这会导致构建矩阵 的高成本。但是,由于作者只利用三角形的主题,作者表明,这个问题可以通过利用矩阵乘法的结合性质以一种灵活和有效的方式解决。


通过降低计算代价(感兴趣的可以阅读原文获悉),我们将变换后的超图卷积定义为:


18.png


学习全面的用户表示


在通过𝐿层传播用户嵌入后,我们平均每一层获得的Embedding,以形成最终的特定于通道的用户表示:


19.png


为了避免过度平滑问题,然后我们利用注意力机制对不同通道的用户嵌入信息进行选择性聚合,形成全面的用户嵌入。对于每个用户𝑢,我们学习了一个三元组(𝛼𝑠、𝛼𝑗、𝛼𝑝)来测量三个特定于通道的嵌入对最终推荐性能的不同贡献。注意力函数 定义为:


20.png


全面的用户表示定义为:


21.png


自监督学习增强MHCN


由于利用了高阶关系,MHCN表现出了很好的性能,然而,MHCN的一个缺点是聚合操作可能会导致高阶信息的丢失,因为不同的通道会在不同的超图上学习不同分布的Embedding。为了解决这个问题,并充分继承超图中丰富的信息,我们将自监督学习融入到MHCN的训练中。


创建自监督信号


对于MHCN的每个通道,我们建立邻接矩阵𝑨𝑐,以捕获高阶连接信息。𝑨𝑐中的每一行都表示以行索引表示的用户为中心的相应超图的子图,然后我们可以引出一个层次结构:“用户节点←以用户为中心的子超图←超图”,并从该结构创建自监督信号。


作者引入自监督任务的目标是:全面的用户表示应该反映用户节点在不同超图中的局部和全局的高阶连接模式,可以通过分层最大化用户表示、以用户为中心的子超图和每个通道中的超图之间的互信息来实现这一目标。


对比学习


Deep Graph Infomax (DGI)是一种通用和流行的方法,用于自监督的方式学习图结构数据中的节点表示。我们遵循DGI,使用InfoNCE作为我们的学习目标,以最大化层次互信息。但我们发现,与二元交叉熵损失相比,成对排序损失(在互信息估计中也被证明是有效的)更适合推荐任务。因此定义自监督任务的目标函数如下:


23.png


最后,我们将推荐任务的目标(主要的)和最大化层次互信息的任务(辅助的)统一起来进行联合学习。总体目标函数定义为:


24.png


本文的主要贡献总结如下:


研究了通过利用多通道设置下的多种高阶用户关系,在社交推荐中融合超图建模和图神经网络。


将自监督学习融入到超图卷积网络的训练中,证明了一种自监督辅助任务可以显著改善社交推荐任务。


3.SGL


25.png


论文标题:Self-supervised Graph Learning for Recommendation


论文来源:SIGIR2021


论文链接:https://arxiv.org/abs/2010.10783


论文代码:https://github.com/wujcan/SGL


这篇文章提出了一种应用于用户-物品二分图推荐系统的图自监督学习框架。核心的思想是,对输入的二分图,做结点和边的dropout进行数据增强,增强后的图可以看做原始图的子视图;在子视图上使用任意的图卷积神经网络,如LightGCN来提取结点的表征,对于同一个结点,多个视图就能形成多种表征;然后借鉴对比学习的思路,构造自监督学习任务,即:最大化同一个结点不同视图表征之间的相似性,最小化不同结点表征之间的相似性;最后对比学习自监督任务和推荐系统的监督学习任务联合起来,构成多任务学习的范式。


文章的方法很简洁,这种思想和陈丹琦的工作,基于对比学习的句子表征SimCSE有异曲同工之处,值得借鉴到实际的图表征学习中。


解决目前基于user-item二分图表征学习的推荐系统面临的两大核心问题:


  1. 长尾问题。high-degree高度的结点对表征学习起了主导作用,导致低度的结点,即长尾的item的学习很困难。


  1. 鲁棒性问题。交互数据中包含着很多噪声。而基于邻域结点汇聚的范式,会扩大”噪声观测边”的影响力,导致最终学习的表征受到噪声交互数据的影响比较大。


因此,作者提出了图自监督学习的方法SGL,来提高基于二分图推荐的准确性和鲁棒性。


26.png


SGL的总体系统框架(引自SGL论文)


相关文章
|
6月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
427 0
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的线上学习资源智能推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的线上学习资源智能推荐系统附带文章源码部署视频讲解等
63 5
|
自然语言处理 搜索推荐 计算机视觉
推荐系统中不得不学的对比学习(Contrastive Learning)方法(三)
推荐系统中不得不学的对比学习(Contrastive Learning)方法(三)
488 0
推荐系统中不得不学的对比学习(Contrastive Learning)方法(三)
|
机器学习/深度学习 自然语言处理 搜索推荐
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
|
人工智能 搜索推荐 算法
秒懂算法 | 推荐系统常用数据集和验证方法
推荐系统常用数据集和验证方法
2228 1
秒懂算法  | 推荐系统常用数据集和验证方法
|
机器学习/深度学习 人工智能 移动开发
人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)
人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)
|
搜索推荐 安全 关系型数据库
基于知识图谱的个性化学习资源推荐系统的设计与实现(论文+源码)_kaic
最近几年来,伴随着教育信息化、个性化教育和K12之类的新观念提出,一如既往的教育方法向信息化智能化的转变,学生群体都对这种不受时间和地点约束的学习方式有浓厚的兴趣。而现在市面上存在的推荐系统给学生推荐资料时不符合学生个人对知识获取的需求情况,以至于推荐效果差强人意。与此同时,这种信息数字化的新学习方法在给学生群体带来方便的同时,也带来了很多其他的问题,例如信息冗杂、形式让人眼花缭乱的问题,导致系统检索变得难以运行。 解决问题的关键是个性化学习推荐系统,它适合于各式各样的用户产生的各式各样的需求。
|
人工智能 搜索推荐 算法
AAAI 2023杰出论文一作分享:新算法加持的大批量学习加速推荐系统训练
AAAI 2023杰出论文一作分享:新算法加持的大批量学习加速推荐系统训练
294 0
|
机器学习/深度学习 人工智能 搜索推荐
推荐系统:ARL(关联规则学习)
一家公司的产品内容一般都是非常丰富的,但用户的兴趣往往会针对整个内容集进行筛选,挑选出用户感兴趣的产品,筛选的规则因人而异。为了让用户不迷失在丰富的产品集群中,并根据兴趣领域达到所需的个性化服务,一般都会制作各种过滤器。这些过滤器和算法显示就是我们的“推荐系统”。
211 0
|
机器学习/深度学习 人工智能 搜索推荐
Google提出用对比学习解决推荐系统长尾问题
Google提出用对比学习解决推荐系统长尾问题
961 0
Google提出用对比学习解决推荐系统长尾问题