图机器学习:从图谱角度来理解图增广

1 导引

图对比学习(Graph Contrastive Learning, GCL)[1][2][3] 旨在以自监督的方式学习图的节点表征,其流程如下图所示:

具体而言,先以特定方式对原图A进行增广,得到两个增广后的视图(view)V1V2做为对比对(也可以是原图和增广后的视图做为对比对),并经由GCN进行编码得到两个增广视图中的节点embeddings。接着,对于某个目标节点i,我们需要使其在某个增广视图中的embedding去接近在另一个增广视图中的正样本embedding,而远离负样本embedding。以这种方式建立的模型能够辨别相似与不相似的节点。一些图对比学习方法会使用经典的InfoNCE损失来作为优化目标:

L(hiV1,hiV2)=logexp(D(hiV1,hiV2)/τ)exp(D(hiV1,hiV2)/τ)+kiexp(θ(hiV1,hkV2)/τ)

这里hV1hV2分别是在增广视图V1V2中节点i的embeddings;D(,)是一个相似性度量,比如余弦相似度;τ是温度参数。总loss为:LInfoNCE =i12(L(hiV1,hiV2)+L(hiV2,hiV1))

结构不变量(structural invariance) 我们在博客《寻找领域不变量:从生成模型到因果表征》中提到过,自监督学习/对比学习本质上是在从数据中提取出在多个领域/视图中的不变量(invariance)。同理,理想的GCL应该能够捕捉到图的结构不变量,也即定义为当对输入图的结构属性造成较大变化(如扰动一定数量的边)时编码器输出的不变量,形式化地表示如下:

LCCL(A,t(A),Θ)σ, s.t. t(A)=argmaxAt(A)1ϵD(p(A),p(t(A)))

这里t()为对图所采用的拓扑增广,D(,)为距离度量,p()为表示图结构属性的向量值函数,比如图的直径、图是否连通、图的聚类系数等。

为了经由GCL来捕捉结构不变量,有效的增广应该关注于敏感的边,对这些边的扰动能够轻易地造成较大的图属性改变。接着在最小化对比损失LGCL的过程中,造成结构不稳定的边会被视为噪声,从而和这些边相关的信息会被编码器忽视(也即InfoMin准则[4])。不过,均匀随机的边扰动很难做为有效的增广来使用,这启发我们去构思比均匀扰动更好的图增广方法。

图谱(graph spectrum) 我们知道图谱可以做为许多图的结构属性的一个综合性总结,包括聚类系数、连通性等等。那么,基于图谱的图增广方法就是顺理成章的了(参见我的博客《谱图论:Laplacian算子及其谱性质》),这种增广方法我们一般称为图的谱增广(spectral augmentation)。在介绍具体的谱增广方法之前,我们先来回顾一下谱图论的一些基本定义。

G=(V,E)为无向图,这里V为节点集合且EV×V为边集合。所有的边形成了邻接矩阵A{0,1}N×N,这里Aij{0,1}表示V中的节点ij之间的关系。节点的度矩阵D=diag(d1,dn),这里di=jVAij是节点iV的度。图G常常和节点特征矩阵X=[x1,x2,,xN]RN×d相关联,这里xi是节点iVd维特征向量。设L=DA为图G的未归一化图Laplacian矩阵。若我们设对称归一化邻接矩阵(即我们在博客《谱图论:Laplacian二次型和Markov转移算子》中所提到的Markov转移矩阵)为

A^=D12AD12

则对称归一化图Laplacian矩阵可以定义为:

L^=InA^=D12(DA)D12

由于L^是对称归一化的,则其特征分解(谱分解)为:

L^=UΛU

这里Λ=diag(λ1,,λN)U=[u1T,,uNT]RN×N分别为L^的特征值和特征向量。不失一般性,我们假设

0λ1λN<2(λN2)

这里我们近似λN2[5]。令FL={λ1,,λN/2}表示图低频分量(low-frequency components)的幅值,FH={λ[N/2]+1,,λN}为图高频分量(high-frequency components)的幅值。图谱定义为这些不同频率的分量的幅值集合,我们将其表示为φ(λ)。直观上,图谱表示了图频率的增强和减弱情况。此外,我们将L^重写为

