李沐论文讲解笔记 之 GNN

A Gentle Introduction to Graph Neural Networks图神经网络GNN(机器学习)

图:表示实体node(顶点)之间的而关系edges(边)。图应该用向量来表示。

把文本、数据表示成图

预测:

  1. 图层面上(全局向量)
  2. 顶点层面
  3. 边的判断(分类问题)

GNN:对图中所有属性进行的可以优化的变换,能够保持图的对称信息,不改变图的结构。(即吧顶点做变换后,该结果不会改变,边所连接的顶点的信息,在进入图神经网络后是不会变得)。

Eg:最简单的GNN:对顶点向量、边向量、全局向量分别构造MLP(多层感知机)把它放进去得到他的输出作为对应的更新。属性更新变化,但是没有改变图的结构。(三个全连接层,对每个属性单独做变换)

李沐论文讲解笔记 之 GNN_第1张图片

 

属性缺失怎么办?:

如果想对哪个属性做预测,就添加对应的输出层。如果缺失信息就添加合适的汇聚层,使得属性汇聚过来弥补这个缺失的属性来做预测,在边和顶点之间汇聚。

李沐论文讲解笔记 之 GNN_第2张图片

 

真正意义上使用GNN:在每个节点上,通过汇聚,吧整个信息传递过来。:每个顶点刊它的邻接顶点的信息,每个顶点看到邻接边的信息,或全局的信息。

在每个层中,如果能充分的把图上的信息进行汇聚,那么整个GNN能够很有效对图的结构进行发掘。

消息传递:自己本身的向量和邻居的向量都加在一起,最后得到进入MLP之前的向量

有些类似于卷积

李沐论文讲解笔记 之 GNN_第3张图片

 

全局信息:U跟所有的V、E相连,如果想把顶点信息汇聚给边,也会把U汇聚。更新U的时候,也就拿所有的顶点信息和边的信息,再更新了。

所以之前在预测池化层时候,会有一个U

 李沐论文讲解笔记 之 GNN_第4张图片

 

基于消息传递的图神经网络如何工作:预测时候可以只用本向量,也可以用边,也可以把跟他相邻的顶点向量、全局向量都拿来,一起做预测。

超参数对模型的影响:每一个向量 顶点、边、全局 (主要是他们之间是否传递信息?)

梯度计算:把整个forward的中间变量保存下来,对吼一个顶点算的话,就要吧整个图中间结果保存下来,可能会导致计算无法承受。所以需要对图进行采样,对小图进行汇聚。这样只需要对子图进行计算即可。避免图不大。

方法:

可以随机游走,规定走多少步可以得到一个子图。

随机去一个点,一近邻二近邻固定走多少,做一个宽度遍历

假设:

卷积神经网络:空间变幻的不变性

循环神经网络:时序延续性

图神经网络:保持了图的对称性:无论怎么交换顶点顺序,GNN对他的作用都是保持不变。

GCN:图卷积神经网络:有N个子图,每个子图都是往前走

Page rank:在很大的图上,做随机游走。邻接矩阵跟一个向量不断做乘法。

你可能感兴趣的:(深度学习,算法,深度学习)