paper

Introduction

本文提出了一种新型的Graph Contrastive Learning构造Contrastive pairs的方式,即将跨图的同维度特征作为positive pairs, 不同维度特征作为negative pairs。 和过去的GCL方法相比,本文无需互信息估计器(MI Estimator),映射头(Projector),不对称结构(asymmetric structures)。 并且理论证明了该方法可以看做Information Bottleneck 原则在自监督设置下的实例。

具体来说,受典型相关分析(From Canonical Correlation Analysis)的启发,本文提出了一种简单有效的GCL框架,从而是模型避免复杂难以理解多模块设计。 和过去的方法相同的是,为输入图以随机增强的方式生成两个view, 目的是为两个view学习共享的 node representations 通过共享的GNN Encoder。不同在于,本文利用了典型相关分析(CCA),具体来说,新目标旨在最大化同一输入的两个增强views之间的相关性,同时对单个视图表示的不同(特征)维度进行去相关(避免不同维度捕获相同信息,即同一个view内的不同维度channel互为negative pairs)。 这么做的目的是 1)本质上追求的是丢弃增强后变化的信息,同时保留增强后不变的信息,以及 2)防止维度崩溃(即不同维度捕获相同的信息)。

和其他方法的对比如上图所示, 本文提出的CCA-SSG无需negative pairs, 参数化的互信息估计器, projection head或者不对称结构。对比对的数量仅为O(D2), 其中D为输出维度。

Canonical Correlation Analysis

CCA: Identify and Quantify the associations between two sets of variables, 即CCA用来衡量两组随机变量的相关性,每组可能有很多Random Variables.

从相关系数引入:

Pearson 相关系数: 给定两组数据集XY。 其中XRN×1 表示只有一个随机变量(属性),样本数为NYRM×1: 一个随机变量,样本量为M。那么Pearson 相关系数ρ定义为: ρ(X,Y)=Cov(X,Y)σXσY 其中σXσY分别为XY的标准差。Cov(X,Y)X, Y的协方差。ρ[1,1]ρ越接近1, XY的线性相关性越高。ρ越接近0,XY的线性相关性月底。

相关系数存在问题:相关系数不适用于高维数据。 如果X是2维的(2个属性,例如身高和体重), Y也是2维的,属性为(跑步,跳远), XRN×2, YRM×2。此时,相关系数ρ無法計算2維隨機變量的相關程度。

CCA 基本思想

XY 为两个变量集合, 例如X中有两个随机变量(2维), Y中也有两个随机变量。 要衡量变量间的相关性: 现将高维随机变量(即多个随机变量)降到一维(一个随机变量),再用相关系数计算相关性。

X={x1,x2}Rn1×m, 表示n1=2个随机变量,m个样本。 Y={y1,y2}Rn2×m表示n2=2个随机变量,m个样本。

U为随机变量集合X的线性组合: U=a1x1+a2x2=[a1,a2][x1x2]=aX V为随机变量集合Y的线性组合: V=b1y1+b2x2=bY CCA的优化目标: 找到一组最优解ab, 使得ρU,V最大: argmaxa,bρU,V=Cov(U,V)σUσV 得到的a, b是使得XY有最大关联的权重。

CCA的表示与求解

输入:两个随机变量集合X={x1,,xn}, Y={y1,,ym}。 分别有n个和m个随机变量。

X是一个n×L的矩阵, 即有L个样本, n个属性(n个随机变量)。

Y是一个m×L的矩阵, L个样本, m个属性。

U=aXR1×L, V=bYR1×L, 分别将组高维随机变量转为一维。 目标函数为 argmaxa,bρU,V=argmaxa,bCov(U,V)σUσVΣXX=Cov(X,X)=Var(X)ΣYY=Cov(Y,Y)=Var(Y)ΣXY=Cov(X,Y)E[X]=μXRn×1 (样本均值), E[Y]=μYRm×1

