【GNN】《图深度学习》六、七、八、九章学习笔记(GNN的可扩展性、健壮性、复杂图、其他深度模型)


在看《图深度学习》这本书时候记录的一些要点,每节序号和书的章节号对应可以翻阅。
Ⅰ是基础概念,Ⅱ是GNN的重点内容,Ⅲ是扩展知识。
Ⅳ是实际应用,Ⅴ是前沿进展,有需要的话可以深入了解。
Ⅰ《图深度学习》二、三章学习笔记(图论基础、深度学习基础)
Ⅱ《图深度学习》四、五章学习笔记(图嵌入、图神经网络)
Ⅲ《图深度学习》六、七、八、九章学习笔记(GNN的可扩展性、健壮性、复杂图、其他深度模型)
Ⅳ《图深度学习》十、十一、十二、十三章学习笔记(GNN在NLP、CV、数据挖掘、医疗领域的应用)
Ⅴ《图深度学习》十四、十五章学习笔记(高级方法、高级应用)


第六章 图神经网络的健壮性

6.2 图对抗攻击

图对抗攻击:攻击者的目标是让模型在   G ′ \ \mathcal G'  G(攻击后的图)上的预测结果和在   G \ \mathcal G  G上的预测结果发生改变。

6.2.1 图对抗攻击的分类

  • 根据攻击者执行攻击的能力划分
    1. 逃逸攻击:在模型测试阶段进行,此时模型已经被训练好,攻击者无法更改模型的参数或结构。
    2. 投毒攻击:发生在模型训练之前,攻击者可以在训练数据中”投毒“,使模型出现故障。
  • 根据图结构数据的扰动类型划分
    1. 修改节点特征
    2. 添加或删除边
    3. 添加新节点
  • 根据攻击目标划分
    1. 有目标攻击:给定了一小部分测试节点或目标节点,攻击者让模型对这些测试样本进行错误分类
      • 攻击者直接干扰目标节点的直接攻击
      • 攻击者通过操纵其他节点来影响目标节点的间接攻击
    2. 无目标攻击:攻击者通过扰动图数据以降低模型的整体性能
  • 根据攻击者对目标GNN模型的知识掌握程度划分
    1. 白盒攻击:攻击者有访问被攻击模型完整信息(网络结构、模型参数和训练数据)的权限
    2. 灰盒攻击:攻击者只有访问被攻击模型训练数据的权限
    3. 黑盒攻击:攻击者没有权限访问被攻击模型,只被允许从目标模型中查询来获得预测结果

6.2.2 白盒攻击

大多数现有方法通过利用梯度信息来指导攻击者:

  1. 将攻击问题定义为一个优化问题,并利用基于梯度的优化方法来解决;
  2. 利用梯度信息度量修改图结构和节点特征的有效性
PGD拓扑攻击
基于积分梯度的攻击

最大化损失函数

6.2.3 灰盒攻击

灰盒攻击通常不是直接攻击给定的模型,而是首先用提供的训练数据训练一个代理模型,然后攻击给定图上的代理模型。这类方法假设通过代理模型对图的攻击也会损害受害者模型的性能。

Nettack

Nettack模型的目标是生成针对节点分类任务的对抗图。

具体来说,选择单个节点作为攻击的受害节点,目标是修改该节点或其附近节点的结构或特征以改变模型对该节点的预测结果。

Metattack

Metattack方法试图修改图结构,以降低测试集上节点的分类性能,是一种投毒攻击。

6.2.4 黑盒攻击

这类方法大多采用强化学习来学习攻击策略(马尔可夫决策过程,MDP)。它们将受害者模型视为一台黑盒查询机,利用查询结果设计强化学习的奖励。

RL-S2V

攻击者修改图结构,而不改变图特征来损害受害者模型的分类性能。可用于节点分类、图分类任务。

ReWatt

目标是图分类任务,使用Rewiring操作(将现有边从一个节点重新布线到另一个节点)。

6.3 图对抗防御

6.3.1 图对抗训练

  1. 针对图结构的图对抗学习:修改图结构生成对抗攻击图。
  2. 针对节点特征的图对抗学习:通过扰动干净节点的节点特征生成对抗样本。
  3. 针对图结构和节点特征的图对抗学习

6.3.2 图净化

大多数图净化方法可以看作是对图的预处理。

  • 提出了一个评分函数度量节点特征之间的相似度,试图除去特征差异很大的节点之间的边。
  • 基于奇异值分解(SVD)的预处理方法可以消除图结构中的对抗扰动。

