Heterogeneous Graph Contrastive Learning for Recommendation

1、预学习知识

每次看一篇论文的共同体会:别人觉得非常简单的东西在我眼里都是新大陆。我是傻逼

1.1 自监督学习

自监督学习主要是利用辅助任务(pretext)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到对下游任务有价值的表征。(也就是说自监督学习的监督信息不是人工标注的,而是算法在大规模无监督数据中自动构造监督信息,来进行监督学习或训练。因此,大多数时候,我们称之为无监督预训练方法或无监督学习方法,严格上讲,他应该叫自监督学习)

1.11自监督学习的挑战

自监督学习的三个挑战:

  • 对于大量的无标签数据,如何进行表征/表示学习?
  • 从数据的本身出发,如何设计有效的辅助任务 pretext?
  • 对于自监督学习到的表征,如何来评测它的有效性?

1.12 评估自监督学习的能力

评测自监督学习的能力,主要是通过 Pretrain-Fintune 的模式。我们首先回顾下监督学习中的 Pretrain - Finetune 流程:我们首先从大量的有标签数据上进行训练,得到预训练的模型,然后对于新的下游任务(Downstream task),我们将学习到的参数(比如输出层之前的层的参数)进行迁移,在新的有标签任务上进行「微调」,从而得到一个能适应新任务的网络。

Fintune:说人话其实就是说把大模型上的参数直接偷过来用到其他模型上

pretext:在自监督学习中,pretext(预文本)是指从原始数据中构造的任务,用于生成自动标签。这个任务通常是一个简单的、与最终任务相关但不完全一致的任务,例如预测图像的旋转方向或者对图像进行颜色化。这个任务的目的是通过强制模型从数据中学习有用的特征,从而提高模型的泛化能力。

自监督学习1.png

==(感觉这里还是不太熟。我怎么从无标签数据训练出了label?先做个标记)==

1.13 自监督学习的主要方法

自监督学习的方法主要可以分为 3 类:1. 基于上下文(Context based) 2. 基于时序(Temporal Based)3. 基于对比(Contrastive Based)

这里的研究领域太宽泛了,看完一天就没了,不看了

1.2 对比自监督学习

对比自监督学习(Contrastive Self-Supervised Learning)是一种新兴的自监督学习方法,它通过将同一样本的不同视角进行对比来学习特征表示。与传统的自监督学习方法不同,对比自监督学习不需要额外的标注信息,而是利用数据本身的内在结构来生成自监督信号。

1.3 元知识

元知识是知识的知识,知识背后的本质、运行规则,其能推演出一般场景,而推演逻辑形成了知识体系。避免我们在同类的不同表象的事情中浪费时间。元知识是相对有限的,而推导出的普通知识则是无穷无尽的。

现有的知识深度不同,我们所需要、所能理解的元知识是不一样的。随着我们所学知识的深入,元知识也会越来越深、越来越细、越来越接近事物的本质

以新冠病毒为例,普通人只需要知道这是一种病毒、自己需要戴口罩、勤洗手即可。对他们而言干净卫生是防御一般传染病的元知识;医生可能要知道这种病毒的传播方式,对他们而言预防传染病的方法就是元知识;对于生物学家而言他们可能更多的是在考虑病毒表面的刺突是由哪些基因控制,怎么去制作疫苗。对他们而言基因就是元知识。

2、研究背景

很多基于 GNN 的协同过滤模型仅编码同构的交互关系,且只在单一的用户-商品关系图上进行。而在现实推荐场景中,包含多种重要语义关系的复杂图结构(也称为异构图信息网络)是无处不在的,例如可能存在社交关系和基于商品知识的商品之间的连接关系。

因此许多研究者尝试基于功能强大的图神经网络去设计异构图学习模型,可以将其丰富的语义关系信息图编码成潜在的表征。但是异构图神经网络模型表征学习的潜在能力受限于稀疏的标签信息,可能导致产生质量不高的用户和商品的特征表示。

作为可以解决数据稀疏问题的技术,对比自监督学习能从无标签的数据中学习潜在的数据结构关系利用数据增强方法。其与图神经网络的结合称之为图对比学习也已经成为提升表示学习鲁棒性的有效方法。图对比学习的通用做法是研究两个图对比视角的特征表示的一致性。使正样本之间的特征相似性最大化而其余的负样本特征的距离推远。受之启发,我们利用图对比学习的潜在能力增强协同过滤的特征学习。

