目录
Towards Graph Contrastive Learning- A Survey and Beyond
图对比学习综述及展望
摘要
基于图的深度学习依赖于带标签的图数据,但这些数据的获取成本高、耗时多
自监督学习SSL可以从无标签的图数据中生成有意义的表示
但是SSL的一个关键部分图对比学习GCL没有全面概述,因此本文是GCL的一个综述(原理、应用、挑战、未来发展)
Introduction
各个领域广泛存在图结构数据,但是目前GNN主要是(半)监督学习,需要有标签的数据。标注数据的获取困难:专业知识、大量人工工作、难以获得。
为了解决上述问题SSL提出,通过设计pretext tasks来从数据本身的固有结构中提取有效表示信息。在CV和NLP中都有广泛应用。
但是CV和NLP是欧氏空间的数据,图结构数据是非欧氏空间,因此如何将图结构和节点特征与pretext task相结合是一个重要问题。
目前的SSL方法:
- 基于对比的:对比正例和反例
- 基于生成的:重建输入数据
- 基于预测的:预测图结构或节点属性,作为辅助任务
目前没有对SSL某个方向的深入论述(方向多范围广)。没有关于GCL的综述,本文补充此缺口。
本文介绍了基本原理
将GCL扩展到了数据高效学习场景(迁移学习、弱监督学习)
探讨了未来的潜力和应用。
补充了近两年的综述空白
PRELIMINARY
符号说明
GNN
GNN是学习图结构数据的重要方法,基于消息传递机制,迭代聚合邻居信息,图嵌入的聚合更新公式如下
获取图级表示
对比学习
自监督学习方法,最小化正样本之间的距离,最大化负样本之间的距离
损失目标如下:
损失函数:
下游任务
节点级:
节点分类、排序、聚类(相似语义)
预测未观察到的边关系是否存在、边(关系)的类型
图级:
分类(整个图所属的类别)、匹配(比较图之间的相似度)、生成(学习分布,从分布采样得到新的图)、聚类(相似的图分组)
GCL自监督学习
对GCL的原理进行了介绍,增强策略、对比模式、对比优化目标,并给出了数学公式。
GNN就是GCL中的那个编码器,
增强策略
图增强是为对比学习生成正例,但是由于是非欧式空间所以不能直接迁移过来。可根据是否涉及学习分类:基于规则的、基于学习的
基于规则
随机扰动或mask
-
边随机扰动:随机去掉or增加边
-
节点扰动:随机去掉一些点
- mask:随机将特征矩阵的一部分掩盖,然后替换为M
- 腐败函数:对特征矩阵的行进行重排序
- 双层优化架构:避免手动选择增强策略
- 自动选择重要的特征和边,自适应丢和进行mask
子图采样
获取节点或边的子集,子集仍然保留着所需的特征
- 随机游走,选一个起点然后随机游走
- 选择中心点及其邻居节点
- 利用生物知识替换具有某种功能的子结构
图扩散
利用全局结构信息,在间接相邻的节点之间建立联系
简单地说就是把一些间接相邻的节点之间建立起连接(邻接矩阵)
基于学习
基于随机规则的方法可能会导致引入噪声
图结构学习
图结构数据不完整且有噪声,因此将图结构作为可学习的参数,并致力于识别增强后的图
-
将图模式学习表述为一个聚类过程,聚类出图模式,使用图模式采样形成子图
-
联合学习社区划分和图表示(考虑社区结构)
-
自引导机制,不断迭代生成更优的视图
图对抗训练
承受对抗性扰动,提高泛化能力
- 利用对抗性扰动来生成图的不同视图,减少冗余信息、保留重要信息
- 最大化图对比损失,将生成的视图作为难训练样本,新视图会最大化地不同于原始图,但包含关键的结构信息
- 对抗生成分支,引入困难样本,迫使模型学习更强的特征表示,产生负例
- 利用生成器(生成难区分的视图)和判别器(判断相似度)
图合理化
选取图中的代表性子集(rationale)来生成增强后的图视图,可解释性好(选取的子集能很好地代表原始图的结构和特征)
子图与原始图的编码器输出是一样的
- 选取具有判别能力的关键子集节点
- 迭代选取过程,计算对比显著性来确定哪些部分的图结构最能区分不同类别的图,选取具有语义判别结构的子结构
对比模式
同尺度、跨尺度(粒度)
同尺度对比
全局级别、上下文级别和局部级别
全局
采用多种生成增强视图的方法,并在同一尺度上进行对比,最小化对比损失
-
GraphCL:通过四种不同的图增强方法(例如随机删除边、特征扰动等)生成多样化视图,然后通过对比损失函数 ( L con \mathcal{L}_{\text{con}} Lcon ) 使得增强后的图表示更加接近原始图表示。
-
JOAO:引入了一种联合增强优化框架,同时优化增强策略选择和对比目标的选择。
-
AD-GCL:采用对抗性边缘删除技术,通过删除图中的某些边缘来生成增强视图。减少冗余信息
-
SimGRACE:与其他需要数据增强的方法不同,SimGRACE使用原始图作为输入,并将其与扰动变体配对作为双编码器。这样可以在不依赖数据增强的情况下获得两个相关视图进行对比,从而简化了增强过程。
-
HGCL:利用跨多个尺度的对比学习方法(节点级、子图级、图级),捕获图中的层次结构语义。HGCL使用Siamese网络和动量更新编码器,目标编码器的表示更加稳定(更新较慢),模型能够更有效地拉近正样本对的距离(正样本对之间的相似性更加稳定),所以减少了对大量负样本的需求
上下文
旨在通过在子图级别进行对比,探索各种网络中的通用拓扑属性,并揭示多尺度结构中的语义关系。
- GCC:通过提取𝑟-hop自我中心网络来生成子图,并使用对比学习来区分和捕捉结构模式。使用对比学习各个节点的r阶子图。
- GSC:自适应子图生成和对比学习结合,用最优传输距离作为相似度度量。
- MSSGCL:通过多尺度子图采样生成多样的对比对,根据语义关联构建对比对。
局部
主要是节点级别对比
- GRACE [232]:这个方法基于图结构(连接信息)和节点属性两个方面创建节点的视图,并将这些视图的嵌入表示分别记为 ( h v i \mathbf{h}_{v_i} hvi ) 和 ( h u i \mathbf{h}_{u_i} hui )。
为了增强这些视图之间的节点嵌入一致性(对比学习链接和属性,二者是正例对),采用了一种对比损失函数:
[
L
(
h
v
i
,
h
u
i
)
=
log
e
θ
(
h
v
i
,
h
u
i
)
/
τ
e
θ
(
h
v
i
,
h
u
i
)
/
τ
+
∑
k
=
1
N
I
[
k
≠
i
]
e
θ
(
h
v
j
,
h
w
k
)
/
τ
\mathcal{L}(\mathbf{h}_{v_i}, \mathbf{h}_{u_i}) = \log \frac{e^{\theta(\mathbf{h}_{v_i}, \mathbf{h}_{u_i}) / \tau}}{e^{\theta(\mathbf{h}_{v_i}, \mathbf{h}_{u_i}) / \tau} + \sum_{k=1}^{N} \mathbb{I}[k \ne i] e^{\theta(\mathbf{h}_{v_j}, \mathbf{h}_{w_k}) / \tau}}
L(hvi,hui)=logeθ(hvi,hui)/τ+∑k=1NI[k=i]eθ(hvj,hwk)/τeθ(hvi,hui)/τ
]
其中,( h w k = { h v k , h u k } \mathbf{h}_{w_k} = \{\mathbf{h}_{v_k}, \mathbf{h}_{u_k}\} hwk={hvk,huk}) 表示视图间和视图内的负样本。
-
GCA [233]:自动选择合适的增强技术。该方法利用了图的拓扑和语义信息的丰富先验知识。
-
ASP [13]:整合了三种不同的图视图(原始视图、属性视图和全局视图)进行联合对比学习(同一节点在不同视图下表现一致)
-
B2-sampling [84]:为了更有效地训练,通过平衡采样来识别最具代表性的负样本(最接近正样本的负样本),并通过有偏采样来修正最容易出错的负样本对。
跨尺度对比
局部-全局
局部信息和全局信息,最大化共同信息
-
DGI (Deep Graph Infomax) [154]
用两种编码器分别获得节点和图的嵌入表示,然后最小化这两者之间差异的损失函数
- 方法:DGI 是一种先驱方法,通过对比节点级嵌入和图级嵌入来学习图的表示。首先使用两个编码器分别获取图的表示( h ~ G \tilde{\mathbf{h}}_G h~G)和节点的嵌入( H \mathbf{H} H),然后最小化二者之间的差异
- 公式:
h ~ G = R ( f θ 1 ( A ~ , X ~ ) ) , H = f θ 2 ( A , X ) , \mathbf{\tilde{h}}_G = R(f_{\theta_1}(\tilde{\mathbf{A}}, \tilde{\mathbf{X}})), \quad \mathbf{H} = f_{\theta_2}(\mathbf{A}, \mathbf{X}), h~G=R(fθ1(A~,X~)),H=fθ2(A,X),
其中 ( R ( ⋅ ) R(\cdot) R(⋅)) 是图的读取函数。 - 目标:最小化局部表示与对应的全局总结之间的差异:
θ 1 ∗ , θ 2 ∗ = arg min θ 1 , θ 2 1 ∣ V ∣ ∑ v i ∈ V L con ( h G , h v i ) . \theta_1^*, \theta_2^* = \arg\min_{\theta_1, \theta_2} \frac{1}{|\mathcal{V}|} \sum_{v_i \in \mathcal{V}} \mathcal{L}_{\text{con}} (\mathbf{h}_G, \mathbf{h}_{v_i}). θ1∗,θ2∗=argminθ1,θ2∣V∣1∑vi∈VLcon(hG,hvi).
-
MVGRL (Multi-View Graph Representation Learning) [40]
- 方法:MVGRL 采用图扩散来创建图的增强结构视图,并采用判别器来对比节点级和图级表示。
-
CGKS [221]
- 方法:开发了图金字塔,图金字塔结构,通过逐层粗化图,形成多个尺度(粗化程度不同)的图视图
- 特点:采用成对对比损失,促进图金字塔不同尺度间的知识交互。
局部-上下文
编码采样的子图而不是整个图来实现对比学习。这种方法强调从局部结构中提取信息,避免对整体图结构的过度拟合。
子图和节点级比较
-
SUBG-CON [51]
中心节点和相邻子图对比学习
-
EGI (Embedding Graph Information) [228]
结构信息和节点嵌入差异最小化
-
GIC (Graph Infomax with Clusters) [112]
根据节点嵌入进行聚类,使节点嵌入和聚类中心的差异降低
-
HCHSM (Hierarchical Contrastive Self-supervised Model) [152]
多层次对比,关注边界和挑战性样本
上下文-全局
子图和整体图
- SUGAR [142]
- 简化图结构并最大化和全图的互信息,使子图嵌入更好地反映全局图结构
- BiGI [9]
- 采样边缘编码为局部表示。 它通过优化局部和全局表示之间的互信息
-
MICRO-Graph [220]
识别和采样语义重要的子图,通过图对子图的对比学习训练GNNs
对比优化目标
对比方法和非对比方法
对比方法需要具体负样本
非对比方法不需要负样本
对比方法
需要负样本和正样本
基于infonce
根据数据 𝑥 及其上下文 𝑐,直接建模 𝑝 (𝑥|𝑐) 可能不是最优的,因为模型可能会被与任务目标无关的信息分散注意力。
最大化大化数据和其上下文(子图)的互信息
基于噪声对比估计(NCE)技术[36]提出了InfoNCE,使用随机扰动来生成增强视图。 在增强视图中,InfoNCE 将从同一源节点生成的任意两个节点视为正对,将任何其他对视为负对。
损失函数
需要大量的负样本。改进标准的InfoNCE方法:
- 数据增强策略:GRACE [232] 和 GCA [233] 提出改进的数据增强策略。
- 采样方法:LocalGCL [212] 和 ProGCL [177] 改进了采样方法。
- 负样本冲突缓解:PiGCL [41] 通过缓解负样本中的隐性冲突来提升模型性能。
分布的散度
散度:衡量两个概率分布之间的差异(正负样本分布之间的差异)
- Kullback–Leibler 散度 (KLD):衡量两个概率分布之间的差异,非对称且可能为无穷大。
- Jensen-Shannon 散度 (JSD):KLD 的对称化版本,常被称为信息半径 (Information Radius, IRad),总是有有限值并且更加平滑。
衡量节点与其正负样本之间的散度来优化节点的表示
一种变体
正负样本之间的直接距离
三元组(锚点、正样本、负样本)边距,损失函数,拉大锚点与负样本之间的距离,同时缩小锚点与正样本之间的距离
对于节点来说更具体的表示:
非对比方法
无需负样本
知识蒸馏
BYOL使用两个神经网络,称为在线网络和目标网络
目标网络生成增强视图,然后训练在线网络预测目标网络生成的增强视图
通过最大化两者(两个生成的正例)的余弦相似度来进行优化,损失函数如下
冗余减少方法
通过计算两个增强视图中,同一节点的表示的交叉相关矩阵来减少冗余,然后使用相关矩阵计算损失函数
使得同一节点的表示相关性尽可能接近1(即自相关),而不同特征之间的相关性尽可能接近0(去除相关和冗余)
损失函数
交叉相关矩阵:
$C_{ij} = \frac{1}{B} \sum_{b=1}^B v_{bi} u_{bj} $
改进,增加方差、不变性和协方差正则化项
GCL扩展到数据高效学习
弱监督学习、迁移学习和其他相关场景
弱监督学习
有效利用稀疏标记信号
充分利用未标记的结构信息
标签利用对比
有效地利用标记数据中包含的稀疏监督信息
硬标签:标签信息明确
软标签:标签信息不是绝对确定(不是确切的类别,而是概率值)
硬标签
层次化的图卷积操作,然后在已标记的图上进行图对比学习,能够增强不同标签的样本之间的区分能力
- 通过结构信息来生成伪标签,辅助模型利用未标记数据
软标签
给每个类别赋予一个概率值
软原型:归一化特征均值(对于标签j来说的)
数据i和标签j的相似度softmax函数计算属于某个标签的概率:
利用对比学习优化相似度计算(最大化正例的相似度,相当于是损失函数了)
- 将强约束“一个节点属于特定类”转换为弱约束“两个节点不属于同一类”,提升容错率
结构集成对比
探索没有标签的数据的结构信息,然后把结构信息和有限的标签数据集成
- 整合一致信息
- 减少不一致信息冲突
信息融合对比
整合标签和结构之间的信息(简单方法是标签确定的监督损失和结构确定的自监督损失相加)
其他融合方法
- 利用标签和结构信息来识别和融合一致的标签和结构信息(两个不同模态的编码器)
- 获取标签概率的两种表示,然后和结构嵌入进行对比学习,然后采用联合进化方法来完成信息融合
缓解冲突对比
缓解标签和图结构的冲突
- 通过对比信息识别节点特征中的异常或错误信息(检测出负例),调整和修正
- 图不同层次的结构信息可能不同,先将各个层次的结构信息统一,能减少冲突
利用互信息各个层次的结构信息统一:
图迁移学习
源域(训练)和目标域(推理)存在图域偏移(显著差异)
域间:有效地对齐(Align)或区分(Discriminate)不同的域
域内:提取对域偏移不变的可迁移图特征
域间
揭示领域关系并实现领域转换
域对齐(接近)
域区分(区分)
域对齐
正样本:跨域后一致的样本
DEAL:通过扰动源图,生成与目标域语义特征匹配的样本,然后用对比学习调整扰动(增强策略),从而使源域对齐目标域
UDANE:引入原型对比学习,将目标域数据与源域原型对齐。
原型计算(某个类别样本的特征均值,代表该类别的中心点或典型表示):
CoCo:生成目标域伪标签,进行跨域对比学习(源域标签和目标域伪标签相同的作为正样本对),目标域样本的特征向量被引导向与其伪标签对应的源域样本特征向量靠近(编码器优化)
GCLN:在节点和图级别的表示之间进行对比学习,调整跨域表示
正样本对:源域的节点和图,目标域的节点和图
负样本对:源域的节点和目标域的图
原理没搞懂
域区分
区分源域和目标域、在分布外的样本
领域相似的作为正样本,扰动生成负样本,然后进行对比学习,获得更好地正样本表示和负样本表示
获取平均信息作为正样本标准,偏离平均信息的作为负样本
域内
可迁移表示对比
构建提取子图的方法,利用对比学习优化获取的子图嵌入
具有相同标签的子图是正样本
不同是负样本
域适应的对比
对比原始图和增强图,使图编码器学会提取对增强操作不敏感的特征,从而提高图编码器的泛化能力。
Else
图噪声处理、不平衡学习、分布外(OOD)问题、对抗性攻击和公平性
数据噪声
图数据中通常存在噪声,包括标签噪声和结构噪声
- 将对比损失作为正则化项
- 将生成的正负样本进行线性组合,形成新的样本
数据不平衡
gNN表示学习,采样,平衡采样比例。重复迭代,直至样本比例平衡
将对比损失作为正则化项(增强区分不同类别节点的能力)
分布外
检测OOD图
对比学习图编码器、解码器:使用训练集进行对比学习,获得能够生成当前分布的数据的正例
使用图编码器、解码器对OOD图(陌生图)进行重建,若重建前后差异大(对比损失大)则说明是异常图
对抗攻击
对抗性数据增强:通过生成对抗性样本(恶意操纵,去除一些重要结构信息等)。
正则化:利用对抗性样本对比学习,将对比损失作为正则化项
梯度上升:利用梯度信息选择最有信息量的边缘(边缘样本梯度变化大),翻转边缘信息,从而生成对抗性图样本
公平性
图增强策略:对低度节点和高度节点采用不同的增强方法,以减少因节点度数不同引起的偏差。
通过GCL,优化图编码器,使图编码器生成的表示远离分类边界。
现实世界应用
药物发现、基因组分析、推荐系统、社交网络和流量预测
药物探索
生物分子相互作用分析和分子特性预测
生物分子相互作用
交互网络 和 生物实体 两个视角分别生成视图,对这两个视图进行对比学习,使两个视角的表示趋于一致(对比损失最小)
正例的选择:
交互网络:药物之间的相似性
生物实体:具有相同元路径,元路径可以是 药物-疾病-药物 表示药物通过治疗相同疾病而相关联
分子性质预测
- 2D和3D图表示分子,进行对比学习
- mask和子图提取来生成不同的增强视图,构造正样本对,引入对比学习
- 将分子分解为不同的子结构,引入对比学习来学习这些子结构的表示
基因分析
单细胞数据补全、聚类和多组学数据集成
单细胞数据补全、聚类
- 根据细胞基因相似度构建K最近邻图,自编码器重构图数据,对比学习优化自编码器(自编码器能够处理数据缺失)
- 每个类别的基因生成原型表示,将原型和细胞表示进行对比学习,产生更好地细胞表示,改善聚类效果
多组学数据集成
组学技术:蛋白质组学、基因组学、代谢组学、单细胞组学等。。。
- 图Transformer对基因共表达网络进行编码,利用对比学习优化基因的嵌入表示
- 基于多组学数据的距离矩阵,距离矩阵表示不同细胞或基因之间关系的图结构,然后对建成的图进行对比学习,获取更好地嵌入
推荐系统
充分利用邻域结构信息进行协同过滤
下游任务
###基于图的协同过滤
基于用户与物品的交互历史,将用户与物品集合进行匹配
根据历史来预测用户可能感兴趣的物品
- 图扰动,随机游走生成子图(用户商品二部图的子图)
- 采用图扰动并进行对比学习来进行去偏推荐(作为正则化项)
- 对用户-物品评分矩阵进行奇异值分解(得到用户特征、物品特征和奇异值矩阵),利用分解得到的信息生成不同视图,然后进行对比学习
- 将超图引入到对比学习(超图一条边可以连接多个节点)
- 添加随机噪声生成增强视图,然后进行对比学习(抗干扰)
- 简化视图生成、编码过程,通过简化的视图进行对比学习
- 使用余弦对比损失构建对比损失函数
- 扩展到多通道视图进行对比学习
- 将知识图谱视图引入对比学习,用户、商品以及它们之间的关系转化为图结构
下游任务
序列推荐和兴趣点推荐
- 常规的丢弃方法会视图变得更加稀疏,构建全局会话邻接图,将会话中的物品构建成一个全局图,对会话中的物品进行对比学习
- 构建全局协同关系图,迭代去偏对比学习
- 利用冷启动用户的社交连接,通过对比学习获得用户特征的表示
- 视频推荐:多种数据模态对齐表示,对比学习
- 基于对比学习的解耦损失,学习各种特征的独立影响
社交网络中的对比学习
- 检测虚假信息(扰动),确保扰动后的社交网络和原始社交网络之间的一致性
- 检测机器人:drop边生成增强视图,根据训练得到的更好地嵌入,再进行分类区分机器人
- 不同话题之间的对比对,以使模型能够推广到未见的开放话题领域(迁移学习)
交通网络
- 聚合来自多个POI图的视图,处理数据噪声(对比损失作为正则化项)
- 特征数据增强和拓扑数据增强,处理数据噪声
- 三个周期模式的分支视图之间进行对比学习
- 对抗网络,利用生成器和判别器区分突发情况
###挑战or未来工作
缺乏理论支撑
现有训练框架设计通常是基于经验,缺乏理论属性研究,如:GCL的泛化能力、收敛特性、性能理论界限。
- 信息论角度评估 GCL 泛化能力的方法
增强策略
针对非欧几里得数据的增强方法探索
基于图拓扑特征、谱图理论[29]、自动化和自适应技术[233]、动态更新方法、计算效率考虑以及针对特定复杂图类型定制的增强策略 异构图[14]和时空图[217]
可解释性
对于图自监督学习的可解释性研究仍然较少
受到不变原理发现(IRD)概念的启发,引入了原理生成器来自动学习分子图中的重要子图以进行分子区分。 它将IRD的充分性和独立性原则融入到GCL框架中,使得在GCL的优化过程中能够发现和利用与分子性质相关的基本原理
领域知识整合
利用相关领域的先验知识构建增强视图
利用化学元素导向的知识图谱,将元素间关系补充到原始图
提高鲁棒性
应对结构扰动、标签噪声、对抗攻击、领域转移和其他干扰方面的鲁棒性研究仍不足
自监督
自监督学习(Self-Supervised Learning, SSL)从未标记的数据中提取有意义的表示,指的是从数据中自动学习到对特定任务有用的特征或信息。具体来说,“有意义的表示”是指在无监督环境下,模型能够学习到的能够有效支持各种下游任务(如分类、聚类、回归等)的数据特征。这些特征或表示在很多情况下比原始数据更加紧凑、更加容易处理,同时能够捕捉到数据的核心结构和模式。
有意义表示的特点
- 高信息量:表示包含了原始数据中的重要信息,能够很好地概括数据的特性。
- 低维度:相比原始数据,表示通常具有更低的维度,从而简化了后续任务的处理。
- 可转移性:表示在不同但相关的任务或数据集上也能表现出较好的效果。
- 鲁棒性:表示对噪声和不完备数据具有一定的抗干扰能力。
应用
-
图像处理:
- 自监督学习通过预测图像的某些部分或通过生成对比学习(Contrastive Learning)等方法,提取到能区分不同类别物体的特征。这些特征可以用于图像分类、物体检测等任务中。
- 例如,通过预测图像的旋转角度,模型可以学会提取到与物体形状、边缘等相关的特征,这些特征在图像分类任务中是非常有用的。
-
自然语言处理:
- 在NLP中,自监督学习可以通过任务如掩码语言模型(Masked Language Model, MLM)来学习词汇和上下文的关系,从而提取有意义的文本表示。
- 例如,BERT模型通过预测被掩盖的词语,学会了词语之间的上下文关系,这些表示在文本分类、命名实体识别等任务中表现出色。
-
图结构数据:
- 在图数据中,自监督学习通过节点间关系的预测或对比学习方法,提取到节点和图结构的有意义表示。
- 例如,通过随机游走生成节点序列,并预测序列中的节点关系,模型可以学会节点的邻域结构,这些表示在节点分类、链路预测等任务中非常有效。
GCL
输入是原始数据
图增强:对原始图进行各种增强操作,如节点丢弃、边删除、特征扰动等,生成增强后的图。
编码器映射:将原始图和增强图分别输入到图编码器中,得到它们的向量表示(嵌入)。
对比学习:通过对比原始图和增强图的向量表示,使得编码器能够学习到对增强操作不敏感的特征。对比学习的目标通常是最大化相似样本(原始图和增强图)的相似性,同时最小化不同样本(负样本)的相似性。
优点
- 鲁棒性:抗噪声能力强(对增强操作不敏感)
- 不变性:对于图结构变化不敏感,学习到与具体图结构
- 迁移能力
End
参考资料
[1] Towards Graph Contrastive Learning: A Survey and Beyond
[2]
[3]