论文阅读:G-mixup:Graph Data Augmentation for Graph Classification

摘要

mixup数据增强在图像领域获得了不错的效果,但是在图数据中仍然有很多挑战。他有这么几个难点:1.不同的图有不同的结点个数;2.图数据并不是对齐的;3.图在非欧空间中有唯一的拓扑结果。所以直接使用mixup是不行的,作者提出了G-mixup,用于图的数据增强。他的主要思想是,同属于一类的graph生成同一个graphon。不同于直接在graph上进行操作,作者对于生成的在欧式空间的graphon进行扰动,混合。然后根据混合的graphon合成新的混合图。大量的实验表面G-mixup可以提高GNN的泛化能力和鲁棒性

1.Mixup数据增强


mixup的思想很简单,这里的 λ \lambda λ是服从beta分布,范围为(0,1)的连续概率密度函数。因为图像数据都是方阵,所以很好进行变换。思想简单但是取得了很不错的效果。作者就想着能不能把mixup迁移到图的数据上来。
但是有几个难点:数据集中的每幅图结点个数不一样,他的邻接矩阵大小也不一样。
图数据是在非欧空间中有唯一的拓扑结果,和图像数据不一样
图的数据不对齐,很难匹配带不同图里的结点。
所以提出了G-mixup。它属于生成模型。通过生成新的数据来进行数据增强。主要用于graph classification task

2.G-mixup implement


这是G-mixup的流程图。主要分为四个部分,如下图所示:

上面两幅图可以一起看。他的流程主要分为四个部分。
第一步是Graphon Estimation。暂时可以理解为将同属于一个类别的图由非欧空间映射到欧式空间,形成方阵,其中每个元素是node i和node j之间有边的概率。
第二步是Graphon Mixup 。不直接对graph进行变换,而是变换每一类图生成的graphon。
第三步是根据混合的graphon生成新的图
第四步是对生成图进行label
首先我们看第一步

Graphon Estimation

要理解这个,首先要理解什么是Graphon。Graphon的中文翻译是图极限,属于图论的另一大问题。我翻了很多中文社区资料,几乎没有讲graphon的,只有国外有资料,我翻了很多,看得属实是痛不欲生。我尽力把我所理解的graphon表达出来。如果有大佬有比较好的资料可以发在评论区,感激不尽。如有错误还请包涵。
graphon是graph和function的结合,中文叫图极限。举个例子:假设我们对于数的了解仅限于有理数,那么对于无理数,比如 2 \sqrt2 2 ​ 我们可以用1.4 1.41 1.414这种有理数数列去无线逼近他。但是我们现在有实数,填补了这个数轴的空缺。从这个角度来说,实数是有理数的极限。
同样的,图是类似有理数的离散对象,一连串的图也可以收敛为一个极限对象,这就是图极限。

直观一点,这是一张图,旁边是他的邻接矩阵。假设继续按照这种规律不断的加边,加点,那么当图的点和边趋于无穷时,就可以生成最右边这张图。这是图极限的一个直观的例子。
反过来,给定图极限,可以把他变成随机图的生成模型。
这个就是graphon estimation 的理论基础。

graphon 在理论上是存在的,但是他却很难直接去求出来。因为他是在点和边都趋于无穷的时候所趋近的一个模式,所以只能用一些算法去逼近。
好在,有理论已经证明,我们可以使用step function(阶梯函数)来无限逼近graphon。
step function的一般表达式是这个