但是直接使用它来实现异构图关系学习是具有挑战性,因为辅助信息域视角和用户-商品交互信息域视角之间的依赖关系不是固定的而是多样性的。例如,由于样本个性化特质和各式的特定于用户的行为模式导致不同的用户受朋友影响是不同的。从而盲目的增强用户的偏好特征学习没有考虑每个个体行为的特性会带来模型的次优化效果。总之,此模型需要解决以下两个问题:1)如何实现有效地跨关系视角的知识转换;2)如何实现个性化增强的异构图对比学习。

3、相关工作

3.1 推荐系统中的自监督学习

  • 许多研究旨在通过提出各种用于嵌入的图扩充方案来解决推荐系统中的数据稀疏性问题(e.g., SGL [ 29 ], HCCF [ 32 ] and NCL [ 14 ])
  • 采用随机节点/边缘丢失操作来生成图形对比学习视图(SGL [29] )
  • 局部-全局对比学习是为基于参数化超图结构的自我监督增强而设计的。
  • 在那些对比图 CF 模型中,可以基于基于 InfoNCE 的对比来提高嵌入均匀性。
  • 在推荐系统的知识图表示中利用对比学习

对比学习现在已经在各种推荐场景中使用,包括顺序推荐,多行为推荐多兴趣推荐

本工作的内容:通过对比学习捕获推荐中的异构关系来填补推荐系统中的空白

3.2 异构图学习

  • 增强了图形注意力网络,具有处理基于元路径构建的异构类型节点和关系的能力。(HAN[24])
  • 受转换器框架的启发,HGT [11] 设计了一个图形转换器网络,以使用自注意力计算节点之间的传播权重来实现异构消息传递。
  • MAGNN [7] 考虑了元路径内和元路径间聚合,以融合来自异构图上不同元路径的信息。
  • HGIB [36] 信息瓶颈扩展到在同构图中进行自我监督的异构图学习。

本工作:解决了异质图对比学习推荐的一项重要但尚未探索的任务。(有话不直说,是要自己猜吗🤮)

3.3 GNN-based Recommender Systems

  • NGCF [23]、LR-GCCF [4] 和 SHT [33] 中,采用 GNN 对用户-项目交互图进行建模,以通过跨层信息传播生成潜在表示。
  • GraphRec [6]、KCGN [12] 和 MHCN [39]中,为了增强用户之间具有社会影响力的协作关系学习,一些现有研究中的社会关系编码器也建立在图神经网络之上。
  • SURGE [ 1 ] and MA-GNN [ 16 ]中,图神经网络已成为对项目序列的顺序模式进行编码以进行时间感知推荐的有效解决方案。
  • MBGCN [ 13 ] and MGNN [ 41 ]中,使用 GNN对多个图连接进行建模在处理具有不同用户行为的更复杂的推荐场景方面引起了广泛关注。

4、进入模型

4.1 模型准备工作

  • G 𝑣𝑗 :{V 𝑣 ,V 𝑗 ,E 𝑣𝑗 } ,其中V 𝑣和V 𝑗都为用户-物品交互数据,然后E 𝑣𝑗就代表用户$v$选择了商品$j$.

(英文的adopt感觉难以用中文解释)

  • G 𝑣𝑣 = {V 𝑣 ,E 𝑣𝑣 },E 𝑣𝑣就代表两个用户之间有社交关系。
  • G 𝑗𝑗 ={V 𝑗 ,E 𝑗𝑗 },,E 𝑗𝑗代表两个物品之间有联系

定义邻接矩阵$\mathbf{A}{u i} \in \mathbb{R}^{m \times n}, \mathbf{A}{u u} \in \mathbb{R}^{m \times m} \text { and } \mathbf{A}_{i i} \in \mathbb{R}^{n \times n} \text {, }$,分别对应G 𝑣𝑗,G 𝑣𝑣,G 𝑗𝑗,$m$和$n$分别代表用户数量和物品数量。

这项工作目的是在给定具有关系异质性的图中,预测用户和物品之间的未观察到的相互作用。