6.3.3 图注意力机制

研究如何使模型学会更少地关注图中收到攻击影响的节点或边。

RGCN

RGCN(和R-GCN是两个模型)认为基于高斯分布的隐藏层表示可以很好地吸收对抗攻击造成的影响,引入了一种基于方差的注意力机制,以阻止对抗攻击的影响在图中传播。

PA-GNN

PA-GNN通过惩罚对抗边来阻止对抗攻击的影响在图中传播,旨在学习一个注意力机制,将低注意力分数分配到对抗边,需要从干净图中生成对抗攻击作为监督信号来学习所需的注意力分数。

6.3.4 图结构学习

一种端到端的方法:净化图结构的同时学习模型参数,以获得健壮的图神经网络模型。

第七章 可扩展图神经网络

7.1 简介

图神经网络通常存在比较严重的可扩展性问题,导致图神经网络无法很好地被应用到大型图中。传统的深度学习场景采用随机梯度下降(SGD)来减少训练过程的内存需求,但在图结构数据中,采用SGD也并不方便,因为许多节点表示之间存在依赖性。

即使采用了SGD来优化GNN,但内存需求仍然很高:

  1. 节点集合 N L ( v i ) \mathcal N^L(v_i) NL(vi)的大小随着图滤波层数的增加呈指数级扩展;
  2. 在实际中为了应对最极端的批次,需要准备比平均要求更大的内存;
  3. “邻域爆炸”问题影响了随机梯度下降法的时间效率。

为了解决“邻域爆炸”问题,提出了各种邻域采样方法,主要有逐点采样、逐层采样、子图采样。其主要思想都是减少计算过程中涉及的节点数。

7.2 逐点采样法

在每一层的计算过程中,计算每个节点在该层的节点表示时,从其邻居集合中采样出节点集,用于更新这个节点表示。采样的节点集 n l ( v i ) n^l(v_i) nl(vi)仅用于节点 v i v_i vi的表示计算,不与其他节点共享。

仍存在“邻域爆炸”问题。

7.3 逐层采样法

在每一层的计算过程中,采样一个节点集合,用于整层的节点表示计算,每层都只需要采样一次。

在这里插入图片描述
解决了“邻域爆炸”问题,但会导致层到层的聚合过程中出现依赖问题。

7.4 子图采样法

在每一层的计算过程中,在原图中采样一个子图,然后基于这个采样子图进行节点表示学习。

  • 基于边的节点采样器:以较高的概率一对一地采样相互影响比较大的节点。
  • 基于随机游走的节点采样器:提高采样节点之间的连通性。

第八章 复杂图神经网络

复杂图会呈现出更复杂的模式,所以需要设计出用于捕获复杂图特定模式的更高级的图滤波器。

8.2 异质图神经网络

异质图由多种类型的节点和边组成,元路径(捕获节点之间具有不同语义的各种关系)被用于处理异质图中的异质性。每种元路径模式定义了一个简单的同质图,其中它的边为具有该模式的元路径实例。利用元路径,将异质图拆分为几个同质图,运用第五章所说的图滤波操作得到最终的节点表示。

类似地,利用元路径定义基于元路径的邻居,将来自不同类型的基于元路径的邻居信息通过注意力机制进行组合,以生成新的节点表示。

异质图的滤波器设计有两个步骤:

  1. 对于每个 ψ ∈ Ψ \psi \in \Psi ψΨ,聚合来自 ψ \psi ψ-邻居的信息,其中 Ψ \Psi Ψ表示在任务中采用的元路径模式集合;
  2. 结合从每种邻居类型聚合的信息,以生成节点表示。

8.3 二分图神经网络

在二分图中,节点集之间的交互用边来体现。要为二分图设计基于空间的图滤波器,关键是如何聚合来自相邻节点的信息。现有两个不相交的节点集 U \mathcal U U V \mathcal V V,对于 U \mathcal U U中的任何节点 u i u_i ui,其邻居都是 V \mathcal V V的子集,即 N ( u i ) ⊂ V \mathcal N(u_i)\subset \mathcal V N(ui)V。类似地,对于节点 v i ∈ V v_i\in \mathcal V viV,其邻居来自 U \mathcal U U。因此,这两组节点需要两种图滤波操作:

在这里插入图片描述

