G-mixup论文阅读
论文阅读: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论文阅读相关推荐
- 论文阅读九:yolov4的各种数据增广技术random erasing、cutout、mixup、cutmix、mosaic等
yolov4的发布,让很多做工程的都很兴奋,但其实静下来仔细研究,发现yolov4其实是一个成功的调参例子,作者用到了大量前人的技术,加以组合,实现了速度和精度的完美平衡,读yolov4的论文会 ...
- YOLOv4论文阅读(附原文翻译)
YOLOv4论文阅读(附原文翻译) 论文阅读 论文翻译 Abstract摘要 1.Introduction 引言 2.Related work相关工作 2.1.Object detection mod ...
- 深度学习论文阅读目标检测篇(七)中英对照版:YOLOv4《Optimal Speed and Accuracy of Object Detection》
深度学习论文阅读目标检测篇(七)中英对照版:YOLOv4<Optimal Speed and Accuracy of Object Detection> Abstract 摘要 1. In ...
- 深度学习点云语义分割:CVPR2019论文阅读
深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...
- 论文阅读——《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 ...
- [论文阅读] (11)ACE算法和暗通道先验图像去雾算法(Rizzi | 何恺明老师)
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](2)
[论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...
- 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)
[论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...
- 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](7)
[论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](7) Into the Weeds Other types of grap ...
最新文章
- 飞天AI平台到底哪里与众不同?听听它的架构者怎么说
- 面试官:听说你精通并发编程,来说说你对ThreadLocal的理解
- windows下安装cygwin及配置
- matlab中sum函数
- web 服务器 内存 影响_C/C++服务器开发常用的7大开源库,让你在同行中脱颖而出...
- C语言 | 内存对齐01 - 什么是内存对齐
- 烟台大学计算机与控制工程学院研究生导师,烟台大学计算机与控制工程学院欢迎大家...
- 计算机算法设计与分析读后感,算法设计与分析基础经典读后感有感
- Spark的Master、Worker、Executor以及task等概念
- 读书笔记 -《硅谷之火》《硅谷热》
- MyBatis历史、MyBatis特性、MyBatis下载、MyBatis和其他持久层技术的比较
- linux 4k 桌面壁纸,10个值得珍藏的4K高清壁纸网站推荐
- 古人道中秋 | 制作一个可拖动的月球
- 1048 数字加密.测试点2.5
- android高德地图语音,高德地图导航组件没有导航语音声音
- 指尖菜谱App从0到1-项目开发准备
- 什么样的台灯灯光是好的?推荐中性色温的护眼台灯
- 每年3月12日为植树节
- Win电源选项设置效果及意义(个人整理)(包含:电源设置,开启卓越模式,睡眠休眠的区别)
- 好评度前五的扫地机器人