CS224W 图机器学习13:图神经网络进阶

前置知识:CS224W 图机器学习04:GNN 深入理解CS224W 图机器学习05:GNN 的训练与预测CS224W 图机器学习06:GNN 的理论理解

本节主题:如何使得 GNN 的嵌入更具表示力?

1 图神经网络的局限性

一个"完美"的 GNN 应该具备什么特征?

  • 能在邻域结构(无论跃点如何)和节点嵌入之间构建一个单射函数
  • 如果两个节点具有相同的邻域结构,则它们必须具有相同的嵌入
  • 如果两个节点具有不同的邻域结构,则它们必须具有不同的嵌入

问题 1:虽然两个节点具有相同的邻域结构,但是由于两个节点在图中的位置不同,因此有时需要为它们分配不同的嵌入(位置感知任务 position-aware)

问题 2:GNN 的表现力受到 WL 图同构检验的上限约束,因此如果两个节点具有不同的邻域结构,GNN 很难保证它们具有不同的嵌入(以下图为例,由于 RNN 的信息传播机制不考虑周期性,左图中的 $v_1$ 的嵌入和右图中的 $v_2$ 的嵌入是相同的)

改进思路:

  1. 将位置信息融入到 RNN 的节点嵌入表示中
  2. 改善信息传播方式,突破 WL 检验的表现力上限

一个最简单的方式就是对每个节点进行 one-hot 编码,这样就能实现任意节点/边/图的区分;但该方式需要的特征维度过大,并且不能灵活泛化到新节点

2 具备位置感知的 GNN

GNN 通常适用于结构感知任务,而不擅长位置感知人物

解决思路:引入锚定节点

  • 对于邻结构相同的两个节点 $v_1$ 和 $v_2$,引入锚定节点 $s_1$
  • 两个节点 $v_1$ 和 $v_2$ 与锚定节点 $s_1$ 之间的相对距离不同
  • 相当于以锚定节点为坐标轴来定位图中的节点(位置感知)
  • 可以引入一组锚点集(Archor-sets)来描述节点的位置信息

定义节点与锚点集间的距离:节点与集合内所有锚定节点的最小距离

P-GNN(位置感知 GNN)的模型细节:

  • 对 $n$ 个节点进行随机抽样,得到 $k$ 个锚点集 $S={S_1,S_2,S_3}$;其中锚点集的个数 $k=O(log^2n)$ 的确定依赖布尔甘定理(Bourgain theorem )
  • 在计算节点嵌入时,P-GNN 会同时考虑邻域节点信息和锚点集信息;其中锚点集信息是基于 q-hop 最短路径距离计算得到的位置相似度
  • 在聚合信息时,P-GNN 会先用函数 $AGG_M$ 聚合不同邻域的信息,再用函数 $AGG_S$ 聚合不同锚点集的信息;多层迭代得到最终的节点嵌入表示

每次迭代时,都会随机抽样得到一批锚点集用于位置信息感知;因此位置编码的维度可以随机排列,而不会改变其含义(置换不变性)

消息计算函数 $F$ 的公式定义: $$F\left(v, u, \mathbf{h}_{v}, \mathbf{h}_{u}\right)=\frac{1}{d_{sp}^q(u,v)+1} \operatorname{CONCAT}\left(\mathbf{h}_{v}, \mathbf{h}_{u}\right)$$

  • $F$ 输入包括 $u,v$ 两个节点及其嵌入表示 $\mathbf{h}{v}, \mathbf{h}{u}$
  • $d_{sp}^q(u,v)$ 表示基于 q-hop 算法计算 $v,u$ 节点间的最短路径距离

聚合函数 $AGG_M$ 的公式定义: $$ M_v[i]=AGG_M({F\left(v, u, \mathbf{h}_{v}, \mathbf{h}_{u}\right),\forall u\in S_{i}}) $$ 聚合函数 $AGG_S$ 的公式定义: $$ \mathbf{h}_{v}\leftarrow\mathrm{AGG}_{S}({\mathbf{M}_{v}[i],\forall i\in[1,k]}) $$

在 P-GNN 的原始论文中,AAG 聚合多采用 MEAN 函数

3 具备身份感知的 GNN

GNN 失效的三种场景

  • 上图分别展示了节点级别、边级别和图级别的 GNN 失效的情况
  • 上图中 GNN 的失效表现:输入不同但对应的 GNN 计算图相同

改进思路:对节点进行区分,标记出需要嵌入的节点(异构消息传递)

ID-GNN:将不同的消息/聚合应用于具有不同颜色的节点

ID-GNN 的核心改动:异构消息传递

  • 根据节点类型的不同,使用不同的神经网络函数来计算信息并用于聚合
  • 实际操作时,会应用不同的神经网络来进行不同类型节点的嵌入表示计算

ID-GNN 能有效解决刚刚提到的 GNN 失效的问题(上图仅展示了节点级别的情况)

ID-GNN 的简化:ID-GNN-Fast

  • 相比于 GNN,ID-GNN 的效果提升是由于纳入了给定节点的周期信息
  • 因此可考虑将周期计数值(cycle count)作为节点补充特征纳入 GNN
  • 该方式不再需要复杂的异构消息传递,是 ID-GNN 的有效简化版本

4 图神经网络的鲁棒性

对抗性示例的存在阻止了深度学习模型在现实世界中的可靠部署:

  • 攻击者可能会尝试主动入侵深度学习模型
  • 模型落地性能可能会变得比预期的要差得多

定义两种类型的节点:

  • 目标节点 $t$,攻击者希望更改目标节点的预测结果
  • 可攻击节点 $S$,攻击者可以修改的节点集合

定义两种类型的攻击:

  • 直接攻击:目标节点是可攻击节点,比如修改目标节点属性、或为其添加/删除边
  • 间接攻击:目标节点不是可攻击节点,只能针对可攻击节点进行属性或边的修改

攻击者的目标:用尽可能少的修改,最大程度地影响到目标节点的预测

攻击实验的设置:

  • 实验模型:一个基于 GCN 的半监督节点分类任务
  • 实验数据:论文引文网络(2800 个节点,8000 条边)
  • 攻击类型:添加或删除边
  • 攻击预算:节点 $v$ 的最大攻击次数为 $d_v+2$($d_v$ 表示节点 $v$ 的度)
  • 攻击方式:使用不同的随机种子进行 5 次训练和攻击

攻击实验的结果:

  • 对抗性直接攻击的干扰效果最明显,GCN 的性能下降最快
  • 随机攻击明显弱于对抗性攻击,间接攻击也对模型有明显挑战

对抗性攻击,以预测概率变化量最大为目标迭代寻找最优的"干扰操作"

往年同期文章