©作者 | 刘纪玺

单位 | 北邮GAMMA Lab

来源 | 北邮GAMMA Lab

本文旨在简要总结近期在 graph 领域新提出的数据增广方法,带领读者了解图数据增广的基本定义和最新进展。

简介

近年来,以数据为驱动的推理在数据增广技术的引进后,泛化能力和模型性能方面得到了显着提升。数据增广技术通过创建现有数据的合理变体而无需额外的真实标签来增加训练数据量,并且已在计算机视觉(CV)和自然语言处理(NLP)得到广泛应用。

而随着图神经网络等图机器学习方法的快速发展,人们对图数据增广技术(GDA)的兴趣和需求不断增加。但由于图数据的不规则和非欧结构,很难将 CV 和 NLP 中使用的数据增广技术(DA)直接应用到 graph 领域。

此外,图机器学习面临着独特的挑战,例如特征数据的不完整性,幂律分布带来的结构数据稀疏性,由于人工标注的昂贵成本所导致的标记数据的缺乏,以及 GNN 中消息传递会导致的过度平滑。为了应对这些挑战,关于图数据增广的工作越来越多。

类似于 CV 和 NLP 的数据增广技术,图数据增广技术通过修改或生成来创建数据对象。然而,由于图是连接数据,与图像和文本不同,图机器学习中的数据对象通常是非独立同分布的。因此,无论是节点级和边级,抑或是图级别的任务,图数据增广技术往往会对整个图数据集做出改动。

基于此,GraphCL(NIPS 2020)提供了最常用的四种增广策略,分别是节点丢弃(Node Dropping),边扰动(Edge Puturbation),属性掩膜(Attribute masking)和子图采样(Subgraph Sampling)。虽然上述尝试将数据增广应用到了 Graph 中,但它们通常无法生成关于原始图语义的视图或使增广策略来适应特定的图学习任务。

下面将分别介绍近期提出的三篇工作:一种新的增广策略,一种自动选择已有增广策略的自动图对比学习方法,以及一种将元学习应用到图数据增广的可学习增广方法。

方法介绍

2.1 -Mixup

论文标题:

G-Mixup: Graph Data Augmentation for Graph Classification

论文链接:

https://arxiv.org/pdf/2202.07179.pdf

文章来自获得杰出论文奖的莱斯大学胡侠团队作者:

Xiaotian Han、Zhimeng Jiang、Ninghao Liu、Xia Hu

在这项研究中,作者提出了一种新的图数据增广方法:-Mixup,实验表明,-Mixup 能够提高图神经网络的泛化性和鲁棒性。

2.1.1 动机

当前流行的数据增广方法 Mixup 通过在两个随机样本之间插入特征和标签,在提高神经网络的泛化性和鲁棒性方面显示出优越性。但是,Mixup 更适用于处理图像数据或表格数据,直接将其用于图数据并非易事,因为不同的图通常:

  • 有不同数量的节点;

  • 不容易对齐;

  • 在非欧几里得空间中的类型学具有特殊性。

为此,提出了一种 class-level 的图数据增广方法:-Mixup。具体来说,首先使用同一类中的图来估计一个 graphon。然后,在欧几里得空间中对不同类的 graphons 进行插值,得到混合的 graphons,合成图便是通过基于混合 graphons 的采样生成的。经实验评估,-Mixup 显着提高了图神经网络的泛化性和鲁棒性。

2.1.2 主要贡献

1. 首先,本文提出了 G-Mixup 来扩充用于图分类的训练图。由于直接混合图是难以处理的,因此 G-Mixup 将不同类别的图的图元混合以生成合成图。

2. 其次,本文从理论上证明合成图将是原始图的混合,其中源图的关键拓扑(即判别主题)将被混合。

3. 最后,本文证明了所提出的 G-Mixup 在各种图神经网络和数据集上的有效性。大量的实验结果表明,G-Mixup 在增广图神经网络的泛化性和鲁棒性方面显著提高了其性能。

2.1.3 -Mixup的实现方法

作者使用矩阵形式的阶进函数作为 graphon 来混合和生成合成图。对阶跃函数估计方法,作者首先根据节点测量值将节点对齐在一组图中,然后从所有对齐的邻接矩阵中估计阶跃函数。

与图像数据在欧氏空间中的插值不同,由于图是不规则的、不对齐的、非欧氏的数据,所以对图数据的插值不是一件简单的事情。本文证明了这些挑战可以用 graphon 理论来解决。直观地说,一个图可以看作是一个图生成器。同一类的图可以看作是从同一个图上生成的。考虑到这一点,本文提出了 G-Mixup,一种通过图形插值的类级数据增广方法。

