GCN(Graph Convolutional Network)

  1. 图是一个非常强大的工具,基本上可以看到所有的数据都可以表示成一个图,它的强大也带来了它的问题: ①在图上面做**优化是非常难的**;(因为它是一个稀疏矩架构,它是一个动态的结构,使得如何有效的在CPUGPU甚至是加速器上进行计算是一件很难的事情。)<br /> ②另外一个是图神经网络**对超参数是非常敏感的**。(整个网络架构长什么样子,你怎么样对它进行采样,以及整个优化,其实都是非常敏感的。)<br /> 这两个原因都会导致图神经网络的门槛比较高。 <br /> 虽然这一块工作在过去三四年里面,已经吸引了非常多的研究者进来,但是它在工业界上的应用,目前来说仍然是非常少的,所以还需要一些年的积累。

1 GCN的模型图

image.png

2 GCN的假设

GCN保持了图的对称性。(也就是说不管怎么交换顶点的顺序,GNN对它的作用都是保持不变的。)

3 GCN的两大特点

①GCN保持了图的对称性;

4 图的表示

1.1 Vertex(顶点):用向量表示,向量可以表示顶点的属性。局部信息。
1.2 Edge(边):用向量表示,向量可以表示边的属性。局部信息。
1.3 Global(整个图):用向量表示,向量可以表示整个图的属性。全局信息。

5 聚合(汇聚)的方式

①求和(Sum)、②求平均(Mean)、③求最大(Max)
没有一种方式是最理想的,具体用哪个合适看情况而定。

3 采样的方式

3.1 随机点采样Random node sampling

随机找几个点,采取这几个顶点的邻接点。
image.png

3.2 随机游走采样Random walk sampling

随机游走几步,采取游走经过的点。
image.png

3.3 随机游走邻居采样Random walk with neighborhood sampling

随机游走采样随机点采样结合)先随机游走采样随机点采样:先随机游走几步,再采取游走经过点的邻接点。
image.png

3.4 扩散采样Diffusion sampling

取一个点Root node,把它的一近邻二近邻三近邻,往前走K步,把它做一个宽度遍历,然后把一个子图拿出来。
image.png

4 消息传递

消息传递的方式有:①None, ②Edges, ③Nodes, ④Globals, ⑤Edges&Globals, ⑥Nodes&Edges, ⑦Nodes&Globals, ⑧Nodes&Edges&Globals。
image.png