构建超图
超图,它推广了边的概念,使其连接到两个以上的节点,为建模用户之间复杂的高阶关系提供了一种自然的方法。作者通过统一形成特定三角形关系的节点来构造超图,这些三角关系是一组精心设计的具有底层语义的三角主题的实例,如下图所示:
从左到右为图M1 ~ M10,我们根据其隐含的语义将其分为三组。M1~M7概括了显性社交网络中所有可能的三角关系,并描述了高阶社交连接,比如“有一个共同的朋友”,我们称之为“Social Motifs”。M8~M9表示联合关系,即“朋友购买同一件物品”。这种类型的关系可以看作是加强联系的信号,我们将M8 ~ M9命名为“Joint Motifs”。最后,我们还应该考虑那些没有显性社交关系的用户。因此,M10是非封闭的,它定义了没有社交关系但购买了相同物品的用户之间的隐性高阶社会关系。我们将M10命名为“Purchase Motif”。在这三种模态的约束下,我们可以构造出包含不同高阶用户关系模式的三个超图。
MHCN框架图(引自MHCN论文)
多通道超图卷积
在本文中,作者使用了三种通道设置,包括“社交通道(s)”、“联合通道(j)”和“购买通道§”,以应对三种类型的三角形主题,但通道的数量可以调整,以适应更复杂的情况。每个通道负责编码一种高阶用户关系模式。因为不同的模式可能会对最终的推荐性能表现出不同的重要性,所以直接将整个基本的用户嵌入Embedding提供给所有通道是不明智的。为了控制从基本的用户Embedding到每个通道的信息流,作者设计了一个具有自门控单元(SGU)的预过滤器,其定义为:
超图卷积定义为:
超图卷积可以看作是对超图结构进行“节点-超边-节点”特征变换的两阶段精化。乘法运算 定义从节点传递到超边的消息,然后再乘 是从超边到节点聚合信息。然而,尽管超图卷积有很多好处,但仍存在大量由图诱导的超边(例如,在使用的数据集LastFM中有19,385个社交三角形),这会导致构建矩阵 的高成本。但是,由于作者只利用三角形的主题,作者表明,这个问题可以通过利用矩阵乘法的结合性质以一种灵活和有效的方式解决。
通过降低计算代价(感兴趣的可以阅读原文获悉),我们将变换后的超图卷积定义为:
学习全面的用户表示
在通过𝐿层传播用户嵌入后,我们平均每一层获得的Embedding,以形成最终的特定于通道的用户表示:
为了避免过度平滑问题,然后我们利用注意力机制对不同通道的用户嵌入信息进行选择性聚合,形成全面的用户嵌入。对于每个用户𝑢,我们学习了一个三元组(𝛼𝑠、𝛼𝑗、𝛼𝑝)来测量三个特定于通道的嵌入对最终推荐性能的不同贡献。注意力函数 定义为:
全面的用户表示定义为:
自监督学习增强MHCN
由于利用了高阶关系,MHCN表现出了很好的性能,然而,MHCN的一个缺点是聚合操作可能会导致高阶信息的丢失,因为不同的通道会在不同的超图上学习不同分布的Embedding。为了解决这个问题,并充分继承超图中丰富的信息,我们将自监督学习融入到MHCN的训练中。
创建自监督信号
对于MHCN的每个通道,我们建立邻接矩阵𝑨𝑐,以捕获高阶连接信息。𝑨𝑐中的每一行都表示以行索引表示的用户为中心的相应超图的子图,然后我们可以引出一个层次结构:“用户节点←以用户为中心的子超图←超图”,并从该结构创建自监督信号。
作者引入自监督任务的目标是:全面的用户表示应该反映用户节点在不同超图中的局部和全局的高阶连接模式,可以通过分层最大化用户表示、以用户为中心的子超图和每个通道中的超图之间的互信息来实现这一目标。
对比学习
Deep Graph Infomax (DGI)是一种通用和流行的方法,用于自监督的方式学习图结构数据中的节点表示。我们遵循DGI,使用InfoNCE作为我们的学习目标,以最大化层次互信息。但我们发现,与二元交叉熵损失相比,成对排序损失(在互信息估计中也被证明是有效的)更适合推荐任务。因此定义自监督任务的目标函数如下:
最后,我们将推荐任务的目标(主要的)和最大化层次互信息的任务(辅助的)统一起来进行联合学习。总体目标函数定义为:
本文的主要贡献总结如下:
研究了通过利用多通道设置下的多种高阶用户关系,在社交推荐中融合超图建模和图神经网络。
将自监督学习融入到超图卷积网络的训练中,证明了一种自监督辅助任务可以显著改善社交推荐任务。
3.SGL
论文标题:Self-supervised Graph Learning for Recommendation
论文来源:SIGIR2021
论文链接:https://arxiv.org/abs/2010.10783
论文代码:https://github.com/wujcan/SGL
这篇文章提出了一种应用于用户-物品二分图推荐系统的图自监督学习框架。核心的思想是,对输入的二分图,做结点和边的dropout进行数据增强,增强后的图可以看做原始图的子视图;在子视图上使用任意的图卷积神经网络,如LightGCN来提取结点的表征,对于同一个结点,多个视图就能形成多种表征;然后借鉴对比学习的思路,构造自监督学习任务,即:最大化同一个结点不同视图表征之间的相似性,最小化不同结点表征之间的相似性;最后对比学习自监督任务和推荐系统的监督学习任务联合起来,构成多任务学习的范式。
文章的方法很简洁,这种思想和陈丹琦的工作,基于对比学习的句子表征SimCSE有异曲同工之处,值得借鉴到实际的图表征学习中。
解决目前基于user-item二分图表征学习的推荐系统面临的两大核心问题:
- 长尾问题。high-degree高度的结点对表征学习起了主导作用,导致低度的结点,即长尾的item的学习很困难。
- 鲁棒性问题。交互数据中包含着很多噪声。而基于邻域结点汇聚的范式,会扩大”噪声观测边”的影响力,导致最终学习的表征受到噪声交互数据的影响比较大。
因此,作者提出了图自监督学习的方法SGL,来提高基于二分图推荐的准确性和鲁棒性。
SGL的总体系统框架(引自SGL论文)