L^=λ1u1u1++λNuNuN

我们定义uiuiRN×N为和λi相关的特征空间,记为Si

2 论文阅读

2.1 NIPS2022 《Revisiting graph contrastive learning from the perspective of graph spectrum》

本文的思路在于:好的增广能够使图高频信号之间的差异大于低频信号。这基于一个事实:GNN是低通滤波器,也即能较好地去筛选出低频的信号,使得节点特征更加平滑(相似节点特征相似,预测结果相似)[6]。对于节点标签一致的同构图(本文所关注的对象)而言,低频信息差异性更小的话可以更好地把图同构的信息保留住。不过需要注意的是,该准则只在同构图的前提下成立,否则对于异构图的话高频信息就会更加有用。作者将使得低频之间差异小的增广对称为最优对比对(optimal contrastive pair),如下图所示:

可见对于最优对比对V1V2而言,低频分量幅值ϕ的差异相比高频分量更小。这里的幅值(纵轴)ϕ为邻接矩阵A对应分量的特征值κ,其与归一化Laplacian矩阵特征值(横轴)λ的关系为κ=1λ(λ[0,2],κ[1,1])。注意,上述关系是针对某一个视图而言的,但某个视图中的分量在其它视图的幅值相对于原视图横轴肯定就不满足此关系了,所以上图中V2的线满足κ=1λV1的线就不满足。

形式化地说,本文提出的图增广准则(Graph augmentation rule, GAME)如下:给定两个随机增广V1V2,设它们的图谱分别为ϕV1(λ)λV2(λ)。则对λm[1,2](高频)与λn[0,1](低频), 当下列条件满足时V1V2是一个有图增广的有效对:

|ϕV1(λm)ϕV2(λm)|>|ϕV1(λn)ϕV2(λn)|

作者将这样的一个增广对定义为最优对比对。

有了这样一个准则之后,我们如何确定需要变化哪一些边呢?通过矩阵扰动理论(matrix perturbation theory)[7],我们能够找到邻接矩阵的变化量和特征值变化量之间的关系:

Δλi=λiλi=uiΔAuiλiuiΔDui+O(ΔA),

这里λi为变化之后的特征值,ΔA=AA为增广之后边的变化量,而D为度矩阵相应的变化量。注意这里不能使用特征值分解来获得A的特征值λ,因为所得到的λ相对于之前Aλ是无序的。也就是说,对于A的某个特征值λi,我们不能确定A的哪个特征值在分解后与其对应,所以在这种情况下我们就不能计算λi的改变量Δλi

作者按照上述等式计算每次增广后的邻接矩阵特征值{λi},并将它们的图谱给绘制出来。此外,作者还设置了多种图增广方式做为对比,如下图所示:

上图中的虚线左半部分为增广前的Laplacian矩阵的图谱和邻接矩阵的图谱,虚线右半部分为采用不同增广方法进行增广后的邻接矩阵的图谱。可以看到,如果将邻接矩阵A的谱做为幅值,PPP Matrix、Heat Matrix、Distance这三种增广方式最符合我们的效果:他们在低频FL上随A的幅值变化小,在高频FH上随A的幅值变化大(图中红框中所示的内容)。因此,它们的表现优于上图中的其它增广方式。

作者还在理论层面分析了GAME法则和对比损失LinfoNCE的关系。给定邻接矩阵A和其所生成的增广VAVi个频率的幅值分别是λiγi。对于所要最小化的InfoNCE损失LinfoNCE而言,其上界可表示如下:

LInfoNCE 1+N2iθi[2(λiγi)2]

最小化对比损失等价于最小化其上界。所以,较大的θi会被赋给较小的(λiγi)2(以更关注低频信息)。同时,如果λiγi,则这两个对比增广可以被视为是共享在i频率的不变量。因此,通过对比学习,编码器会从谱域去强调两个对比增广之间的不变量。回忆我们之前所说的,GAME法则意味着各个增广在FL的差异应该较小,而图对比学习则尝试捕捉两个增广共同的低频信息。因此,GAME法则指出了一个操纵编码器来捕捉低频信息的一个通用的策略,并取得了更好的表现。