4.2 异构图关系学习

  1. 关系感知嵌入初始化

    第一步:将用户、物品和其他相关信息分别表示为三个不同的图$G_{ui}( user-item),G_{uu}(user-
    user),G_{ii}(item-item)$,并将它们合并成一个大图G。

    第二步:然后,对每个节点进行初始化,并生成初始嵌入矩阵$\mathbf{E}{u}^{0} \in \mathbb{R}^{m \times d} \text { and } \mathbf{E}{i}^{0} \in \mathbb{R}^{n \times d}$。这里采用 xavier initializer初始化器对节点嵌入进行初始化。

    第三步:初始的embedding被送到不同的encoder里面去。($user-item,user-user,item-item$三个)

    为了突出三种关系类型之间交互模式的差异,训练了一个self-gating的模块,去导出用户和商品:

    $\mathbf{E}{uu}^{0}=\mathbf{E}{u}^{0}\odot\sigma(\mathbf{E}^{0}{u}\mathbf{W}{g}+\mathbf{b}{g});\quad\mathbf{E}{ii}^0=\mathbf{E}^0_i\odot\sigma({\mathbf{E}^{0}}_i\mathbf{W}_g+\mathbf{b}_g)\quad$

    说实话,我没看懂这个公式原理在哪。怎么就分离开了?

    $\mathbf{E}{uu}^0\in\mathbb{R}^{m\times d}$和$\mathbf{E}{ii}^0\in\mathbb{R}^{n\times d}$分别是图$G_{uu}$和$G_{ii}$关系的嵌入,𝜎(·)是sigmoid激活函数,W𝑔 ∈ R𝑑×𝑑 and b𝑔 ∈ R𝑑×1是变换(transform)和偏置(bias)

    通过这个做法,$\mathbf{E}{uu}^{0},\mathbf{E}{ii}^{0}$与$\mathbf{E}_u^0,\mathbf{E}_i^0$具有共同的语义,同时在刻画用户与用户、项目与项目关系上更为灵活。(没懂怎么个灵活法)

  2. Heterogeneous Message Propagation

    ①$\mathbf{E}{uu}^0$和$\mathbf{E}{ii}^0$分别是user-user和item-item的输入;$\mathbf{E}_u^0,\mathbf{E}_i^0$是user-item的输入

    ②下面以$user-item$为例,讲解一下$HGCL$的消息传播、迭代过程:

    $$\mathbf{e}{u}^{l+1}=\sum{i\in\mathcal{N}{u}}\dfrac{1}{\sqrt{|\mathcal{N}_u|}\sqrt{|\mathcal N_i|}}\mathbf{e}{i}^{l};\quad\mathbf{e}^{l+1}{i}=\sum{u\in\mathcal N_{i}}\frac{1}{\sqrt{||\mathcal{N}_i|}\sqrt{||\mathcal N_u|}}\mathbf e_{u}^{l}$$

    公式讲解:

    符号说明
    $N_u,N_i$$user \quad u,item\quad i$的邻居集合
    ${e}{u}^{l},{e}{i}^{l}\in{R}^{d}$第$l$轮迭代中$u,i$的embedding向量
    $\mathbf{e}_u^0,\mathbf{e}_i^0$$\mathbf{E}{u}^{0},\mathbf{E}{i}^{0}$的行向量

    本论文中的关系感知消息传递范式没有用transformnon-linear激活。其他的按照GCN进行迭代。

  3. Heterogeneous Information Aggregation(异构信息整合)

    每轮迭代中的信息都是从异构信息中整合的

5、模型介绍

论文复现2.png

5.1 基于异质图关系的特征学习

本文采用基于图神经网络的异构图对比学习框架,与其他异构图特征学习方法不同的是,它不依赖于人工设计的元路径或随机游走等方式来学习节点特征的相似性,而是分别对不同的语义关系编码形成图邻接矩阵。在每层网络的输出中,通过跨关系视图的特征融合获取潜在的高阶语义信息,并输出用户和商品在两个协同关系下的特征表示。

5.2 跨视图的元学习神经网络

