论文解读(GLA)《Label-invariant Augmentation for Semi-Supervised Graph Classification》
论文信息
论文标题:Label-invariant Augmentation for Semi-Supervised Graph Classification
论文作者:Han Yue, Chunhui Zhang, Chuxu Zhang, Hongfu Liu
论文来源:2022,NeurIPS
论文地址:download
论文代码:download
1 Introduction
我们提出了一种图对比学习的标签不变增强策略,该策略涉及到下游任务中的标签来指导对比增强。值得注意的是,我们不生成任何图形数据。相反,我们在训练阶段直接生成标签一致的表示作为增广图。
2 Methodology
2.1 Motivation
数据增强在神经网络训练中起着重要的作用。它不仅提高了学习表示的鲁棒性,而且为训练提供了丰富的数据。
例子:(使用 $50%$ 的标签做监督信息。数据增强:node dropping, edge perturbation, attribute masking, subgraph sampling)

显然有些数据增强策略(或组合)对于模型训练又负面影响。本文进一步使用 MUTAG 中的 $100%$ 标签训练模型,然后以每种数据增强抽样概率 $0.2$ 选择数据增强图,发现 80% 的数据增强图和原始图标签一致,约 $20%$ 的数据增强图和原始图标签不一致。
2.2 Label-invariant Augmentation
整体框架:

四个组成部分:
- Graph Neural Network Encoder
- Classifier
- Label-invariant Augmentation
- Projection Head
出发点:对于一个有标记的图,我们期望由增强表示预测的标签与地面真实标签相同。
2.2.1 Graph Neural Network Encoder
GCN layer :
其中:
- $G^{(l)}$ denotes the matrix in the l -th layer, and $G^{(0)}=X$
- $\sigma(\cdot)=\operatorname{ReLU}(\cdot)$
池化 (sum):
$H=\operatorname{Pooling}(G)\quad\quad\quad\quad(2)$
2.2.2 Classifier
基于图级表示,我们使用带有参数 $\theta_{C}$ 的全连接层进行预测:
$C^{(l+1)}=\operatorname{Softmax}\left(\sigma\left(C^{(l)} \cdot \theta_{C}^{(l)}\right)\right)\quad\quad\quad\quad(3)$
其中,$C^{(l)}$ 表示第 $l$ 层的嵌入,输入层 $C^{(0)}=H^{O}$ 或 $C^{(0)}=H^{A}$ 分别表示原始表示和增强图表示。实验中,采用了一个 2 层多层感知器,得到了对原始表示 $H^{O}$ 和增强表示 $H^{A}$ 的预测 $C^{O}$ 和 $C^{A}$。
2.2.3 Label-invariant Augmentation
不对图级表示做数据增强,而是在原始图级表示$H^{O}$上做微小扰动得到增强图级表示。
在实验中,首先计算所有图的原始表示的质心,得到每个原始表示与质心之间的欧氏距离的平均值为 $d$,即:
$d=\frac{1}{N} \sum_{i=1}^{N}\left\|H_{i}^{O}-\frac{1}{N} \sum_{j=1}^{N} H_{j}^{O}\right\|\quad\quad\quad\quad(4)$
然后计算增强图表示 $H^{A}$:
$H^{A}=H^{O}+\eta d \Delta\quad\quad\quad\quad(5)$
其中 $\eta$ 缩放扰动的大小,$\Delta$ 是一个随机单位向量。
为实现标签不变增强,每次,随机生成多个扰动,并选择符合标签不变属性的合格候选增强。在这些合格的候选对象中,选择了最困难的一个,即最接近分类器的决策边界的一个,以提高模型的泛化能力。
2.2.4 Projection Head
使用带有参数 $\theta_{P}$ 的全连接层,从图级表示中得到对比学习的投影,如下所示:
$P^{(l+1)}=\sigma\left(P^{(l)} \cdot \theta_{P}^{(l)}\right) \quad\quad\quad\quad(6)$
采用一个 2 层多层感知器,从原始表示 $H^{O}$ 和增广表示 $H^{A}$ 中得到投影 $P^{O}$ 和 $P^{A}$。
2.2.5 Objective Function
目标函数包括对比损失和分类损失。对比损失采用 NT-Xent,但只保留正对部分如下:
$\mathcal{L}_{P}=\frac{-\left(P^{O}\right)^{\top} P^{A}}{\left\|P^{O}\right\|\left\|P^{A}\right\|} \quad\quad\quad\quad(7)$
对于分类损失,采用交叉熵,其定义为:
$\mathcal{L}_{C}=-\sum_{i=1}^{c}\left(Y_{i}^{O} \log P_{i}^{O}+Y_{i}^{O} \log P_{i}^{A}\right) \quad\quad\quad\quad(8)$
其中,$Y^{O}$ 是输入图的标签,$c$ 是图类别的数量。本文只计算带标签的图的 $\mathcal{L}_{C}$。$\text{Classifier}$ 的改进将有助于标签不变的增强,反过来有利于分类器的训练。
结合等式 $\text{Eq.7}$ 和 $\text{Eq.8}$ ,总体目标函数可以写成如下:
$\underset{\Theta}{\text{min}} \quad\mathcal{L}_{P}+\alpha \mathcal{L}_{C}\quad\quad\quad\quad(9)$
3 Experiments