接下来我们来看学习一个通用的且利于图对比的变换ΔA来用于邻接矩阵A,以产生对应的增广A_ΔA=A_A)。这里AA_要求是最优对比对。

首先,作者将ΔA分解为了ΔA=ΔA+ΔA,这里ΔA+ΔA分别表示加的边和删除的边。接着,我们来看如何学得ΔA+ΔA_同理。

作者设计了下列的关于ΔA+的优化目标(最大化):

J=C,ΔA+2Matching Term +ϵH(ΔA+)Entropy Reg. +f,ΔA+1na+g,ΔA+1nbLagrange Constraint Conditions ,

该优化目标包含了3个组成部分:

  • C,ΔA2:该项是匹配项,旨在使对图的改变量ΔA+和余弦定义好的矩阵C是“匹配”或相似的。这里A,Q=ijPijQijC=Ug(λ)UTg(λ)为关于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+1nag,ΔA+1nb:分别对ΔA+的行向量和列向量做拉格朗日约束,使得变化不要太大。这里fRNgRN是拉格朗日乘子,aRNbRN是概率分布(本文定义为节点的度分布)。

不过,要求解这个问题也是不容易的,因为它是个离散优化问题。本文证明了它有下列解:

ΔA+=diag(u)exp(2C,ΔA+C/ϵ)diag(v)=U+K+V+

ΔA同理)

这里U+=diag(ui)=diag(exp(fiϵ))V+=diag(vj)=diag(exp(gjϵ))。为了进一步计算U+V+,作者根据拉格朗日约束条件来约束ΔA+的行和与列和:

u=(K+v)=a and v(K+u)=b

接着,作者采用Sinkhorn迭代来解决这个矩阵缩放(matrix scaling)问题:

u(l+1)=a/(K+v(0)) and v(l+1)=b/(K+Tu(l+1))

最后,算得ΔA=ΔA+ΔA,从而得到图增广:

A=A+ηSΔA

本文的完整算法如下图所示:

2.2 ICLR2023 《Spectral augmentation for self-supervised learning on graphs》

本文的思路是好的图增广应尽量使图谱(特征值)的变化量更大。因此本文先通过一个预计算(pre-computing)的步骤来先获得好的增广,然后再在此基础上进行图对比(自监督)学习。预计算的过程即求解下列优化问题:

t(A)=argmaxAt(A)1ϵD(eig(Lap(A)),eig(Lap(t(A))))

可以看到,这里两个图结构之间的距离是基于图谱来进行度量的。作者认为一个有效的拓扑增广应该更关注那些对图谱产生大的扰动的敏感边,然后通过对比学习来消除其影响。基于这一原则,作者设计了相应的谱增广策略。

定义拓扑增广T(A),其每一项Aij都为服从伯努利分布B(Δij)的随机变量。所有伯努利分布的参数构成了一个概率矩阵Δ[0,1]n×n。我们可以采样边扰动矩阵E{0,1}n×n,这里EijB(Δij)表示是否对节点ij之间的边进行翻转,如果Eij=1则翻转边,否则不变。增广图则通过下式来采样得到:

t(A)=A+CE,C=A¯A

这里A¯为邻接矩阵A的补矩阵,经由A¯=1n1nInA计算,这里(1n1nIn)表示无自环的全连接图。因此,C=A¯A{1,1}n×n表示对每个节点对的边添加或删除操作。如果Cij=1,则在节点ij之间添加边,如果Cij=1则移除边。采用Hadamard积CE来最终确定对图有效的边扰动。

由于E是服从伯努利分布的随机变量所组成的矩阵,则所采样的增广图的期望为E[t(A)]=A+CΔ。因此,Δ的设计决定了拓扑增广的模式。以均匀随机地移除边为例,当Cij=1Δij被设置为固定的dropout rate,否则将其设置为0。