-Mixup 对不同的图生成器进行插值,得到一个新的混合图生成器。然后,基于混合 graphon 对合成图进行采样,实现数据扩充。从该生成器中采样的图部分具有原始图的性质。形式上,G-Mixup 的表达式为:

其中 是图集 和 的 graphons。混合 graphon 由 表示, 是控制不同源集贡献的权值超参数。由 生成的合成集合 和 分别是包含图 和图 的真实标签的向量, 其中 为类的数量。图集 中合成图的标签向量记为 。如图 1 和上面的方程所示,提出的 G-Mixup 包括三个关键步骤:

1)为每一类图估计一个 graphon;

2)混合不同图类的 graphons;

3)基于混合 graphons 生成合成图。

具体来说,假设我们有两个图集,标签 , 标签为 。Graphons 和 分别从图集 和 中估计。然后,我们通过线性揷值两个 graphons 及其标签将它们混合,得到 和 。最后,基于 对一组合成图 进行采样,作为额外的训练图数据。

▲ 图 1:在二值图分类任务中,有两类不同的图 G 和 H,二者拓扑不同(G 有两个社区,而 H 有八个社区)。G 和 H 具有不同的 graphons。

Graphon 估计和混合:graphon 是一个末知函数,没有真实图形的封闭表达式。因此 ,我们使用阶进函数来近似 graphon。一般来说。阶梯函数可以看成是一个矩阵 ,其中 是节点 和节点 之间存在边的概率。

在实践中,我们使用矩阵形式的阶梯函数作为 graphon 来混合并生成合成图。阶进函数估计方法已经得到了很好的研究,该方法首先根据节点测量值(如度)对一组图中的节点进行对齐,然后从所有对齐的邻接矩阵中估计阶进函数。典型的阶进函数估计方法包括排序和平滑(SAS)方法,随机块逼近(SBA),“最大差距”(LG),矩阵完成(MC),通用奇异值阈值(USVT)。

在形式上,一个阶进函数被定义为 ,其中 表示将 划分成长度为 的 个相邻区间,如果 ,则指示函数 ,否则为 0 。

对于二分类问题,我们有   和具有不同的标签,我们估计他们的阶进函数 和 ,其中我们让 为所有图中节点的平均数量。对于多类分类,我们首先估计每一类图的阶进函数,然后随机选择两类图进行混合。所得的阶进函数 ,作为合成图的生成器。

合成图生成:graphon  提供了一个分布来生成任意大小的图。具体来说, 节点随机图 的生成过程如下:

我们设 。第一步在 上独立于均匀分布 对 K 个节点进行采样。第二步生成邻接矩阵 ,其元素值遵循由阶梯函数确定的伯努利分布 。由此得到一个图 ,其中 和 。通过多次执行上述过程,可以生成一组合成图。

合成图节点特征的生成包括两个步骤:

1)基于原始节点特征构建 graphon 节点特征;

2)基于 graphon 节点特征生成合成图节点特征。

具体来说,在 graphon 估计阶段,我们在对齐邻接矩阵的同时对齐原始节点特征,因此我们对每个 graphon 都有一组对齐的原始节点特征,然后我们对对齐的原始节点特征进行池化(在我们的实验中是平均池化),获得图形节点特征。生成的图的节点特征与 graphon 特征相同。

2.2 AutoGCL

论文标题:

AutoGCL: Automated Graph Contrastive Learning via Learnable View Generators

论文链接:

https://arxiv.org/abs/2109.10259

论文作者:

Yin, Yihang and Wang, Qingzhong and Huang, Siyu and Xiong, Haoyi and Zhang, Xiang

代码链接:

https://github.com/Somedaywilldo/AutoGCL

2.2.1 动机

对比学习已广泛应用于图表示学习,其中视图生成器在生成有效对比样本方面起着至关重要的作用。大多数现有的对比学习方法采用预定义的视图生成方法,例如节点丢弃或边缘扰动,通常不能很好地适应输入数据或保留原始语义结构。为了解决这个问题,本文提出了一个名为自动图对比学习(AutoGCL)的新框架。

2.2.2 主要贡献

  • 提出了一个图形对比学习框架,其中可学习的图形视图生成器嵌入到自动增广策略中。据我们所知,这是第一项为图对比学习构建可学习的生成节点增广策略的工作。

  • 提出了一种联合训练策略,用于在图对比学习的背景下以端到端的方式训练图视图生成器、图编码器和图分类器。

  • 本文在具有半监督、无监督和迁移学习设置的各种图形分类数据集上广泛评估了所提出的方法。t-SNE 和视图可视化结果也证明了方法的有效性。

2.2.3 论文方法

如何设计一个好的图视图生成器