式中, F u i ( l ) \bold F_{u_i}^{(l)} Fui(l)表示第 l l l层之后的节点 u i u_i ui的表示; Θ v l − 1 \Theta_v^{l-1} Θvl1 Θ u l − 1 \Theta_u^{l-1} Θul1分别是将节点嵌入从节点空间 V \mathcal V V转换到节点空间 U \mathcal U U和从节点空间 U \mathcal U U到节点空间 V \mathcal V V的参数。

8.4 多维图神经网络

在多维图中,一对节点可以同时存在多种类型的关系,因此在设计多维图的滤波器时,必须同时考虑维度内和维度间的交互

在多维图中定义两种类型的邻居:维度内邻居和跨维度邻居。

在这里插入图片描述

  1. 首先学习每个维度上节点 v i v_i vi的表示;
  2. 组合生成节点 v i v_i vi的整体表示;
  3. v i v_i vi的邻居信息更新维度 d d d v i v_i vi的表示。

8.5 符号图神经网络

在符号图中存在负边,解决负边的一种简单方法是将一个符号图拆分为两个单独的无符号图,每个图仅包含正边或负边。但是,此方法忽略了正、负边之间的复杂交互关系。这些关系可以通过平衡理论来理解。基于平衡理论提出了平衡路径和不平衡路径,在设计符号图的图滤波器时,采用这些路径来指导聚合过程。

一般来说,平衡理论表明“我朋友的朋友就是我的朋友”,“我朋友的敌人就是我的敌人”。因此,图中的环可以分为平衡或不平衡。具体来说,负边数为偶数的环被认为是平衡的,否则被认为是不平衡的。大量实证研究表明,现实世界的符号图中的大多数环都是平衡的。**受平衡环定义的启发,将由偶数个负边组成的路径定义为平衡路径。相反,不平衡路径由奇数个负边沿组成。**给出平衡路径的定义,我们可以看到,节点 v i v_i vi 和节点 v j v_j vj 之间的平衡路径表明它们之间存在正相关关系。

在设计符号图的图滤波器时,应分别保留来自平衡邻居和不平衡邻居的信息。

在这里插入图片描述

8.6 超图神经网络

为超图建立图滤波器的关键是如何利用由超边编码的高阶关系。

8.7 动态图神经网络

EvolveGCN:用于处理离散动态图。

在这里插入图片描述

第九章 图上的其他深度模型

9.1 简介

CNN:处理图像之类的网格状数据;RNN:处理文本等序列数据。

CNN和RNN的训练需要大量的标记数据,而自编码器和GAN仅用无标记的数据就能提取复杂的特征。

9.2 图上的自编码器

自编码器可以被看作一种无监督的学习模型,用于获得输入数据样本的压缩低维表示。

  1. 利用每个节点的邻域信息作为输入进行重构,因此学习到的低维表示只保留了节点的结构信息。其编码器和解码器都采用多层感知器(MLP)建模。
  2. 以图神经网络模型(GCN)作为编码器,以节点特征和图结构作为输入并将节点编码为低维表示,然后利用这些编码的节点表示重建图结构信息(解码器 )。

9.3 图上的循环神经网络

循环神经网络最初是为处理序列数据而设计的,近年来发展到可以学习图结构数据的表示。

序列可以被认为是一棵特定的树,树中的一个节点可以有任意数量的子节点。

在这里插入图片描述
在这里插入图片描述

9.4 图上的变分自编码器

变分自编码器是一种生成模型。给定一个数据集 X = { x 1 , . . . , x N } \mathcal X=\{\bold x_1,...,\bold x_N\} X={x1,...,xN},变分自编码器常被用来模拟它的数据分布。

  • 用于节点表示学习:变分自编码器被用于学习图上的节点表示。其中,变分自编码器的推论模型将每个节点编码成一个多元正态分布。
  • 用于图生成:图生成的任务目标是,在给定一组图 { G i } \{\mathcal G_i\} {Gi}的情况下,训练模型来生成与这些图相似的图。变分自编码器被用来生成小规模的图,如分子图等。

9.5 图上的生成对抗网络

生成对抗网络(GAN)是通过生成模型与判别模型相互竞争的对抗性过程来估计生成模型的框架,其中判别模型负责区分样本是来自原始数据还是生成模型。

生成模型试图学习生成能愚弄判别器的伪样本,而判别器试图改进自身将生成模型生成的样本正确识别为伪样本。

  • 用于节点表示学习:生成器+判别器(二分类)
  • 用于图生成:生成器+判别器+裁判网络(衡量生成图的质量并分配奖励,用于约束图生成的过程)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值