最大化谱变化量 不同于直接为Δ设置固定值做为均匀随机扰动,作者提出由图谱来指导Δ的优化。具体来说,这里需要在期望上来搜索一个Δ以最大化原始图和从概率矩阵中采样的增广图之间的谱差距。将A的未归一化Laplacian矩阵表示为Lap(A),则其图谱可以被计算为Λ=eig(Lap(A))。于是,在单个增广branch中搜索所需要的Δ可以被形式化为如下问题:

 Single-way scheme SPANsingle :maxΔSeig(Lap(A+CΔ))eig(Lap(A))F2

这里S={ss[0,1]n×n,s1ϵ}ϵ控制扰动的强度。上式提供的是一个增广branch的视图。扩展到两个branch的增广框架则为如下形式:

 Double-way SPAN  double :maxΔ1,Δ2Seig(Lap(A+CΔ1))eig(Lap(A+CΔ2))F2

上式带来了更好的灵活性,但也使得优化问题变得更难解,因此我们需要对问题进行进一步转换。基于三角不等式,我们可以去最大化其下界做为替代:maxΔ1,Δ2Seig(Lap(A+CΔ1))F2eig(Lap(A+CΔ2))F2。这样,Δ1Δ2就能够独立地朝着相反的方向进行优化:最大化一个branch的图谱范数,与此同时最小化另一个。而这最终会导出下列的目标函数:

 Opposite-direction scheme SPAN  opposite :maxΔ1SLGS(Δ1), and minΔ2SLGS(Δ2)

这里LGS(Δ)=eig(Lap(A+CΔ))F2度量了采用Δ的增广范式的图谱范数。对于增广范式T1(A)Δ1生成的视图总体上具有比原始图更大的谱范数,而对于T2(A)Δ2生成的视图则具有较小的谱。我们可以将它们理解为为输入图设置了谱边界,以训练编码器来捕捉到重要且对该区域内的扰动鲁棒的信息。

优化Δ1Δ2 上式可以采用投影梯度下降(对Δ2)与上升(对Δ1)来求解(关于投影(次)梯度下降法可参见我的博客《数值优化:经典一阶确定性算法及其收敛性分析》)。以Δ2为例,其更新过程如下:

Δ2(t)=PS[Δ2(t1)ηtLGS(Δ2(t1))]

这里ηt>0为步骤t的学习率,而PS(a)=argminsSsa22为在约束集S上关于a的投影算子。这里的梯度LGS(Δ2(t1))可以通过链式法则计算,其中会用到特征值对矩阵求导的闭式解:对于一个实对称矩阵L,其第k个特征值的导数为λk/L=ukuk[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在最大化局部节点表征和全局图表征之间的跨视图相似度,旨在保留局部相似性和全局不变量:

 GCL-TAGS : minθ,ϕLGCL(t1(A),t2(A),θ,ϕ)=1|G|GG(1ni=1(I(Hi(1),z(2))+I(Hi(2),z(1))))s.t.ti(A)T(AΔi),i{1,2},Δ1=argmaxΔSLGS(Δ),Δ2=argminΔSLGS(Δ)

这里I(X1,X2)计算的是变量X1X2之间的互信息,可以采用InfoNCE做为它的下界(参见我的博客《迁移学习:互信息的变分上下界》)。具体地,设余弦相似度为cos(,),则互信息可以估计如下:

I(Hi(a),z(b))=logexp(cos(Hi(a),z(b)))j=1nexp(cos(H~j,z(b)))

这里ab为增广视图的索引,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,即包含节点ii的邻居节点及i与邻居节点之间所有边的子图)和随机游走以得到节点的embeddings。而随后的步骤都是按照概率(pfilterpcroppalignpmaskpreorder)来选择性出现的,包括增广过滤,谱裁剪,embeddings对齐,随机embeddings掩码,频率分量重排。注意,这里的两个步骤(即掩码或重排)只能二选一。图中的tmax表示在过滤步骤中所允许尝试的最大次数。