3.2 Semi-supervised graph classification results

3.3 Algorithmic Performance
3.4 In-depth Exploration
现有的图对比学习方法将来自不同源样本的增广图视为负对,并对这些负对采用实例级判别。由于这些方法分离了 pre-train 阶段和 fine-tuning 阶段,因此负对包含了来自不同源样本的增强样本,但在下游任务中具有相同的类别。
Figure 4(a) 显示了我们在四个数据集上有负对和没有负对的 GLA 的性能。可以看到,与没有负对的默认设置相比,有负对的性能显著下降,而负对在所有四个数据集上都表现一致。与现有的图对比方法不同,GLA 集成了预训练阶段和微调阶段,其中以自监督的方式设计的负对不利于下游任务。这一发现也与最近的[10,9]在视觉对比学习领域的研究结果相一致。

4 Conclusion
本文研究了图的对比学习问题。从现有的方法和训练前的方法不同,我们提出了一种新的图标签不变增强(GLA)算法,该算法集成了训练前和微调阶段,通过扰动在表示空间中进行标签不变增强。具体来说,GLA首先检查增广表示是否服从标签不变属性,并从合格的样本中选择最困难的样本。通过这种方法,GLA在不生成任何原始图的情况下实现了对比增强,也增加了模型的泛化。在8个基准图数据集上的半监督设置下的广泛实验证明了我们的GLA的有效性。此外,我们还提供了额外的实验来验证我们的动机,并深入探讨了GLA在负对、增强空间和策略效应中的影响因素。
论文解读(GLA)《Label-invariant Augmentation for Semi-Supervised Graph Classification》的更多相关文章
- 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》
论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...
- 论文解读(GIN)《How Powerful are Graph Neural Networks》
Paper Information Title:<How Powerful are Graph Neural Networks?>Authors:Keyulu Xu, Weihua Hu, ...
- 论文解读(GraphMAE)《GraphMAE: Self-Supervised Masked Graph Autoencoders》
论文信息 论文标题:GraphMAE: Self-Supervised Masked Graph Autoencoders论文作者:Zhenyu Hou, Xiao Liu, Yukuo Cen, Y ...
- 论文解读(SEP)《Structural Entropy Guided Graph Hierarchical Pooling》
论文信息 论文标题:Structural Entropy Guided Graph Hierarchical Pooling论文作者:Junran Wu, Xueyuan Chen, Ke Xu, S ...
- 论文解读(SUBLIME)《Towards Unsupervised Deep Graph Structure Learning》
论文信息 论文标题:Towards Unsupervised Deep Graph Structure Learning论文作者:Yixin Liu, Yu Zheng, Daokun Zhang, ...
- 论文解读(GSAT)《Interpretable and Generalizable Graph Learning via Stochastic Attention Mechanism》
论文信息 论文标题:Interpretable and Generalizable Graph Learning via Stochastic Attention Mechanism论文作者:Siqi ...
- 论文解读(GMT)《Accurate Learning of Graph Representations with Graph Multiset Pooling》
论文信息 论文标题:Accurate Learning of Graph Representations with Graph Multiset Pooling论文作者:Jinheon Baek, M ...
- 论文解读(ClusterSCL)《ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs》
论文信息 论文标题:ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs论文作者:Yanling Wang, Jing ...
- 论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》
论文信息 论文标题:Predict then Propagate: Graph Neural Networks meet Personalized PageRank论文作者:Johannes Gast ...
- 论文解读(DropEdge)《DropEdge: Towards Deep Graph Convolutional Networks on Node Classification》
论文信息 论文标题:DropEdge: Towards Deep Graph Convolutional Networks on Node Classification论文作者:Yu Rong, We ...
随机推荐
- redis安装与连接
安装(centos7): yum install redis 启动与停止: systemctl start redis. service systemctl stop redis.service 修改 ...
- bs4爬虫的一点心得----坑
bs4 里提取a标签里的坑啊 今天遇到了一个很坑的事情 使用bs4(全称:BeautifulSoup)提取一个网页里所有a标签里的href属性 比较坑的地方是这个网页里有的a标签里没有href属性,所 ...
- Docker与GU 安装管理配置
Linux 下的 Docker 安装与使用 一.安装与配置 1.安装依赖包 1 sudo yum install -y yum-utils device-mapper-persistent-data ...
- 深入理解 Spring 事务:入门、使用、原理
大家好,我是树哥. Spring 事务是复杂一致性业务必备的知识点,掌握好 Spring 事务可以让我们写出更好地代码.这篇文章我们将介绍 Spring 事务的诞生背景,从而让我们可以更清晰地了解 S ...
- KingbaseES应对表年龄增长过快导致事务回卷
背景 前几天碰到这样一个场景,在KingbaseES数据库当作数据同步节点.其特点是接收过来的数据量巨大,其更新超级频繁,最大的数据库达到6TB.这还不是主要的,主要导致问题发生原因是同步数据库有很多 ...
- Docker安装Redis并使用Another Redis Desktop Manager连接
Redis简单介绍 Redis全称是Remote DIctionary Service,即远程字典服务.Redis 是一个使用C语言编写的.开源的(遵守 BSD 协议).高性能的.支持网络.可基于内存 ...
- k8s 中的 Pod 细节了解
k8s中Pod的理解 基本概念 k8s 为什么使用 Pod 作为最小的管理单元 如何使用 Pod 1.自主式 Pod 2.控制器管理的 Pod 静态 Pod Pod的生命周期 Pod 如何直接暴露服务 ...
- 使用KVM的命令行方式安装centos7虚拟机
前提条件 1.宿主机上已经安装KVM软件,参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/15538881.html 2.已经上传centos7镜像到宿主机里 ...
- 在 Linux 中找出 CPU 占用高的进程
列出系统中 CPU 占用高的进程列表来确定.我认为只有两种方法能实现:使用 top 命令 和 ps 命令.出于一些理由,我更倾向于用 top 命令而不是 ps 命令.但是两个工具都能达到你要的目的,所 ...
- Windows界面个人常用快捷键
分享一下个人常用快捷键. 说明:字母排序规则遵循字母表(a->z) 快捷键 介绍 windows+d 由当前应用直接返回桌面,再按一次回到应用 windows+e 打开文件资源管理器 windo ...