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或者不对称结构。对比对的数量仅为, 其中为输出维度。
Canonical Correlation Analysis#
CCA: Identify and Quantify the associations between two sets of variables, 即CCA用来衡量两组随机变量的相关性,每组可能有很多Random Variables.
从相关系数引入:
Pearson 相关系数: 给定两组数据集, 。 其中 表示只有一个随机变量(属性),样本数为。 : 一个随机变量,样本量为。那么Pearson 相关系数定义为:
其中,分别为和的标准差。为, 的协方差。。 越接近1, 和的线性相关性越高。越接近0,和的线性相关性月底。
相关系数存在问题:相关系数不适用于高维数据。 如果是2维的(2个属性,例如身高和体重), 也是2维的,属性为(跑步,跳远), , 。此时,相关系数無法計算2維隨機變量的相關程度。
CCA 基本思想#
和 为两个变量集合, 例如中有两个随机变量(2维), 中也有两个随机变量。 要衡量变量间的相关性: 现将高维随机变量(即多个随机变量)降到一维(一个随机变量),再用相关系数计算相关性。
令, 表示个随机变量,个样本。 表示个随机变量,个样本。
为随机变量集合的线性组合:
为随机变量集合的线性组合:
CCA的优化目标: 找到一组最优解和, 使得最大:
得到的, 是使得与有最大关联的权重。
CCA的表示与求解#
输入:两个随机变量集合, 。 分别有个和个随机变量。
是一个的矩阵, 即有个样本, 个属性(个随机变量)。
是一个的矩阵, 个样本, 个属性。
, , 分别将组高维随机变量转为一维。 目标函数为
设 , , , (样本均值), 。
定义 为一个个随机变量stack成的列向量:
为个scalars stack成的列向量:
是这个Random Variables的线性组合。 的方差为:
那么。
每个随机变量为数据的第个特征,每列为一个样本。 有个样本, 对特征维度做标准化,也就是对每个维度做标准化, 可得, 。
所以, 同理。另外:
那么:
优化目标转化为:
若对, 同时放缩, 即放缩倍, 放缩倍, 公式的值不会改变:
所以, 可以直接对做放缩,使得, 对做放缩,使得(类似于SVM)。 那么优化目标转化为:
对于两个向量集合和, CCA 寻求两组向量最大化它们的相关性,并受到它们彼此不相关的约束。 后来的研究通过用神经网络代替线性变换,将 CCA 应用于具有深度模型的多视图学习。 具体来说,假设 和作为输入数据的两个视图,CCA的优化目标为:
其中, 和为两个Neural Network。尽管上式很精确,但这种计算确实很昂贵。Soft CCA 通过采用以下拉格朗日松弛, 消除了hard decorrelation constraint:
其中用于衡量两个view的representations之间的相关性, (stochastic decorrelation loss)计算和identity matrix之间的距离。
Approach#

模型包含3个模块 1. 随机图增强器,2. GNN encoder , 3. 基于CCA的feature-level对比损失。
Graph Augmentations#
本文利用 edge droping和 node feature masking两种graph corruption方式来对输入图做增强。 是所有可能的转换操作,表示图的一种特定的转换。比如删除一条边的操作就是中的一个变换。
Training#
从随机采样两种图变换 和。 生成两个View: 和,经过共享的GNN后,得到输出,。然后对feature dimensionzuo normalization (列标准化), 是的每个特征维度均值为0, 标准差为:
Inference#
基于公式(1),使用公式(1)中的CCA目标函数,将向量集定义为输出的列向量, 最终CCA-SSG的目标函数定义如下:
第二项中,要求不同特征之间的相似度尽可能低, 从而使得不同特征捕获不同的语义信息。