定义X 为一个n个随机变量stack成的列向量: X=[x1xn]Rn×L Cn个scalars c1,,cn stack成的列向量: C=[c1cn] CX是这n个Random Variables的线性组合。 CX的方差为: Var(CX)=CΣXXC=CVar(X)C 那么Var(U)=Var(aX)=aVar(X)a

每个随机变量xi为数据的第i个特征,每列为一个样本XRn×L。 有L个样本, 对特征维度做标准化,也就是对每个维度xi做标准化, 可得E(xi)=0, Var(xi)=1Var(X)=E(XE(X))2=E([x1xn][μ1μn])2=E([x1xn]2)=E(XX) 所以Var(U)=aE(XX)a, 同理Var(V)=bE(YY)b。另外: E(aX)=E(a1x1++anxn)=a1E(x1)++anE(xn)=0 那么: Cov(U,V)=Cov(aX,bY)=E[aXE(aX),bYE(bY)]=E[aX,bY]=E[(aX)(bY)]=E[aXYb]=aE[XY]b

Var(X)=Cov(X,X)=E[XX]Var(Y)=Cov(Y,Y)=E[YY]Cov(X,Y)=E[XμX,YμY]=E[XY]=ΣXYCov(Y,X)=E[YX]

优化目标转化为: argmaxa,bρU,V=argmaxa,bCov(U,V)σUσV=argmaxa,baΣXYbaΣXXabΣYYb 若对ab同时放缩, 即a放缩k倍, b放缩l倍, 公式的值不会改变: kaΣXYlbkaΣXXkalbΣYYlb=aΣXYbaΣXXabΣYYb 所以, 可以直接对a做放缩,使得aΣXXa=1, 对b做放缩,使得bΣYYb=1(类似于SVM)。 那么优化目标转化为: maxa,baΣXYb, s.t. aΣXXa=bΣYYb=1 对于两个向量集合X1X2, CCA 寻求两组向量最大化它们的相关性,并受到它们彼此不相关的约束。 后来的研究通过用神经网络代替线性变换,将 CCA 应用于具有深度模型的多视图学习。 具体来说,假设 X1X2作为输入数据的两个视图,CCA的优化目标为: (1)maxθ1,θ2Tr(Pθ1(X1)Pθ2(X2)) s.t. Pθ1(X1)Pθ1(X1)=Pθ2(X2)Pθ2(X2)=I 其中, Pθ1Pθ2为两个Neural Network。尽管上式很精确,但这种计算确实很昂贵。Soft CCA 通过采用以下拉格朗日松弛, 消除了hard decorrelation constraint: minθ1,θ2Ldist (Pθ1(X1),Pθ2(X2))+λ(LSDL(Pθ1(X1))+LSDL(Pθ2(X2))) 其中Ldist 用于衡量两个view的representations之间的相关性,LSDL (stochastic decorrelation loss)计算Pθi(Xi)和identity matrix之间的L1距离。

Approach

模型包含3个模块 1. 随机图增强器T,2. GNN encoder fθ, 3. 基于CCA的feature-level对比损失。

Graph Augmentations

本文利用 edge droping和 node feature masking两种graph corruption方式来对输入图做增强。 T是所有可能的转换操作,tT表示图G的一种特定的转换。比如删除一条边的操作tr就是T中的一个变换。

Training

T随机采样两种图变换 tAtB。 生成两个View: G~A=(X~A,A~A)G~B=(X~B,A~B),经过共享的GNN后,得到输出ZA=fθ(X~A,A~A)ZB=fθ(X~B,A~B)。然后对feature dimensionzuo normalization (列标准化), 是的每个特征维度均值为0, 标准差为1/N

Z~=Zμ(Z)σ(Z)N

Inference

基于公式(1),使用公式(1)中的CCA目标函数,将向量集定义为输出Z~的列向量, 最终CCA-SSG的目标函数定义如下: L=||Z~AZ~B||F2invariance term +λ(||Z~AZ~AI||F2+||Z~BZ~BI||F2)decorrelation term  第二项中,要求不同特征之间的相似度尽可能低, 从而使得不同特征捕获不同的语义信息。