图神经网络 GCN 等综述(转载)
2020.04.29更新
写在前头,由于毕设的需要,我一直在学习图神经网络,看了很多文章解析,以及顶会使用上了gcn的各个领域开源代码,我还是不太懂它为什么会有作为,现在的方法大多数是 第一步查看自己任务怎么能表示成图,一般就是有节点特征和邻接矩阵后,直接上gcn,我感觉 论文的 why部分,讲的不是很好,感觉有一种为了 gcn而gcn的感觉,所以到底为什么好呢??gcn,它推理能力真的强吗。可能现在的我水平还不到家,希望gcn的火热能直到我很好的用上它,并完全理解它把!(●'◡'●)
一、加更 gnn 的基础理解篇,反正我感觉我能看懂= =,其他的我真的...没时间的科研人员只想知道,这玩意到底为什么能有用和怎么用....
1.如果你时间很多,建议看 survey 按照下面连接顺序看
知乎——综述|从10篇研究综述看图神经网络GNN的最新研究进展
2.图卷积神经网络基础理解篇
1)看得懂的:(个人观点,不喜勿喷)
知乎——何时能懂你的心——图卷积神经网络(GCN) 他的第二篇也建议康康
GCN,图卷积神经网络,实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。GCN精妙地设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以顺便得到图的嵌入表示(graph embedding),可见用途广泛。因此现在人们脑洞大开,让GCN到各个领域中发光发热。
如何理解 Graph Convolutional Network(GCN)?
========================================================================以下是高赞回答=========================================================================
由于高赞答案说的太好,我很怕万一作者想不开删去怎么办,所以我决定copy下来。(●'◡'●)
鸟瞰图卷积
图卷积的核心思想是利用『边的信息』对『节点信息』进行『聚合』从而生成新的『节点表示』。
有的研究在此基础上利用『节点表示』生成『边表示』或是『图表示』完成自己的任务
罗马是六天建成的
这里从简单到复杂讲解几种我们常用的图卷积公式(有时候简单的效果也不错)。在开始前先说明几个符号的含义:
有很多工作都是在研究如何更巧妙的构建有权图(比如用节点间的相似度等等)。一般看过的论文都会需要自己构建,毕竟很多任务都不是标准的图结构
看到的第一眼,想到的是 利用 残差网络 。
Nothing is all you need
当然,聚合的方法有很多种,CNN 已经为我们提供了很多参(照)考(抄)。
Attention 的思路很棒,有 GAT 和 AGNN。——attention这个很多用上,但不是gat
Pooling 的思路很棒,有 GraphSAGE。——拓展 graph pooling 也是一个很有研究价值的课题
Deep 的思路很棒,有 DeepGCN。—— 今年cvpr有人用上了
扩大感受野的思路也很棒,比如 High-Order GCN(矩阵式)和 PinSAGE(消息式)。
2)看的不懂,但是感觉有干货的
万字长文入门gcn ——知乎自己搜哈
3)视频类的
北京智源——里面第三个老师讲的,中科院的老师,讲的非常好。
二、记录了想看还未看,但觉得有意思的图文章:
1.Graph Sequential Network for Reasoning over Sequences
为什么说Transformer就是图神经网络?
A Comprehensive Survey on Graph Neural Networks
摘要:将现有最好的图神经网络分成四类:recurrent graph neural networks, convolutional graph neural networks, graph autoencoders, and spatial-temporal graph neural networks。
1.介绍:
可以用欧几里得空间中的规则网格来表示图像。所以CNN可以用来提取特征,可是在现有的世界中,很多数据都是图类的数据。
2.对比:
文中进行了和network embedding以及 graph kernel methods 的对比
3.符号的对应:
4.GNN的分类:
1. 循环gnn是covgnn的前任。
2.covGNN分类:谱图和空间。节点上的分类 和 图的分类
3. GAE:
4. 时空图:一般用在探究下一个时间段node的状态,在交通用的比较多,我还看到过 行人的预测。
5.现有的方法及其复杂度:
6.CovGNN 和 RecGNN 的 对 比
7.Graph Pooling Modules :
我这里跳过了一节,这节是pool操作
Pooling的好处: (1) the pooling operation aims to reduce the size of parameters by down-sampling the nodes to generate smaller representations and thus avoid overfitting, permutation invariance, and computational complexity issues; (2) the readout operation is mainly used to generate graph-level representation based on node representations.
8.总体来说:
整个文章其实是从四个类的GNN来进行阐述,每个类分别有分支,这篇博客记录有一些乱,主要是给自己看的。我觉得感兴趣的地方。还有 诸如,图的生成(自编码)、时序图等。目前还没有了解 , 主要是感兴趣的。.... 大家有机会还是直接看原文。
图神经网络 GNN 包括了两个关键词,图和神经网络。图是一种由节点和边组成的数据结构。从简单的地铁路线图,到RB Tree,到社交网络,知识网络,再到复杂的化学分子结构都可以看作是一种图。神经网络是一种由参数权重组成,能基于反向传播端到端训练学习的模型统称。