1 导引
图对比学习(Graph Contrastive Learning, GCL)[1][2][3] 旨在以自监督的方式学习图的节点表征,其流程如下图所示:
具体而言,先以特定方式对原图AA进行增广,得到两个增广后的视图(view)V1V1和V2V2做为对比对(也可以是原图和增广后的视图做为对比对),并经由GCN进行编码得到两个增广视图中的节点embeddings。接着,对于某个目标节点ii,我们需要使其在某个增广视图中的embedding去接近在另一个增广视图中的正样本embedding,而远离负样本embedding。以这种方式建立的模型能够辨别相似与不相似的节点。一些图对比学习方法会使用经典的InfoNCE损失来作为优化目标:
这里hV1和hV2分别是在增广视图V1和V2中节点i的embeddings;D(⋅,⋅)是一个相似性度量,比如余弦相似度;τ是温度参数。总loss为:LInfoNCE =∑i12(L(hV1i,hV2i)+L(hV2i,hV1i))。
结构不变量(structural invariance) 我们在博客《寻找领域不变量:从生成模型到因果表征》中提到过,自监督学习/对比学习本质上是在从数据中提取出在多个领域/视图中的不变量(invariance)。同理,理想的GCL应该能够捕捉到图的结构不变量,也即定义为当对输入图的结构属性造成较大变化(如扰动一定数量的边)时编码器输出的不变量,形式化地表示如下:
这里t(⋅)为对图所采用的拓扑增广,D(⋅,⋅)为距离度量,p(⋅)为表示图结构属性的向量值函数,比如图的直径、图是否连通、图的聚类系数等。
为了经由GCL来捕捉结构不变量,有效的增广应该关注于敏感的边,对这些边的扰动能够轻易地造成较大的图属性改变。接着在最小化对比损失LGCL的过程中,造成结构不稳定的边会被视为噪声,从而和这些边相关的信息会被编码器忽视(也即InfoMin准则[4])。不过,均匀随机的边扰动很难做为有效的增广来使用,这启发我们去构思比均匀扰动更好的图增广方法。
图谱(graph spectrum) 我们知道图谱可以做为许多图的结构属性的一个综合性总结,包括聚类系数、连通性等等。那么,基于图谱的图增广方法就是顺理成章的了(参见我的博客《谱图论:Laplacian算子及其谱性质》),这种增广方法我们一般称为图的谱增广(spectral augmentation)。在介绍具体的谱增广方法之前,我们先来回顾一下谱图论的一些基本定义。
设G=(V,E)为无向图,这里V为节点集合且E⊆V×V为边集合。所有的边形成了邻接矩阵A∈{0,1}N×N,这里Aij∈{0,1}表示V中的节点i和j之间的关系。节点的度矩阵D=diag(d1,…dn),这里di=∑j∈VAij是节点i∈V的度。图G常常和节点特征矩阵X=[x1,x2,⋯,xN]∈RN×d相关联,这里xi是节点i∈V的d维特征向量。设L=D−A为图G的未归一化图Laplacian矩阵。若我们设对称归一化邻接矩阵(即我们在博客《谱图论:Laplacian二次型和Markov转移算子》中所提到的Markov转移矩阵)为
则对称归一化图Laplacian矩阵可以定义为:
由于ˆL是对称归一化的,则其特征分解(谱分解)为:
这里Λ=diag(λ1,…,λN)与U=[uT1,⋯,uTN]∈RN×N分别为ˆL的特征值和特征向量。不失一般性,我们假设
这里我们近似λN≈2[5]。令FL={λ1,⋯,λ⌊N/2⌋}表示图低频分量(low-frequency components)的幅值,FH={λ[N/2]+1,…,λN}为图高频分量(high-frequency components)的幅值。图谱定义为这些不同频率的分量的幅值集合,我们将其表示为φ(λ)。直观上,图谱表示了图频率的增强和减弱情况。此外,我们将ˆL重写为
我们定义uiu⊤i∈RN×N为和λi相关的特征空间,记为Si。
2 论文阅读
2.1 NIPS2022 《Revisiting graph contrastive learning from the perspective of graph spectrum》
本文的思路在于:好的增广能够使图高频信号之间的差异大于低频信号。这基于一个事实:GNN是低通滤波器,也即能较好地去筛选出低频的信号,使得节点特征更加平滑(相似节点特征相似,预测结果相似)[6]。对于节点标签一致的同构图(本文所关注的对象)而言,低频信息差异性更小的话可以更好地把图同构的信息保留住。不过需要注意的是,该准则只在同构图的前提下成立,否则对于异构图的话高频信息就会更加有用。作者将使得低频之间差异小的增广对称为最优对比对(optimal contrastive pair),如下图所示:
可见对于最优对比对V1和V2而言,低频分量幅值ϕ的差异相比高频分量更小。这里的幅值(纵轴)ϕ为邻接矩阵A对应分量的特征值κ,其与归一化Laplacian矩阵特征值(横轴)λ的关系为κ=1−λ(λ∈[0,2],κ∈[−1,1])。注意,上述关系是针对某一个视图而言的,但某个视图中的分量在其它视图的幅值相对于原视图横轴肯定就不满足此关系了,所以上图中V2的线满足κ=1−λ但V1的线就不满足。
形式化地说,本文提出的图增广准则(Graph augmentation rule, GAME)如下:给定两个随机增广V1和V2,设它们的图谱分别为ϕV1(λ)和λV2(λ)。则对∀λm∈[1,2](高频)与λn∈[0,1](低频), 当下列条件满足时V1和V2是一个有图增广的有效对:
作者将这样的一个增广对定义为最优对比对。
有了这样一个准则之后,我们如何确定需要变化哪一些边呢?通过矩阵扰动理论(matrix perturbation theory)[7],我们能够找到邻接矩阵的变化量和特征值变化量之间的关系:
这里λ′i为变化之后的特征值,ΔA=A′−A为增广之后边的变化量,而D为度矩阵相应的变化量。注意这里不能使用特征值分解来获得A′的特征值λ′,因为所得到的λ′相对于之前A的λ是无序的。也就是说,对于A的某个特征值λi,我们不能确定A′的哪个特征值在分解后与其对应,所以在这种情况下我们就不能计算λi的改变量Δλi。
作者按照上述等式计算每次增广后的邻接矩阵特征值{λ′i},并将它们的图谱给绘制出来。此外,作者还设置了多种图增广方式做为对比,如下图所示:
上图中的虚线左半部分为增广前的Laplacian矩阵的图谱和邻接矩阵的图谱,虚线右半部分为采用不同增广方法进行增广后的邻接矩阵的图谱。可以看到,如果将邻接矩阵A的谱做为幅值,PPP Matrix、Heat Matrix、Distance这三种增广方式最符合我们的效果:他们在低频FL上随A的幅值变化小,在高频FH上随A的幅值变化大(图中红框中所示的内容)。因此,它们的表现优于上图中的其它增广方式。
作者还在理论层面分析了GAME法则和对比损失LinfoNCE的关系。给定邻接矩阵A和其所生成的增广V,A和V第i个频率的幅值分别是λi和γi。对于所要最小化的InfoNCE损失LinfoNCE而言,其上界可表示如下:
最小化对比损失等价于最小化其上界。所以,较大的θi会被赋给较小的(λi−γi)2(以更关注低频信息)。同时,如果λi≈γi,则这两个对比增广可以被视为是共享在i频率的不变量。因此,通过对比学习,编码器会从谱域去强调两个对比增广之间的不变量。回忆我们之前所说的,GAME法则意味着各个增广在FL的差异应该较小,而图对比学习则尝试捕捉两个增广共同的低频信息。因此,GAME法则指出了一个操纵编码器来捕捉低频信息的一个通用的策略,并取得了更好的表现。
接下来我们来看学习一个通用的且利于图对比的变换ΔA来用于邻接矩阵A,以产生对应的增广A_(ΔA=A_−A)。这里A和A_要求是最优对比对。
首先,作者将ΔA分解为了ΔA=ΔA+−ΔA−,这里ΔA+和ΔA−分别表示加的边和删除的边。接着,我们来看如何学得ΔA+,ΔA_同理。
作者设计了下列的关于ΔA+的优化目标(最大化):
该优化目标包含了3个组成部分:
-
⟨C,ΔA⟩2:该项是匹配项,旨在使对图的改变量ΔA+和余弦定义好的矩阵C是“匹配”或相似的。这里⟨A,Q⟩=∑ijPijQij,C=Ug(λ)UT(g(λ)为关于A的单调递增函数)。这里的动机在于,根据GAME法则,若设ϕΔ(λ)=|ϕA(λ)−ϕA−(λ)|,则我们需要ϕΔ(λm)>ϕΔ(λn),∀λm∈[1,2] and λn∈[0,1],因此我们需要规定ϕΔ(λ)应该是一个单调递增函数。由于C会指导ΔA+来捕捉图谱的变化量(ϕΔ(λ)),我们自然会将C中的g(λ)设置为一个单调递增函数。事实上,图Laplacian矩阵L的图谱就满足我们这里对g(λ)的要求,因此我们可以简单地设C=ΘL,这里Θ是一个在训练中更新的参数。
-
ϵH(ΔA+):该项为熵正则,旨在增加所学得的ΔA+的不确定性,促使更多的边(ΔA+中的条目)能够加入到优化中来。这里H(P)=−∑i,jPi,j(log(Pi,j)−1),ϵ是该项的权重。
-
⟨f,ΔA+1n−a⟩和⟨g,Δ⊤A+1n−b⟩:分别对ΔA+的行向量和列向量做拉格朗日约束,使得变化不要太大。这里f∈RN和g∈RN是拉格朗日乘子,a∈RN和b∈RN是概率分布(本文定义为节点的度分布)。
不过,要求解这个问题也是不容易的,因为它是个离散优化问题。本文证明了它有下列解:
(ΔA−同理)
这里U+=diag(ui)=diag(exp(fiϵ)),V+=diag(vj)=diag(exp(gjϵ))。为了进一步计算U+和V+,作者根据拉格朗日约束条件来约束ΔA+的行和与列和:
接着,作者采用Sinkhorn迭代来解决这个矩阵缩放(matrix scaling)问题:
最后,算得ΔA=ΔA+−ΔA−,从而得到图增广:
本文的完整算法如下图所示:
2.2 ICLR2023 《Spectral augmentation for self-supervised learning on graphs》
本文的思路是好的图增广应尽量使图谱(特征值)的变化量更大。因此本文先通过一个预计算(pre-computing)的步骤来先获得好的增广,然后再在此基础上进行图对比(自监督)学习。预计算的过程即求解下列优化问题:
可以看到,这里两个图结构之间的距离是基于图谱来进行度量的。作者认为一个有效的拓扑增广应该更关注那些对图谱产生大的扰动的敏感边,然后通过对比学习来消除其影响。基于这一原则,作者设计了相应的谱增广策略。
定义拓扑增广T(A),其每一项Aij都为服从伯努利分布B(Δij)的随机变量。所有伯努利分布的参数构成了一个概率矩阵Δ∈[0,1]n×n。我们可以采样边扰动矩阵E∈{0,1}n×n,这里Eij∼B(Δij)表示是否对节点i和j之间的边进行翻转,如果Eij=1则翻转边,否则不变。增广图则通过下式来采样得到:
这里ˉA为邻接矩阵A的补矩阵,经由¯A=1n1⊤n−In−A计算,这里(1n1⊤n−In)表示无自环的全连接图。因此,C=¯A−A∈{−1,1}n×n表示对每个节点对的边添加或删除操作。如果Cij=1,则在节点i和j之间添加边,如果Cij=−1则移除边。采用Hadamard积C⊙E来最终确定对图有效的边扰动。
由于E是服从伯努利分布的随机变量所组成的矩阵,则所采样的增广图的期望为E[t(A)]=A+C⊙Δ。因此,Δ的设计决定了拓扑增广的模式。以均匀随机地移除边为例,当Cij=−1时Δij被设置为固定的dropout rate,否则将其设置为0。
最大化谱变化量 不同于直接为Δ设置固定值做为均匀随机扰动,作者提出由图谱来指导Δ的优化。具体来说,这里需要在期望上来搜索一个Δ以最大化原始图和从概率矩阵中采样的增广图之间的谱差距。将A的未归一化Laplacian矩阵表示为Lap(A),则其图谱可以被计算为Λ=eig(Lap(A))。于是,在单个增广branch中搜索所需要的Δ可以被形式化为如下问题:
这里S={s∣s∈[0,1]n×n,‖s‖1≤ϵ}与ϵ控制扰动的强度。上式提供的是一个增广branch的视图。扩展到两个branch的增广框架则为如下形式:
上式带来了更好的灵活性,但也使得优化问题变得更难解,因此我们需要对问题进行进一步转换。基于三角不等式,我们可以去最大化其下界做为替代:maxΔ1,Δ2∈S‖eig(Lap(A+C⊙Δ1))‖2F−‖eig(Lap(A+C⊙Δ2))‖2F。这样,Δ1和Δ2就能够独立地朝着相反的方向进行优化:最大化一个branch的图谱范数,与此同时最小化另一个。而这最终会导出下列的目标函数:
这里LGS(Δ)=‖eig(Lap(A+C⊙Δ))‖2F度量了采用Δ的增广范式的图谱范数。对于增广范式T1(A),Δ1生成的视图总体上具有比原始图更大的谱范数,而对于T2(A),Δ2生成的视图则具有较小的谱。我们可以将它们理解为为输入图设置了谱边界,以训练编码器来捕捉到重要且对该区域内的扰动鲁棒的信息。
优化Δ1和Δ2 上式可以采用投影梯度下降(对Δ2)与上升(对Δ1)来求解(关于投影(次)梯度下降法可参见我的博客《数值优化:经典一阶确定性算法及其收敛性分析》)。以Δ2为例,其更新过程如下:
这里ηt>0为步骤t的学习率,而PS(a)=argmins∈S‖s−a‖22为在约束集S上关于a的投影算子。这里的梯度∇LGS(Δ(t−1)2)可以通过链式法则计算,其中会用到特征值对矩阵求导的闭式解:对于一个实对称矩阵L,其第k个特征值的导数为∂λk/∂L=uku⊤k[8],这里uk为对应的特征向量。注意导数计算要求特征值互异,但这对于自同构(automorphism)图并不满足[9]。为了避免这种情况,作者向邻接矩阵中添加了一个小噪声项,例如A+C⊙Δ+ε×(N+N⊤)/2,这里N中的每一项都从均匀分布U(0,1)中采样,且ϵ是一个很小的常数。添加这样的噪声基本上都会打破图的自同构,从而实现特征值的有效梯度计算。
在预计算好概率矩阵Δ1和Δ2之后,我们就可以由Δ1和Δ2来设置增广模式。对于对比学习的每轮迭代,我们采样两个增广图t1(A)∼T(A∣Δ1)和t2(A)∼T(A∣Δ2)。增广图之后会被输入一个图编码器fθ,从而产生两组节点表征H(1),H(2)∈Rn×d′。之后我们应用读出函数gϕ来聚合并变换节点表征以得到图表征z(1),z(2)∈Rd′。最后,给定训练图G,采用对比目标函数LGCL在最大化局部节点表征和全局图表征之间的跨视图相似度,旨在保留局部相似性和全局不变量:
这里I(X1,X2)计算的是变量X1和X2之间的互信息,可以采用InfoNCE做为它的下界(参见我的博客《迁移学习:互信息的变分上下界》)。具体地,设余弦相似度为cos(⋅,⋅),则互信息可以估计如下:
这里a和b为增广视图的索引,˜H为该batch中其它负例的节点表征。
2.3 AISTATS2023 《Spectral Augmentations for Graph Contrastive Learning》
本文提出了两种图数据增广的策略:谱图裁剪(spectral graph cropping)和图频率分量的重排(graph frequency component reordering)。此外,作者也提出了两种后处理(post-processing)的增广质量增强机制。第一种作者称为增广滤波(augmentation filtering),基于表征相似度来选择候选的增广;第二种作者称为本局部-全局表征对齐(local-global embedding alignment),对齐在增广之间共享的节点表征。本文方法的整体框架流程如下图所示:
如上图所示,最开始的两个必备步骤是构建自我中心网络(ego-net,即包含节点i、i的邻居节点及i与邻居节点之间所有边的子图)和随机游走以得到节点的embeddings。而随后的步骤都是按照概率(pfilter,pcrop,palign,pmask,preorder)来选择性出现的,包括增广过滤,谱裁剪,embeddings对齐,随机embeddings掩码,频率分量重排。注意,这里的两个步骤(即掩码或重排)只能二选一。图中的tmax表示在过滤步骤中所允许尝试的最大次数。
使用特征向量的图裁剪 我们知道对于图像而言,沿着(x,y)轴裁剪像素的图像裁剪增广是非常高效的。而做为图像裁剪的推广,作者引入了去除图节点的图裁剪增广,该增广使用图Laplacian矩阵Li两个最小的非零特征值λ2,λ3所对应的特征向量。设x(v)表示在第二个特征向量中赋给节点v的值(即u2∈RN的第v行),相似地y(v)表示第三个特征向量中赋给节点v的值(即u3∈RN的第v行),则可定义谱裁剪增广如下:Gi[xmin,xmax,ymin,ymax](裁剪后的视图)为节点v∈Gi的集合,满足xmin⩽x(v)⩽xmax与ymin⩽y(v)⩽ymax。
基于频率的位置embedding重排 我们知道图像是由RGB编码得到的多通道数据,不同通道对应着可见光谱的不同频率。关于图像已经有了成功的重排增广,这启发我们引入一个新的图增广,该图增广将会重排图各频率分量的结构位置embeddings。我们知道结构位置embeddingsHi可以由图Laplacian矩阵的分解得到(其列为对应各频率分量的特征向量,其第v行为节点v的embedding)[10][11],于是这里可以考虑去重排Hi的各列。
然而,任意的重排并不能产生一个好的增广。为了导出一个位置embedding,归一化Laplacian矩阵Li并不是用于分解的有效选择。由特征分解可以导出一个著名的随机游走embedding方法:
可见∑rj=1(I−Li)r在谱分解中代替了(I−Li)。正如邻接矩阵Ai编码了图的一阶邻域信息(边),A2i编码了二阶信息,A3i编码了三阶信息等。使用更大的r可以整合embeddings中更高阶的信息。最佳的H为∑rj=1(1−λ)j中前k个值所对应的U的列(特征向量)。没有必要重复特征值分解来获得新的embeddings,因为高阶embeddings可以通过重排特征向量(按照∑rj=1(1−λw)j的降序)来得到。
embeddings对齐 作者还提出了一种基于embeddings对齐的增广质量增强机制,该机制可以产生更好的增广。该机制是后处理的,也即需要在进行增广并学得embeddings后再进行调整。给定图Gt中的两个节点v和v′,并通过图嵌入方法来产生Gt的embedding矩阵Ht。这里Ht中对应节点v的那一行提供了对应的节点embeddinghv。考虑两个视图G′i,G′′i和节点vi满足vi∈G′i,vi∈G′′i。给定G′i,G′′i的embeddings H′i, H′′i,则对齐指的是去寻找一个正交矩阵Q满足H′′iQ≈H′i。这里之所以要对齐的原因是每个节点vi的结构embeddings(在H′i,H′′i中对应节点vi的每一行)是有差异的,我们需要去纠正它。注意,直接对齐是难以优化的(和我们在2.2节中面临的情况类似),故这里还需要使用原始的子图embeddings矩阵Ht,Gi做为桥梁(Ht,Gi为将所有vj∈Gi对应的行j收集得到的子矩阵)。最后,问题就可以形式化为:找到正交矩阵Q,Q∗∗,使得
该问题有闭式解Q∗=UVT,这里UΣVT为(H′i)THt,Gi的奇异值分解(Q∗∗同理,这里和我们在博客《知识图谱实体对齐:无监督和自监督的方法》中所求解的问题类似)。这里所得到的解满足H′iQ∗≈Ht,Gi与H′′iQ∗∗≈Ht,Gi。于是,我们可以通过使用H′iQ∗,H′′iQ∗∗来代替H′i,H′′i,以减少错位所导致的负面差距,最终获得更好的图增广。作者将此称为对齐。
增广过滤 文章还提出了一个选择候选增广的策略,称为增广过滤。同embeddings对齐一样,这个也是个后处理步骤。考虑G′i,G′′i这两个视图,这两个视图由节点ai(节点ai在Gt中的自我中心网络为Gi)进行随机游走得到。设zG′i=∑vj∈G′ihj(zG′′i同理),则我们能够通过⟨zG′i,zG′′i⟩的相似度来度量视图的相似度。作者规定只有当增广视图相似时才接受该对视图,以避免潜在的噪声增广:
正如上面的框架图所示,作者将这一过滤步骤和随机游走结合,以接受候选节点。这里值得注意的是应用相似性过滤在经验上表现得比其它的选择要好,比如多样性过滤。
参考
- [1] Veličković P, Fedus W, Hamilton W L, et al. Deep graph infomax[J]. arXiv preprint arXiv:1809.10341, 2018.
- [2] Hassani K, Khasahmadi A H. Contrastive multi-view representation learning on graphs[C]//International conference on machine learning. PMLR, 2020: 4116-4126.
- [3] Zhang H, Wu Q, Yan J, et al. From canonical correlation analysis to self-supervised graph neural networks[J]. Advances in Neural Information Processing Systems, 2021, 34: 76-89.
- [4] Tian Y, Sun C, Poole B, et al. What makes for good views for contrastive learning?[J]. Advances in neural information processing systems, 2020, 33: 6827-6839.
- [5] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.
- [6] 南京大学人工智能学院-数字信号处理:07 调制、解调和滤波
- [7] Stewart G W, Sun J. Matrix perturbation theory[J]. (No Title), 1990.
- [8] Rogers L C. Derivatives of eigenvalues and eigenvectors[J]. AIAA journal, 1970, 8(5): 943-944.
- [9] Godsil C D. On the full automorphism group of a graph[J]. Combinatorica, 1981, 1: 243-256.
- [10] Chung F R K. Spectral graph theory[M]. American Mathematical Soc., 1997.
- [11] Hamilton W L. Graph representation learning[M]. Morgan & Claypool Publishers, 2020.
__EOF__






