GNN-图卷积模型-2016:PATCHY-SAN【图结构序列化:将图结构转换成了序列结构,然后直接利用卷积神经网络在转化成的序列结构上做卷积】

我们之前曾提到卷积神经网络不能应用在图结构上是因为图是非欧式空间,所以大部分算法都沿着找到适用于图卷积核这个思路来走。

而 PATCHY-SAN 算法 《Learning Convolutional Neural Networks for Graphs》 另辟蹊径,它将图结构转换成了序列结构,然后直接利用卷积神经网络在转化成的序列结构上做卷积。

由于 PATCHY-SAN在其论文中主要用于图的分类任务,我们下面的计算过程也主要针对图分类问题(例如,判断某个社群的职业)。

那么,图结构转换成序列结构最主要的挑战在何处呢,如果简单的话,为什么以前的工作没有尝试把图转成序列结构呢?

就笔者个人的观点来看,这种序列转换要保持图结构的两个特点:

  1. 同构的性质。
  2. 邻居结点的连接关系。

对于前者而言,意味着当我们把图上结点的标号随机打乱,得到的仍应是一样的序列。简单来说就是,同构图产生的序列应当相似,甚至一样;对于后者,则意味着我们要保持邻居结点与目标结点的距离关系,如在图中的三阶邻居在序列中不应该成为一阶邻居等。

PATCHY-SAN 通过以下三个步骤来解决这两个问题:

  1. 结点选择(Node Squenece Selection)。该过程旨在与通过一些人为定义的规则(如度大的结点分数很高,邻居的度大时分数较高等)为每个结点指定一个在图中的排序。在完成排序后,取出前 ω \omega ω 个结点作为整个图的代表。
  2. 邻居结点构造(Neighborhood graph construction)。在完成结点排序后,以第1步选择的结点为中心,得到它们的邻居(这里的邻居可以是第一阶邻居,也可以是二阶邻居)结点,就构成了 ω \omega ω 个团。根据第1步得到的结点排序对每个团中的邻居结点进行排序,再取前 k k k 个邻居结点按照顺序排列,即组成 ω \omega ω 个有序的团。
  3. 图规范化(Graph Noermalization)。按照每个团中的结点顺序可将所有团转换成固定长度的序列( k + 1 k+1 k+1),再将它们按照中心结点的排序从前到后依次拼接,即可得到一个长度为 ω ∗ ( k + 1 ) {\omega}*(k+1) ω(k+1) 的代表整张图的序列。这样,我们就可以直接使用带1D的卷积神经网络对该序列建模,比如图分类(可类比文本序列分类)。值得注意的一点是,在第1步和第2步中,如果取不到 ω \omega ω k k k 个结点时,要使用空结点作填充(padding)。

一个形象的流程图如下所示:
Pathcy-san framework

下图可能可以帮助读者更好地理解这种算法,图来自《https://zhuanlan.zhihu.com/p/37840709》

整个流程自底向上:首先根据自定义规则对图里的结点进行排序,然后选择前6个结点,即图中的1至6;接着我们把这些结点

在这里插入图片描述

Guess you like

Origin blog.csdn.net/u013250861/article/details/121364146