GNN论文学习笔记

根据李沐老师讲解的零基础多图详解图神经网络视频,小白开始入门学习了解GNN,并记录下此文。
A Gentle Introduction to Graph Neural Networks为参考文献博客。


图(Graph)的概念并非通常意义上的图片(image),而是一种表示关系的数据结构。顶点(node)表示物体,相互连接的线(edge)表示关系,其中线既包含有方向的线(directed edge),也包含无方向的线(undirected edge)。
GNN论文学习笔记_第1张图片

  • 可以将图片(image)的像素关系转换为图(graph):
    GNN论文学习笔记_第2张图片

  • 可以将文本(text)的词语关系转换为图:
    GNN论文学习笔记_第3张图片

  • 可以将生活或者电影中的人物关系转换为图:
    GNN论文学习笔记_第4张图片

  • 可以将分子中各原子的排列关系转换为图:

GNN论文学习笔记_第5张图片

为什么需要图:尽管传统的深度学习方法被应用在提取欧氏空间数据的特征方面取得了巨大的成功(例如:),但许多实际应用场景中的数据是从非欧式空间生成的,传统的深度学习方法在处理非欧式空间数据上的表现却仍难以使人满意。

图能干什么

  • 预测整个图的属性。例如,对于表示为图的分子,我们可能想要预测分子的气味,或者它是否会与与疾病有关的受体结合。
  • 预测图形中每个节点的标识或角色。
    GNN论文学习笔记_第6张图片
    通过对图的分析,可以区分出John A和Mr.Hi的人物关系网,预测出他们与其他人之间关系的远近。
  • 预测物体之间的关系
    GNN论文学习笔记_第7张图片
    首先通过语义分割获得独立的物体,然后再预测出物体之间的关系。

图的具体表示方式:邻接列表
GNN论文学习笔记_第8张图片
图神经网络的基本结构:
图中的属性包括:顶点、边、全局信息,所以各自属性都对应单独的多层感知机(MLP)。 f U f_U fU f V f_V fV f E f_E fE统称为一层,这一层的输入和输出均为图结构。
GNN论文学习笔记_第9张图片

  • 如果最终想要预测的是已有属性,比如在节点上进行预测,则预测方法很简单是使用用线性分类器(全连接+Softmax)。
    GNN论文学习笔记_第10张图片
  • 如果做预测的顶点没有向量信息,但是与其连接的边上有向量信息的话,可以采用汇聚(pooling)的方式进行预测。
    GNN论文学习笔记_第11张图片
    如果向量信息的维度不相同,则需要先投影变换到顶点向量的维度。其实从这一步就可以发现,全局向量类似于一个偏置项。同理,当预测的是没有向量信息的边时,可以汇聚相连接的顶点信息与全局信息。
    GNN论文学习笔记_第12张图片
    上图是最简单的GNN模型,它有一个明显的弊端——图的属性都是独立进行更新的,且几乎未涉及到连接性(connectivity)方面的信息,仅仅在pooling操作的时候会涉及到连接性,这会导致模型不够充分利用(leverage)图的信息。

图之间的信息传递(message passing):
GNN论文学习笔记_第13张图片
将三者求和后的向量信息,再经过MLP的变换(transform)得到下一层的结果。这种pooling操作和标准卷积类似,在本质上,信息传递和卷积都是聚合处理元素相邻信息以更新元素值的操作。 在图(graph)处理中,元素是一个顶点,而在图像(image)中,元素是一个像素。 但是,图中相邻顶点的数量是可变的,这与图像中每个像素都有一定数量的相邻元素不同。
GNN论文学习笔记_第14张图片
上图中的虚线圆形就表示对顶点相邻的向量信息做聚合的意思。通过这种方式,就可以使用信息传递在GNN层内的顶点和边之间共享信息。做聚合(pooling)的方式不仅仅只有求和(sum),还可以求均值(mean)和求最大值(max)【这和卷积中的池化操作更为相似】。但这三种方法的效果需要根据实验来确定。
GNN论文学习笔记_第15张图片

当我们想对顶点进行预测,但我们的数据集只有边的信息时,我们可以先将边信息合并,使用更新函数对其进行转换,然后存储它。但是,存储在图中的顶点和边信息不一定是相同的大小或形状,因此, 一种方法是学习从边空间到节点空间的线性映射,或者可以在更新函数之前将它们连接(concat)在一起。
GNN论文学习笔记_第16张图片

图之间的全局信息(message passing):
在图中彼此距离较远的节点可能永远无法有效地相互传递信息,即使我们多次应用消息传递。对于一个节点,如果我们有k层GNN layers,信息最多传播k步。对于预测任务取决于相距较远的节点或节点组的情况,这可能是一个问题。解决这个问题的一个办法是使用图的全局表示(U),这个有时被称为master node,它与网络中的所有节点和边相连,可以作为它们之间传递信息的桥梁,为整个图建立起一个表示。
GNN论文学习笔记_第17张图片
GNN论文学习笔记_第18张图片


参考:https://blog.csdn.net/weixin_44808161/article/details/126152908

你可能感兴趣的:(学习,深度学习,python,神经网络)