一个理想的用于数据扩展和对比学习的图视图生成器应该满足以下特性:

(1)同时支持增广图拓扑结构以及结点特征。

(2)具有标签保持性,即增广图应保持原图的语义信息。

(3)适应不同的数据分布,可扩展到大型图。

(4)为对比多视图训练前提供足够的方差。

(5)它是端到端可微的,对于反向传播(BP)梯度快速计算足够有效。

本文的视图生成器(增广策略)包括:结点丢弃和特征掩膜,但又比这两种方法更为的灵活,因为可以自适应的选择。

可学习的视图生成器

视图生成器如上图所示。首先使用 GNN 来从结点特征获得结点嵌入。对于每一个结点,使用结点的嵌入结点特征来预测选择一个数据增广方法的概率。结点数据增广的方法包括:丟弃节点,保持不变和属性掩膜。本文使用 gumbel-softamx 从这些概率中采样,相当于自适应地从三种方法中选择最优的增广策略,然后给每个节点分配一个增广操作。

如果采用 个 GNN 层作为嵌入层,那么将 记为结点 在第 层的隐藏状态, 记为结点 在第 层的嵌入。对于每一个结点 都有结点特征 ,增广选择 以及应用数据增广的函数 。结点 的增广特征 通过以下公式获得:

将最后一层 的维度设为每个节点的可能增广次数。 记作选择某种数据增广的概率。 是通过 gumbel-softmax 得到的分布中采集的 one-hot 向量。增广应用函数 通过不同的操作结合结点 和 。

对于增广后的图谱,边缘通过对所有的 使用操作 进行更新,当结点被移除时,边也被删除。由于边缘只是节点特征聚合的指导,不参与梯度计算,因此不需要以可微的方式更新。因此,视图生成器是端到端可微的。GNN 嵌入层和 gumbel-softmax 可以有效地扩展到更大的图数据集和更多的扩展选择。

2.3 MEGA

论文标题:

Bootstrapping Informative Graph Augmentation via A Meta Learning Approach

论文链接:

https://arxiv.org/pdf/2201.03812.pdf

论文作者:

Hang Gao, Jiangmeng Li, Wenwen Qiang, Lingyu Si, Fuchun Sun, Changwen Zheng

代码链接:

https://github.com/hang53/MEGA

2.3.1 动机

在图对比学习中,各种基准方法也都应用了各种图增广的方法。然而,大多数增广方法都是不可学习的,这会导致生成无益的增广图的问题。这种增广可能会降低图形对比学习方法的表示能力。

因此,本文使用可学习的图增广器生成增广图,称为 MEta 图增广(MEGA)。一个“好的”图形增广必须在实例级别具有一致性,在特征级别具有信息量。为此,本文据此提出了一种学习图形增广器的新方法,该方法可以生成具有均匀性和信息量的增广。图增广器的目标是促进特征提取网络学习更具辨别力的特征表示,本文的方法结合了元学习范式来达成该目标。

2.3.2 主要贡献

  • 本文提出了一种可学习的方法来生成信息图扩充,称为元图扩充,它提高了图对比学习的性能。

  • 本文提出了一种辅助元学习方法来训练可学习的图形增广器,它引导编码器学习在实例级别具有均匀性和在特征级别具有信息量的表示。

  • 本文在基准数据集上进行实验,将方法与最先进的图自监督学习方法进行比较,结果证明了该方法的优越性。

2.3.3 MEGA模型

框架

Learnable graph augmentation

该方法核心的部分为 Learnable graph augmentation,该部分由一个 GNNencoder 和 一个  MLP 组成,该工作中   MLP 使用的是两个线性层和一个 Relu 激活函数来引入了非线性因素,原图和增广图都是使用的加入了自信息的邻接矩阵,将原图和经过可学习增广器后得到的增广图用共享参数的  GNNencoder 以及 projection head 映射后进行对比学习,得到对比学习的 loss :

Auxiliary meta-learning

用元学习的 pipeline 来看,该对比学习过程作为内层学习器,而外层元学习器的 loss,则分别引入了实例级别和 feature 级别的目标来指导训练。

C 表示一个 batch 中原始图和增广图的图级别的特征之间的互相关矩阵:

D 表示图级别的特征中,某两个特征维度之间的关系,这是用一个 batch 中所有的图来计算的:

由此可以定义元学习 loss :

总结

这三篇工作分别提出一种新的增广策略,一种自动选择增广策略的自动图对比学习方法,以及一种将元学习应用到图数据增广的可学习增广方法,对图数据增广的自动学习和新的增广策略进行了深入的探究。由此可见,用新的图增广策略和可适应的自动图增广能够解决当前对比学习存在的一些问题并取得很好的效果,也启发我们能够在该领域进行更加深入的研究。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