模型旨在通过引入用户社交关系和商品之间的连接关系来增强协同过滤。然而,这些额外的关系对于不同的用户具有不同的影响,因此我们采用个性化的知识转换网络来从辅助信息域视角获取特定知识,以指导特定用户偏好的学习。我们提出了一个跨视图的元神经网络,可以实现定制化的关系协同知识学习机制。整个实现过程主要分为元知识提取和跨视图的个性化知识转换两个部分。

  • 元知识提取是为了构建个性化的特征映射机制函数,从辅助域视角(user-user,item-item)到目标交互行为域视角(user-item)。简单来说,元知识提取就是针对每个参与个体,基于其个体特质信息和特定的行为模式,通过映射函数对辅助域信息与目标域特征之间的依赖关系或者影响进行隐含的量化。在用户和商品方面,元知识提取方法如下:
    • 本文中设定的元知识包含了两个待转换关系视角的信号依赖相关的上下文知识表示,例如对于用户方面,其元知识包含了用户特征表示、用户所交互过的商品特征表示以及目标交互信息的表示。商品侧同理。联合这三个维度的特定语义信息,产生的元知识可以很好地折射出极其重要且相关的上下文信息,有助于实现跨视图的特征个性化转换。
    • 经过元知识学习器(两层全连接层网络)学习后,提取到的元知识会为每个个体产生一套特定的参数矩阵,可作为知识转换网络的特定参数,实现个性化的特征转换。为了减少参数量,本文采用矩阵因式分解方法生成两个维度小于原始特征维度的矩阵。
    • 接下来,我们利用输出的参数矩阵和非线性映射函数来构建模型的特定化转换网络,针对每个样本,实现对辅助域特征表示的个性化转换,从而对齐目标域特征空间。

5.3 异质图对比学习的增强

采用异质关系图中多视图关系(用户侧:社交关系图的用户特征和交互关系图的用户特征;商品侧:商品属性关系图的商品特征和交互关系图的商品特征)。跨视图的特征对比学习也增强了模型特征和关系的学习和鲁棒性,归因于其产生的更多的监督信号来解决数据稀疏性问题。

对辅助域特征进行个性化转换后对齐于用户-商品交互视角的特征空间,辅助域视角的特征充当了有效的正则化项来促进用户-商品交互行为的建模利用自监督信号。而且对齐方式是自适应的通过元神经网络的个性化映射函数。

将对齐后的辅助域特征,而不是原始异质关系学习模块输出的辅助域特征,与交互关系视角的特征进行对比学习,用户侧的 InfoNCE 损失函数表达式:

6、实验结果

这一节就没啥意思了,反正是个人发paper都吹自己模型好

在三个常用的数据集(Yelp、Epinions 和 Ciao)上,进行了实验,并与多种类型的推荐算法模型进行了比较。

从对比结果来看,引入自监督学习方法(如 Heco, MHCN, SMIN)可以使模型的效果得到提升,而本文所提出的 HGCL 相比较于使用传统的对比学习方法,推荐性能进一步提升,也表明了本文所描述方法的有效性。我们做了消融实验来进一步验证引入特定化的异构图对比学习方法是必要的且有利于模型效果的提升。

论文复现3.png

  • HR:在推荐列表中,用户实际交互的物品数量占总推荐物品数量的比例。具体来说,HR指标可以用来衡量推荐算法的召回率,即推荐列表中有多少物品是用户真正感兴趣的。
  • NDCG(Normalized Discounted Cumulative Gain):是一种衡量排序质量的指标,它考虑了推荐列表中物品的相关性和排名位置,并将它们加权平均。具体来说,NDCG指标首先计算出每个物品的相关性得分(如用户评分、点击率等),然后根据这些得分对推荐列表中的物品进行排序。接着,NDCG指标计算出每个物品在排序后的位置上所获得的折扣收益值(Discounted Cumulative Gain,DCG),并将它们加权平均。最后,为了消除不同数据集和不同推荐列表长度之间的影响,NDCG指标还会对结果进行归一化处理。

8、读论文体会

感谢提供论文的马老师,也感谢香港大学和华南理工大学的开源精神,开放源码的顶会作者都是活菩萨:aerial_tramway:

阅读英文文献真没法脱离xtranslatorchatpdf。感谢开发这两个软件的大神,也感谢chatgpt让我彻底脱离所有搜索引擎:baby_bottle:

读完文章感觉就知道了一个大体流程,但是里面涉及的很多知识点我压根不会。真的难崩,这就是科研吗 :baby_chick:.