W k , k ′ W_{k,k'} Wk,k′​是属于0-1之间的数, I p k ∗ p k ( x , y ) I_{p_k\ast p_k\;(x,y)} Ipk​∗pk​(x,y)​是符号函数,如果(x,y)属于 p k ∗ p k p_k\ast p_k pk​∗pk​就是1,不然就是0.这里的 p k p_k pk​我个人理解是他把0-1之前分成k份,也就是说,当(x,y)是(1/k,1/k),或者(1/k,2/k)的时候,才为1,否则为零。这里的x,y都是连续的值。具体求解graphon的算法我在中文社区也没有找到,在外文社区里有,我看得很头疼,就放弃了。
在这篇论文中,作者告诉我们,生成的graphon可以看成一个连续有界且对称的矩阵W ,w[i,j]取值范围是(0,1)其值是node i和node j有边的概率。
W是K*K的方阵,K是每一类图的average node。所以(1/k,2/k)才为1,我觉得是在这里体现的。
这是他Graphon Estimation的结果图
每一个类别生成一张graphon

那么我有个问题。就是说,我生成的graphon是k阶方阵,k是average node,但是作者在论文里说graphon可以生成无限维图,我觉得具体在实操的时候是做不到的。也是因为对graphon的原理不太懂,按下不表。

Graphon Mixup

生成每一类的graphon之后,对graphon进行混合,这一步比较容易,因为这里相当于是对矩阵进行加减运算。不说了

Synthetic Graphs Generation

根据混合的graphon生成图,作者说的是:1、随机取样k个点。我个人不太知道这里是怎么做的,因为他的graphon只有k个点(k是average nodes)。或者说这里的k是小于W里的k。2.生成邻接矩阵A,其中a[i,j]是1还是0,是由w[i,j]决定的。这里是一个二项分布,有w[i,j]的概率生成边,有1-w[i,j]的概率不生成。3、node feature生成。在graphonestimation时对齐Node feature,使用average pooling生成graphon node feature。生成的nodefeature和graphon node feature。
这里对node feature生成描述非常少,只有短短几行字,不能窥得他具体的操作,这作者也没有源码,就更不知道了。
这是他的生成图结果。

我们可以看到,一个数据集里有两类,class 1是有一个超级点(一个点有很多条边和其他点进行连接),class2有两个超级点。他生成的图还是可以根据不同类的graphon的贡献对图的拓扑信息进行不错的刻画的。

Label mixup

这里也很简单,和原来的mixup是一样的,按下不表

3.experiment

使用G-mixup对数据进行增强之后,做一些实验,取得了一些效果


仅从test来看,他们的oss都是更少的。

作者还和其他的一些数据增强的方法进行比较,效果也还可以。

4.Discussion

这篇文章是被ICML2022收录的,但是他在iclr的时候是被拒收的,分数并不高。我看的版本是22年2月份的预刊,可能和最终被收录的版本不一样。但是我就从这个预刊的来看,我有这么几个问题。
1.graphon的原理和估计没有特别看懂,文章是怎么求出来的,并没有很清楚地说明,他在附录里的东西并不比原文好到哪里去。
你graphon没搞懂,后面他怎么反推回去生成新的图其实也只能一知半解。比如取样k个点,是怎么取的。
2.这种数据增强的方式应该是只能简单生成无向图,对于有向图和复杂图应该是没有办法的
3.根据他的图展示的,我们可以看到这个方法对构造拓扑信息还是挺有用的,但是对node feature的生成我觉得讲得不是很清楚,寥寥几行字,而且这方面可不可以有更好的办法。
论文链接

G-mixup论文阅读相关推荐

  1. 论文阅读九:yolov4的各种数据增广技术random erasing、cutout、mixup、cutmix、mosaic等

       yolov4的发布,让很多做工程的都很兴奋,但其实静下来仔细研究,发现yolov4其实是一个成功的调参例子,作者用到了大量前人的技术,加以组合,实现了速度和精度的完美平衡,读yolov4的论文会 ...

  2. YOLOv4论文阅读(附原文翻译)

    YOLOv4论文阅读(附原文翻译) 论文阅读 论文翻译 Abstract摘要 1.Introduction 引言 2.Related work相关工作 2.1.Object detection mod ...

  3. 深度学习论文阅读目标检测篇(七)中英对照版:YOLOv4《Optimal Speed and Accuracy of Object Detection》

    深度学习论文阅读目标检测篇(七)中英对照版:YOLOv4<Optimal Speed and Accuracy of Object Detection> Abstract 摘要 1. In ...

  4. 深度学习点云语义分割:CVPR2019论文阅读

    深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...

  5. 论文阅读——《Online Photometric Calibration of Auto Exposure Video for Realtime Visual Odometry and SLAM》

    论文阅读--<Online Photometric Calibration of Auto Exposure Video for Realtime Visual Odometry and SLA ...

  6. [论文阅读] (11)ACE算法和暗通道先验图像去雾算法(Rizzi | 何恺明老师)

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  7. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  8. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](2)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  9. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  10. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](7)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](7) Into the Weeds Other types of grap ...

最新文章

  1. 飞天AI平台到底哪里与众不同?听听它的架构者怎么说
  2. 面试官:听说你精通并发编程,来说说你对ThreadLocal的理解
  3. windows下安装cygwin及配置
  4. matlab中sum函数
  5. web 服务器 内存 影响_C/C++服务器开发常用的7大开源库,让你在同行中脱颖而出...
  6. C语言 | 内存对齐01 - 什么是内存对齐
  7. 烟台大学计算机与控制工程学院研究生导师,烟台大学计算机与控制工程学院欢迎大家...
  8. 计算机算法设计与分析读后感,算法设计与分析基础经典读后感有感
  9. Spark的Master、Worker、Executor以及task等概念
  10. 读书笔记 -《硅谷之火》《硅谷热》
  11. MyBatis历史、MyBatis特性、MyBatis下载、MyBatis和其他持久层技术的比较
  12. linux 4k 桌面壁纸,10个值得珍藏的4K高清壁纸网站推荐
  13. 古人道中秋 | 制作一个可拖动的月球
  14. 1048 数字加密.测试点2.5
  15. android高德地图语音,高德地图导航组件没有导航语音声音
  16. 指尖菜谱App从0到1-项目开发准备
  17. 什么样的台灯灯光是好的?推荐中性色温的护眼台灯
  18. 每年3月12日为植树节
  19. Win电源选项设置效果及意义(个人整理)(包含:电源设置,开启卓越模式,睡眠休眠的区别)
  20. 好评度前五的扫地机器人

热门文章

  1. 部署TVM Runtime
  2. 公共云PK私有云 云计算拉动外包2.0
  3. 两数之和 暴力美学 哈希表
  4. 长链非编码RNA(lncRNA)
  5. OCaml 第一章习题
  6. SSL和HTTPS两者有什么区分?
  7. js中变量赋值3e3的含义简介
  8. linux texmaker编译,Ubuntu下安装Texmaker的问题与解决方案
  9. AKS 中使用 ECR
  10. Ormlite 学习