一文盘点图数据增广 (Graph Data Augmentation) 近期进展相关推荐

  1. 图数据增广(Graph Data Augmentation)近期进展

    本文旨在简要总结近期在 graph 领域新提出的数据增广方法,带领读者了解图数据增广的基本定义和最新进展. 1 简介 近年来,以数据为驱动的推理在数据增广技术的引进后,泛化能力和模型性能方面得到了显着 ...

  2. Pytorch 数据增广(Data Augmentation)

    Pytorch 数据增广(Data Augmentation) 0. 环境介绍 环境使用 Kaggle 里免费建立的 Notebook 教程使用李沐老师的 动手学深度学习 网站和 视频讲解 小技巧:当 ...

  3. 【工大SCIR笔记】自然语言处理领域的数据增广方法

    点击上方,选择星标或置顶,每天给你送干货! 作者:李博涵 来自:哈工大SCIR 1.摘要 本文介绍自然语言处理领域的数据增广方法.数据增广(Data Augmentation,也有人将Data Aug ...

  4. 自然语言处理领域的数据增广方法

    1.摘要 本文介绍自然语言处理领域的数据增广方法.数据增广(Data Augmentation,也有人将Data Augmentation翻译为"数据增强",然而"数据增 ...

  5. PRML第十一章读书笔记——Sampling Methods 拒绝采样/重要性采样/采样重要性重采样/数据增广IP算法、Metropolis算法/MH算法/吉布斯、切片采样、混合MC、估计配分函数

    (终于把第十章读完了,这一章应该相对轻松.但这两天状态有待调整,所以没咋认真读) 目录 11.1 Basic Sampling Algorithms P526 标准概率分布 P528 拒绝采样 P53 ...

  6. 深度学习图像数据增广方法总结

    参考:Data Augmentation | How to use Deep Learning when you have Limited Data-Part 2 文章目录 1. 数据增广(Data ...

  7. 深度学习中的数据增广

    问题一:为什么需要大量的数据 当训练机器学习模型的时候,实际上实在调整它的参数,使得可以跟一个特定的输入符合.优化的目标是 chase that sweet spot where our model' ...

  8. 计算机视觉的数据增广技术大盘点!附涨点神器,已开源!

    如果要把深度学习开发过程中几个环节按重要程度排个序的话,相信准备训练数据肯定能排在前几位.要知道一个模型网络被编写出来后,也只是一坨代码而已,和智能基本不沾边,它只有通过学习大量的数据,才能学会如何作 ...

  9. 【深度学习】基于深度学习的数据增广技术一览

    ◎作者系极市原创作者计划特约作者Happy 周末在家无聊,偶然兴心想对CV领域常用的数据增广方法做个简单的调研与总结,重点是AI时代新兴的几种反响还不错的方法.各种第三方与官方实现代码等.那么今天由H ...

最新文章

  1. Java开发面试题,Java常用类使用总结
  2. 水晶报表10 注册码
  3. 算法之------搜索篇
  4. 分布式事务、cloud、boot、常规队列MQ、elk、kafuka
  5. (转)SpringMVC学习(六)——SpringMVC高级参数绑定与@RequestMapping注解
  6. 【K-DB干货】浅谈KRAC内存融合技术
  7. python经典编程100例(1)
  8. js实现音乐列表循环播放或单曲循环
  9. 【SLAM学习笔记】10-ORB_SLAM3关键源码分析⑧ Optimizer(五)sim3优化
  10. 在word表格中如何快速清除表格内容?
  11. java判断颜色合法_判断颜色是否合法的正则表达式(详解)
  12. echart vue
  13. apache dubbo 源码分析系列汇总
  14. java大数据开发是做什么的
  15. 分布式存储HBASE原理学习
  16. 《Microsoft SQL Server入门教程》第03篇 示例数据库和示例表
  17. colorkey唇釉是否安全_colorkey镜面唇釉好用吗
  18. JavaWeb——grid布局
  19. 使用python实现一个简单的学生信息管理系统
  20. 电脑安装软件时,如何避免捆绑安装?

热门文章

  1. 大数据Spark系列之Spark单机环境搭建
  2. 苹果做游戏了,sony线上商店了。
  3. java+s2sh+mysql音乐网站
  4. Django+haystack+jieba进行全文检索
  5. 淘宝抵价券自动充值的实现
  6. JS设置等待一段时间再执行
  7. 趣题:求两圆柱相交部分的体积
  8. 天津春考计算机重点知识,春季高考试题-天津春季高考试题.doc
  9. 计算机网络七层模型OSI
  10. python colorbar刻度_python – 在colorbar中结束刻度 – matplotlib