AbstractTitle:Geom-GCN: Geometric Graph Convolutional Networks
Authors:Hongbin Pei, Bingzhen Wei, K. Chang, Yu Lei, Bo Yang
Sources:2020, ICLR
Paper:Download
Code:Download
MPNN 存在的问题:即 丢失了节点与其邻居间的结构信息 和 无法捕获节点之间的长距离依赖关系。
本文模型:Geom-GCN: Geometric Graph Convolutional Networks
其中 Aggregation scheme 有三个 modules :node embedding、structural neighborhood、bi-level aggregation 。
1 Intriduction在每一层 MPNN 中,每个节点向其邻域内的节点发送其特征表示,即一条“消息”;然后通过聚合从邻域收到的所有“消息”来更新其特征表示。
MPNNs 的 Aggregator 存在的问题一:Aggregator 丢失了节点与其邻居间的结构信息。如 GCN 单纯考虑了 一阶邻居的信息,并没有考虑邻居节点的不同,稍微好一点的工作有 GAT ,好在分配权重的观点。对于该问题采用下图做例子:
同构图:同构图是指图中节点类型和关系类型(边的类型)都仅有一种。
异构图:与同构图相反,异构图指图中节点类型或关系类型多于一种。
问题二:Agrgregator 缺乏捕获远距离依赖的能力。
可能的解决方法:使用深层的网络。当然这只是想想,原因有一:distant node 无差别融合其近端 node 的信息(相关和不相关的信息)。二:图中的过平滑问题:即图中节点的表示最终将趋于一样。[ 理论上是同 label 的节点表示趋于一致,当然这也是因为其无法识别同构图和异构图,将不同类别的节点视为一类 ]
本文解决的思路:考虑构造一个好的 latent space ,将节点映射为连续空间的一个向量(graph embedding),在隐空间查找邻居并进行聚合。
2 Geometric aggregation schemeGeometric aggregation scheme 如 Fig. 1 所示:
Aggregation scheme 包括三个模块:Node embedding (panel A1-A3)、Structural neighborhood (panel B) 和 Bi-level aggregation (panel C)。
2.1. Node embedding即上图中 $ A1\longrightarrow A3$ 。
$ A1\longrightarrow A2$ 这里将原始图数据映射到一个二维空间上去,具体的方法即后文涉及到的 Graph embedding 方法:Isomap、Poincare embedding、struc2vec 。该过程可以看做映射函数 $f: v \rightarrow z_{v}$。
$ A2\longrightarrow A3$ 指图中局部领域结构(或称之为局部子图),即后文所指的 $N_g(v)$。
2.2 Structural neighborhood即上图中 $ A3\longrightarrow B$ 。
$ B1\longrightarrow B2$ 指图中结构化邻居(Structural neighborhood),即
$\mathcal{N}(v)=\left(\left\{N_{g}(v), N_{s}(v)\right\}, \tau\right)$。
[ 可以理解为 $N_g(v)$ 和 $N_s(v)$ 的并集 ]
这里结构化邻域包括节点集合 $\left\{N_{g}(v), N_{s}(v)\right\}$ 以及 Node 上的关系操作 $\tau$ 。
剖析:$N_{g}(v)=\{u \mid u \in V,(u, v) \in E\}$ 代表与 $v$ 相连的邻居集合 [ 即邻接矩阵中的邻居 ];潜在空间邻域 $N_{s}(v)=\left\{u \mid u \in V, d\left(\boldsymbol{z}_{u}, \boldsymbol{z}_{v}\right)<\rho\right\}$ 代表着与 $v$ 距离小于 $\rho$ 的邻居集合,可以发现 $N_{s}(v)$ 在一定程度上包括了远距离依赖的相似邻居。
关系操作算子(relational operator)是一个在潜在空间中定义的函数。其输入是 $v$ 和 $u$ 的有序位置对(ordered position pair) $\left(z_{v}, z_{u}\right) $ ,该算子用于表示 $v$ 和 $u$ 的几何关系(理解为是否是邻域关系)。具体如下所示:
$\tau:\left(\boldsymbol{z}_{v}, \boldsymbol{z}_{u}\right) \rightarrow r \in R$
其中,$r$ 是离散值,$R$ 是几何关系的集合。对 $\tau$ 的一个要求是保证每个有序位置对有且只有一个确定的几何关系,即生成的每个 $r$ 有且只有一个 [ 方便下文中 $(i,r)$ 进行索引 ]。
如上面的 Fig 1. B 所示,红色的表示中心节点 $v$,蓝色节点包括与 $v$ 直接相连的节点或者与 $v$ 距离小于 $\rho $ 的节点,图中是一个 $3*3$ 的格子,每一个格子所在的节点表示与 $v$ 的一种关系。(即上文说的并集关系)
2.3 Bi-level aggregation即上图中 $ C$ 。
关键点: 构造虚拟节点,即 Fig 1. C 中的 空心节点。绿色的虚拟节点表示不和中心节点直接相连,但是在邻域范围内;蓝色的虚拟节点表示和中心节点直接相连的邻域点
Low-level aggregation——通过聚合函数 $p$ 将相同邻域中具有相同几何关系的节点的隐藏特征聚合到虚拟节点:
$\boldsymbol{e}_{(i, r)}^{v, l+1}=p\left(\left\{\boldsymbol{h}_{u}^{l} \mid u \in N_{i}(v), \tau\left(\boldsymbol{z}_{v}, \boldsymbol{z}_{u}\right)=r\right\}\right), \forall i \in\{g, s\}, \forall r \in R \quad \text { (Low-level aggregation) }$
其中,$p$ 是具有平移不变性的函数,比如 $L_p$(通常 $p=1,2,\infty $)。
High-level aggregation —— 虚拟节点的特征通过函数 $q$ 进一步聚合:
$\boldsymbol{m}_{v}^{l+1}=\underset{i \in\{g, s\}, r \in R}{q}\left(\left(e_{(i, r)}^{v, l+1},(i, r)\right)\right)(\text{High-level aggregation})$
$q$ 可以考虑使用 concatenation 来提取邻居信息。
最后,使用非线性变换 $ReLU$ 得到新的表示 $\boldsymbol{h}_{v}^{(l+1)}$ :
$\boldsymbol{h}_{v}^{l+1}=\sigma\left(W_{l} \cdot \boldsymbol{m}_{v}^{l+1}\right) (\text{Non-linear transform})$
2.4 Comparisons to related work上文 GCN 存在的问题,以及 MPNNs 的改进工作 GAT 。
3 Geom-GCN:An implementation of the schemeGeometric aggregation scheme 在 GCN 中的具体实现,主要包括上述的三个模块: node embedding、structural neighborhood、aggregation function。
3.1 Node embedding目的:保存拓扑结构的信息。
这里采用三种 embedding method :Isomap(广泛使用的低维 Embedding method ,基于 distance )、Poincate、struc2vec(preserve hierarchies and local structures),对应于本文提出的方案 Geom-GCN-I、Geom-GCN-P、Geom-GCN-S。
对于 $N_{s}(v)$ 中的 $\rho $ 我们将其区间范围设置为从 $0$ 直到 Average($N_{s}(v)$ ) = Average($N_{g}(v)$ ) ,这里的距离采用的是欧氏距离(Euclidean distance)。
本文,这里的几何算子 $\tau$ 定义为实现二维欧几里得空间和双曲空间中两个节点之间的相对位置的四种关系。Relationship set R= {left upper, right upper, left lower, right lower},$\tau\left(\boldsymbol{z}_{v}, \boldsymbol{z}_{u}\right)$ 定义如 Table 1 所示:
这里将给出 Low-level aggregation $p$ 和 High-level aggregation $q$ 以及关系映射函数 $\rho$ :
Low-level aggregation $p$ 其实就是 GCN 中的平均操作。
${\large \boldsymbol{e}_{(i, r)}^{v, l+1}=\sum\limits _{u \in N_{i}(v)} \delta\left(\tau\left(\boldsymbol{z}_{v}, \boldsymbol{z}_{u}\right), r\right)(\operatorname{deg}(v) \operatorname{deg}(u))^{\frac{1}{2}} \boldsymbol{h}_{u}^{l}, \forall i \in\{g, s\}, \forall r \in R} $
其中:
$\delta(\cdot, \cdot)$ 是一个只允许包含有关系的节点 $r$ 到 $v$ 的克罗内克增量函数
High-level aggregation $q$ 本质上就是 concatenation 函数,具体如下:
${\large \boldsymbol{h}_{v}^{l+1}=\sigma\left(W_{l} \cdot \underset{i \in\{g, p\}}{||} \underset{r \in R}{||} \boldsymbol{e}_{(i, r)}^{v, l+1}\right)} $
其中:
$\sigma $ 是非线性激活函数 ReLU 。
4 Experiments本文定义 $\alpha$ 作为 Gromov hyperbolicity 用来测量图的双曲率。$\alpha$ 越小,空间越双曲,这表明图所具有的层次模式越强。
同样使用 $\beta$ 定义节点的同质性:
$\beta=\frac{1}{N} \sum\limits _{v \in V} \frac{\text { Number of } v \text { 's neighbors who have the same label as } v}{\text { Number of } v \text { 's neighbors }} .$
$\beta$ 值越大,说明就节点标签而言,节点对于给定图的同质性更强。
本文采用的数据库如 Table 2 所示:
实验结果如 Table 3 所示:
作者又进一步测试了两个变种:
- 只用原始图上邻居,加上后缀-g. 如Geom-GCN-I-g
- 只用隐空间邻居,加上后缀-s. 如Geom-GCN-I-s
结果见下图:
可以看出:隐空间邻居对 $\beta $ 较小的图贡献更大。
然后,作者测试了不同 embedding 方法在选取邻居上对实验结果的影响。
可以看出:这里并没有一个通用的较好embedding方法。需要根据数据集来设置,如何自动的找到最合适的embedding方法是一个future work。
最后是时间复杂度分析。本文考虑了多种不同的关系,因此,Geom-GCN的时间复杂度是GCN的 $|2R|$ 倍。另外,和GAT的实际运行时间相差无几,因为attention的计算通常很耗时。
可视化结果:
5 Conclusion and future work
我们解决了现有的信息传递神经网络在图上的两个主要缺点——鉴别结构的损失和长期依赖关系。作为我们的关键见解,我们通过图的嵌入将一个离散的图连接到一个连续的几何空间。也就是说,我们利用了卷积的原则:在一个有意义的空间上进行空间聚合——因此我们的方法从图中提取或“恢复”嵌入空间中丢失的信息(区分结构和长期依赖关系)。我们提出了一个通用的几何聚合方案,并用几个特定的Geom-GCN实现实例化了它,我们的实验验证了它的明显优势。作为未来的工作,我们将探索选择正确的嵌入方法的技术——不仅依赖于输入图,还依赖于目标应用程序。
因上求缘,果上努力~~~~