文献地址:https://arxiv.org/abs/2008.11416
摘要
- 图神经网络 (Graph Neural Network, GNN):一种流行的节点表示方法
- 目前的专注点:
- 保持图的 平滑性
- 保持节点表示的 可识别性
- 健壮的图节点表示:既能够抵抗轻微的输入扰动,还可以保持节点良好的区分度
- 对比图神经网络 (contractive graph neural network, CGNN):以 无监督 的方式学习健壮的节点表示,即通过一个对比学习目标 保持 稳定性 和 平滑性,同时还保留了现有GNN模型的 平滑性
- 特点:该方法得到的框架可以与其他现有的GNN模型配套使用
- 过程:
- 首先通过大量理论推导对CGNN的方法进行描述和公式推导
- 然后在实验方面从四个不同的角度进行广泛的验证,在转导和归纳学习设置下的基准测试证明,CGNN与最近的有监督和无监督方法相比能够在保持图的平滑度和节点表示的可识别性上取得更好的结果。
介绍
-
图节点表示的 平滑性 、可识别性 、稳定性
一个说明节点表示的图例-
是锚节点
-
是与锚节点
相关的点 【邻居】
-
是与锚节点
不相关的点 【非邻居】
- 使用子邻居表示锚节点
轻微变动的邻居
- 平滑性:节点
和节点
在嵌入空间中的距离尽可能近
- 可识别性:节点
和节点
在嵌入空间中的距离尽可能近
- 稳定性:对于轻微变动的邻居,节点
的表示是稳定的
-
-
实现方式:
- 平滑性 通过一个GNN模型进行维护,该GNN模型工作类似于特征提取器
- 可识别性 和 稳定性 由对比学习目标维护
-
对比学习目标
- 作用:在具有不同扰动的情况下,估计相同节点表示的高相似性,以及不同节点表示的低相似性
-
贡献:
- 研究了基于图上节点邻居抽样的鲁棒节点表示方法的局限性
- 提出了对照图神经网络CGNN,为众多图论算法的鲁棒性设计提供了一个新的视角
- CGNN的模型框架可以为GNN缓解过拟合问题的相关研究提供参考
相关工作
- 使用 卷积技术 通过图神经网络进行节点表示学习
- ChebNet:在谱域上定义快速且局部的卷积 Filter
- GCN:利用ChebNet中卷积的局部一阶逼近
- GraphSage:使用不同邻域的聚合函数,同时可以支持大规模归纳学习
- 有人提出上述的图卷积操作是低通滤波器,低通滤波器强调低频信号(有用信息)和高频信号(噪音)
- GraphHeat:增强低通滤波特性
- GAT:引入了注意力机制
- 使用 高级学习方案 通过图神经网络进行节点表示学习
- 存在的问题:图数据中存在噪音;有监督的数据难以获得
- 导致的结果:导致严重的过拟合问题
- 两个方面解决以上问题:
- 网络架构
- ResGCN:在GCN中引入残差连接
- 跳跃式知识网络:融合不同层的功能缓解过拟合问题
- 噪声扰动
- 使用Dropout
- DropEdge:边在图卷积之前以一定比例进行 Drop ,会生成不同的图连接扰动【数据增强】
- DGI:最大化节点表示和相应的高级图表示之间的互信息
- 网络架构
对比图神经网络
- 节点表示问题
- 定义:给定无向图
,其中
表示图中的节点,
表示节点之间的连接
- 邻接矩阵
,该矩阵及其稀疏,并且由0,1组成
- 目的:将节点表示为具有代表性的嵌入,其可以应用于其余的任务【节点分类】
- 定义:给定无向图
抽样邻居的稳定性
- 实现稳定性的直观方法:从具有轻微变化的输入中强制得到节点表示,使得该节点表示与真是节点表示相似
- 我们的方法:在节点扰动不同时,在同一节点表示之间得到 稳定性
- 换句话说:任意给定一个锚点
, 将该节点的原始邻居表示为
,为了在邻居
上制造扰动, 我们以
的几率随机丢弃
的边,令
是带有
的
的分布,在每一step中,得到
的多样本的稳定性是计算效率低下的,我们的方法是采用等效的方法,在不同的steps中 ,在
中的每两个随机样本之间得到稳定性,然后,如果我们将
和
考虑为
的子邻居的话,即有
,其中
和
是两个不同的子邻居,因为它们是在两个独立的步骤中随机drop得到的结果。令
是具有平滑特性的GNN 框架,我们可以得到
,
,其中
和
分别是来自于
和
的锚节点表示。
稳定性和可识别性的对比损失
-
得到稳定性和可识别性:我们在CGNN中使用对比损失
- 稳定性:相同的节点在不同的扰动下可以得到高度相似的节点表示
- 可识别性:不同的节点在不同的扰动下得到不同的节点表示
-
CGNN的整体架构图:
CGNN架构图-
是相似的表示【同一节点】,
是不同表示【不同节点】。
-
和
之间的标准闭信号表示为
- 其中
表示分数函数——成对的样本分数较高,不成对的样本分数较低
-
表示为配对样本的数目
- 分数函数的实现
- 其中
表示控制分数函数的随机性
- 使用
替换 公式
中的
,此时得到公式:
- 最终的对比损失表示
,其中
是GNN框架模型的唯一的参数
- 最终得到的
本质上是一个估计器,用来最大化
和
之间的互信息,即
-
是
的下边界,
越大,下边界越小
- 最小化
实际上就是在某个特定方向上最大化
和
之间的互信息
- 在那一个方向上,成对的节点表示比未成对的节点表示更相似或相关
-
近似噪声对比估计
上述公式中存在的问题:在
值较大的情况下,
和
公式中的
操作计算效率低下
解决方案:使用 噪声对比估计 (Noise contrastive estimation, NCE)
NCE 是用来估计非标准化统计模型的收敛估计
NCE 的基本思想:使用非线性逻辑回归去判别 观察到的数据 和 人工加入噪音后 的数据
公式说明:
对于
是一个变量
二进制潜变量
-
的概率表示:
-
表示数据分布
-
表示噪声分布,并且
-
我们使用非归一化模型
代替
,并且
满足伯努利分布,即可以得到
的 NCE表达:
同样,可以分别得到
和
:
最终目标函数
方式:具有多个邻居的同一节点的表示为正样本,不同节点的表示为负样本。通过分区正负样本,NCE目标 学习同一节点不同变体的共同因素,同时识别出不相关因素
加速训练的策略
-
DropEdge 采样策略:
- 训练 epochs 为
- 构造
个节点的各个子邻居的复杂度为
- DropEdge:在每个epoch中随机在邻接矩阵A上丢弃一些边
- 然后将具有轻微扰动的邻接矩阵
和
用于训练模型 【而不是使用原来的
和
】
- 训练 epochs 为
-
Memory Bank 策略:
- 为了有效地为
采得 K 个噪声样本
- 所有节点的潜特征都存储在内存中,在损失反向传播中进行同步更新
- 使用这种方式可以动态地优化目标函数
- 为了有效地为
基于小图的取样
- NCE 估计是一个低方差高偏差的估计量,即需要采样大小K足够大才能得到紧密的下界【为了收敛】
- 对于图上任意一个节点
- 较大的采样大小 K 会导致得到
的相似表示的风险,因而造成错误的对比信号
- 给定一个具有 N 个节点的图 G
- K 表示为采样的未配对节点的集合
- M 表示在嵌入空间中具有相似表示的节点的集合
- 命题:
- 对于图 G 中的一个任意节点
- 在 K 上取得相似的节点的风险为
- 当 N 大 M 小时,可以得到低风险
- 其中
表示集合的长度
- 当数据集太小或者节点
的相似节点数太大时,将会在错误方向优化公式
- 对于图 G 中的一个任意节点
与其他方法的比较
- 以前的GNN模型能够保留平滑性特点
- 对于有监督的GNN方法
- 可识别性可以通过足够的标签来保留 【需要耗费大量的人力来标注】
- 我们的方法在保留 稳定性 的同时,还以无监督的方式学习了健壮的节点表示
- DGI 是一种基于最大化互信息的无监督学习方法
- 最大化节点表示形式和相应的高级图表示形式之间的互信息
- 在保留节点高阶信息的同时还得到了更好的平滑性
- CGNN 最大化具有不同扰动的相同节点表示的互信息,通过对比目标,保持稳定性和可识别性
实验和分析
数据集描述
-
四个基准数据集
四个基准数据集 -
数据集说明
- Pubmed:广泛使用的引文网络
- Facebook:一个网页数据集
- 节点:网页首页
- 边:站点之间的连接
- Coauthor-CS / Coauthor-Phy:合著者数据集
-
设置:
- 对于 Pubmed, Facebook, Coauthor-CS,我们进行转导学习,在训练过程中,可以访问所有节点机器原始特征
- 对于 Coauthor-Phy,我们进行归纳学习,即在训练期间没有使用测试节点
-
数据划分
- 对于Pubmed, 使用半监督学习的常见数据划分
- 对于Faceboook和Coauthor-CS,我们使用 每个类别的20个节点是训练集,每个列表的30个节点是验证集,其余的是测试集
- 对于Coauthor-Phy,随机抽取20000个节点作为训练集,并抽取5000个节点作为验证集,其余的作为测试集
实验设置
-
基准
- 有监督方法:
- GCN
- JKNet
- GraphSage
- GAT
- ResGCN
- DropEdge
- 无监督方法:
- DGI
- 有监督方法:
-
参数设置
- 维度设置:128
- 迭代:学习率为0.001迭代5000次
- drop 比率:
- temperature:
- 采样大小:
节点分类性能
-
性能比较表格
性能比较
表示稳定性可视化
-
在Facebook数据集上的表示稳定性比较
稳定性比较- 较深的颜色表示具有更大的相似性
- 颜色越深还说明在输入上有轻微的扰动节点表示更加稳定
表示平滑性和可识别性可视化
-
在Coauthor-CS上学习到的节点表示的t-sne可视化
t-sne可视化- CGNN 可以学习到更多的聚类和判别性节点表示
- 即来自同一聚类的节点表示是平滑的,不同聚类的节点表示是可区分的
已学习到的节点表示的效果
-
在 Facebook 上学习到的节点表示的效果
节点表示效果
结论和未来工作
-
提出了 CGNN
- 基于图节点的邻居进行取样来研究鲁棒性表示
- 通用框架,可以为许多图算法的健壮设计提供见解
使用 CGNN 可以学习到更加强大节点表示形式,从而减轻过拟合的问腿
-
存在的不足:
- 不成对样本的采样方式是随机采样,可能导致采得锚点的相似表示进而构造错误的对比信号的风险
说明
一些额外的知识见文献附录