使用特征向量的图裁剪 我们知道对于图像而言,沿着(x,y)轴裁剪像素的图像裁剪增广是非常高效的。而做为图像裁剪的推广,作者引入了去除图节点的图裁剪增广,该增广使用图Laplacian矩阵Li两个最小的非零特征值λ2λ3所对应的特征向量。设x(v)表示在第二个特征向量中赋给节点v的值(即u2RN的第v行),相似地y(v)表示第三个特征向量中赋给节点v的值(即u3RN的第v行),则可定义谱裁剪增广如下:Gi[xmin,xmax,ymin,ymax](裁剪后的视图)为节点vGi的集合,满足xminx(v)xmaxyminy(v)ymax

基于频率的位置embedding重排 我们知道图像是由RGB编码得到的多通道数据,不同通道对应着可见光谱的不同频率。关于图像已经有了成功的重排增广,这启发我们引入一个新的图增广,该图增广将会重排图各频率分量的结构位置embeddings。我们知道结构位置embeddingsHi可以由图Laplacian矩阵的分解得到(其列为对应各频率分量的特征向量,其第v行为节点v的embedding)[10][11],于是这里可以考虑去重排Hi的各列。

然而,任意的重排并不能产生一个好的增广。为了导出一个位置embedding,归一化Laplacian矩阵Li并不是用于分解的有效选择。由特征分解可以导出一个著名的随机游走embedding方法:

log(j=1r(ILi)r)Di1=log(Ui(j=1r(IΛi)r)UiT)Di1

可见j=1r(ILi)r在谱分解中代替了(ILi)。正如邻接矩阵Ai编码了图的一阶邻域信息(边),Ai2编码了二阶信息,Ai3编码了三阶信息等。使用更大的r可以整合embeddings中更高阶的信息。最佳的Hj=1r(1λ)j中前k个值所对应的U的列(特征向量)。没有必要重复特征值分解来获得新的embeddings,因为高阶embeddings可以通过重排特征向量(按照j=1r(1λw)j的降序)来得到。

embeddings对齐 作者还提出了一种基于embeddings对齐的增广质量增强机制,该机制可以产生更好的增广。该机制是后处理的,也即需要在进行增广并学得embeddings后再进行调整。给定图Gt中的两个节点vv,并通过图嵌入方法来产生Gt的embedding矩阵Ht。这里Ht中对应节点v的那一行提供了对应的节点embeddinghv。考虑两个视图GiGi和节点vi满足viGi,viGi。给定Gi,Gi的embeddings Hi, Hi,则对齐指的是去寻找一个正交矩阵Q满足HiQHi。这里之所以要对齐的原因是每个节点vi的结构embeddings(在HiHi中对应节点vi的每一行)是有差异的,我们需要去纠正它。注意,直接对齐是难以优化的(和我们在2.2节中面临的情况类似),故这里还需要使用原始的子图embeddings矩阵Ht,Gi做为桥梁(Ht,Gi为将所有vjGi对应的行j收集得到的子矩阵)。最后,问题就可以形式化为:找到正交矩阵QQ,使得

Q=minQHiQHt,GiF2,Q=minQHiQHt,GiF2

该问题有闭式解Q=UVT,这里UΣVT(Hi)THt,Gi的奇异值分解(Q同理,这里和我们在博客《知识图谱实体对齐:无监督和自监督的方法》中所求解的问题类似)。这里所得到的解满足HiQHt,GiHiQHt,Gi。于是,我们可以通过使用HiQ,HiQ来代替Hi,Hi,以减少错位所导致的负面差距,最终获得更好的图增广。作者将此称为对齐

增广过滤 文章还提出了一个选择候选增广的策略,称为增广过滤。同embeddings对齐一样,这个也是个后处理步骤。考虑GiGi这两个视图,这两个视图由节点ai(节点aiGt中的自我中心网络为Gi)进行随机游走得到。设zGi=vjGihjzGi同理),则我们能够通过zGi,zGi的相似度来度量视图的相似度。作者规定只有当增广视图相似时才接受该对视图,以避免潜在的噪声增广:

zG,zGzGzG>1c,for some constant 0c1

正如上面的框架图所示,作者将这一过滤步骤和随机游走结合,以接受候选节点。这里值得注意的是应用相似性过滤在经验上表现得比其它的选择要好,比如多样性过滤。

参考

  • [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.
posted @   orion-orion  阅读(720)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示