KDD2021《Attacking Graph Convolutional Networks via Rewiring》论文详解

原文链接:https://arxiv.org/pdf/1906.03750.pdf

1 Abstract and Introduction

之前对图神经网络的攻击都是通过添加或删除一些边来产生扰动,即使被修改的边数量很少,也可能会被注意到。本文提出一个图的重连线(rewiring)操作,它对图的影响比添加/删除边的方式更不明显。然后,使用增强学习基于所提出的重接线操作来学习攻击策略。

为了保证被攻击的图与原始图之间的差异“不明显”,攻击算法可以采取的动作(添加/删除边)的数量通常受到预算(budget)的限制。然而,即使这个预算很小,添加或删除边仍然可以对图结构做出“显著”的改变。例如,很明显,许多重要的图性质是基于图的拉普拉斯矩阵的特征值和特征向量;而增加或删除一条边可以使图的特征值/特征向量发生显著的变化。在本工作中,提出了一种基于图 rewiring 的新操作。一次 rewiring 操作涉及三个节点,删除之间的边,增加之间的边。在本文设置中,限制在的 two-hop 邻域。显然,本文提出的 rewiring 操作保留了图的一些基本属性,如节点数、边数、图的总度等,这是添加和删除边等操作所不能的。此外,本文提出的 rewiring 操作对一些基于图拉普拉斯的重要措施(如代数连通性(图拉普拉斯的第二小特征值。这个特征值大于0当且仅当该图是连通图。这是一个简单的推论,因为拉普拉斯矩阵的特征值0的重数就是图的连通分支的个数。这个值的大小反映了整个图的连通程度。它可以用于分析网络的稳定性与可同步性。引自维基百科))的影响比增加/删除边的方式更小。本文的目标是通过执行图分类任务的 rewiring 操作来构造对抗样例。更具体地说,将对给定图应用一系列 rewiring 操作的过程视为离散的马尔可夫决策过程(MDP),并使用增强学习(Reinforcement Learning)来学习如何做出这些决策。本文证明了所提算法在真实世界图上的有效性,并进一步分析了图结构中的对抗性变化如何影响由图神经网络模型学习到的图嵌入和输出标签。

2 Background

介绍一些所需要的符号:

,节点集,边集。边描述了节点间的关系,可以用邻接矩阵表示表示节点是相连的,0则表示不相连。图中的每个节点都有一些与之相关的特征。这些特征可以用矩阵表示,其中 X 的第 i 行表示节点的特征,d 是特征的维度。因此,带属性的图可表示为

2.1 Graph Classification

在图分类设置中,给定图集。每个图都对应一个标签。任务是使用给定的图集构建一个好的分类器,这样当新的看不见的图被输入时,它就可以做出正确的预测。用 θ 参数化的图分类器可表示为,其中表示对图进行预测的标签。分类器的参数 θ 可以通过优化问题学得,其中用来表示预测标签和真实标签的差值。交叉熵是常用的度量。

 2.2 Graph Convolution Networks

 本文中将一个图卷积层的 GCN 框架表示为

其中 表示第 j 层的输出,表示该层的参数。一个 GCN 框架包含 J 个图卷积层,。GCN 模型的输出用表示,为方便起见,用表示。为了获得的图级别 embedding,在 node embedding 上增加了一个全局池化。

 

本文中使用最大池化。随后在 graph embedding 上使用多层感知机(MLP)和 softmax 层来预测图的标签。

 

 表示参数为的多层感知机。用于图分类的基于 GCN 的分类器可以描述为 Eq.(1),(2)和(3)。为了简化,总结为,其中包含模型中的所有参数。

3 Problem Definition

本工作的目标是构建一个攻击者,它以一个图作为输入,修改图的结构来欺骗一个 GCN 分类器。修改图结构相当于修改它的邻接矩阵。攻击者的函数可以表示为

 

给定一个分类器,攻击者的目标是修改图结构,使分类器输出一个与最初预测不同的标签。在这里因为分类器已经训练和固定,忽略中的 θ。数学上,攻击者的目标可以表示为:

 是为设计的,用来表示。攻击者从分类器中获得的唯一信息是(修改过的)图的标签。对攻击者来说,分类器相当于黑盒模型。对攻击者的一个重要限制是,它只允许对图结构进行“不可见”的更改。Rewiring 的定义如下:

一个 rewiring 操作涉及三个节点,用表示。其中表示的 k-hop 邻域,表示排斥(exclusion)。Rewiring 操作删除之间的边,增加之间的边。

Notes:上面表示节点的的一跳邻域的所有节点,表示两跳邻域内排除一跳邻域的所有节点。 

原文:

攻击者被给予 budget 为 K 的 rewiring 操作来修改图的结构。可以固定 K,但是图的大小是不同的。更合适的方法是允许根据图的大小灵活地进行数次 rewiring 操作。因此对于给定的图 G,使用,其中是一个比率。

现在,攻击者在图 G 上的过程可以表示为:

右手边表示对图 G 顺序应用 rewiring 操作,M 是进行 rewiring 操作的次数

Notes:那么每个节点该如何选取呢?

4 Rewiring-based Attack to Graph Neural Networks

4.1 Properties of the Proposed Rewiring Operation

本文提出的 rewiring 操作与简单的添加或删除节点相比有许多优点。一个明显的优点是 rewiring 不改变节点数,边数和图的总度数。但“添加”或“删除”边会改变这些属性。接下来证明了所提出的 rewiring 操作可能使特征值发生较小的变化,从而导致在基于图拉普拉斯测度的情况下不明显的变化。给定一个邻接矩阵为 A 的图 G,其拉普拉斯矩阵 L 定义为,D 是对角度矩阵。设表示以的递增顺序排列的拉普拉斯矩阵的特征值,为对应的特征向量。本文展示了单个 rewiring 操作如何影响特征值。 分析基于以下引理:

是对称阵的特征对。给定一个矩阵 M 的扰动,其特征值可被更新为

 

利用这个引理,可以得到下列推论

对于给定的拉普拉斯矩阵为 L 的图 G,一次 rewiring 操作通过影响特征值,其中

其中表示特征向量的第 index 个值。

原文:

 

此外,拉普拉斯矩阵的每个特征值度量其对应特征向量的“平滑度”。特征向量的“平滑度”衡量的是其元素与相邻节点的不同程度。因此,具有较小特征值的前几个特征向量是相当“平滑”的。在 rewiring 操作中,的直接邻域,的 two-hop 邻域。因此差值应该小于差值可以是更远的任意节点。这意味着 rewiring 操作(对 two-hop 邻域)可能会对前几个特征值做出更小的改变,而不是对任何更远的节点进行 rewiring 或在两个距离很远的节点之间增加一条边。

 

Notes:上述的解释大概是因为是对 two hop 内节点的操作,所以产生的差别要比在 two hop 外的节点改变的差别要多。既然如此,那么增加卷积层应该也可以对更多 hop 的节点产生小的改变。

4.2 Graph Adversarial Attack with Reinforcement Learning

给定图 G,攻击者是一个通用决策过程;其中是一组动作的集合,它由合理的 rewiring 操作组成;是由进行 rewiring 操作后所有可能的中间或最终图组成的状态的集合用来描述一个 rewiring 动作如何改变图结构的 transition dynamics。 是奖励函数,它给出了在给定状态下所采取的行动的奖励。因此,对图进行攻击可以用轨迹来描述,其中对于攻击者来说,关键的一点是学习如何在状态时做出选择一个合适的 rewiring 动作的决定。这可以通过学习一个策略网络(policy network)来得到概率,并对 rewiring 操作进行相应的采样。很容易注意到中间状态都被预测为与原始图有相同的标签。因此,可以将每个状态视为一个全新的图,不管它是什么导致的。也就是说,在状态的决策可以只依赖于当前状态,即。因此,将攻击过程建模为马尔可夫决策过程(MDP)。因此使用增强学习来学习如何有效做决策。把提出的框架称为 ReWatt。增强学习环境的关键要素定义如下:

State Space 环境的状态空间由所有可能的 rewiring 操作之后生成的所有中间图组成。

Action Space 动作空间由定义1中定义的所有有效的 rewiring 操作组成。注意,当状态改变时,有效的动作空间是动态的,因为第 k 跳邻居在不同的状态下是不同的。

State Transaction Dynamics 给定在状态的一个动作(rewiring 操作)。下一状态通过当前状态删除之间的边及增加之间的边得到。

Reward Design 攻击者的主要目标是使分类器预测一个与原始预测不同的标签。鼓励攻击者尽可能少的采取行动,以使对图结构的修改最小化。因此,当攻击成功时,会分配一个正奖励,而对于采取的每个行动,会分配一个负奖励。奖励如下式:

 

其中是惩罚每一步的负奖励。类似于设置一个灵活的rewiring budget K,这里建议使用,其取决于图的大小。

Termination 攻击过程要么在动作数达到 budget K 时停止,要么攻击者成功地“改变”了稍微修改过的图的标签。

4.3 Policy Network

在本小节中,在 GCN 学习的图表示的基础上引入策略网络来学习策略。但与目标分类器不同的是,该 GCN 有2个卷积层。为了选择一个有效的 rewiring 操作,将 rewiring 操作分解为3个步骤:1)从中间图的边集中选择一条边。2)决定成为,另一个成为。3)从选择。相应的,把分解为:

 

 为了从边集选择一条边,从 GCN 学习的节点表示生成边表示。为了生成一条边,边表示可以被表示为,其中是状态的图表示。是合并两个节点的函数,表示连接操作。在边的表示中加入,以在决策时包含图形信息。边集中的所有边可以表示为一个矩阵,其中每行表示一条边。所有边上的概率分布可表示为:

其中表示把映射到中一个向量的多层感知机,在经过一个 softmax 层后,表示选择每条边的概率。设表示由 Eq.(8) 采样的边。为了决定哪个节点是第一个节点,估计这两个节点的概率分布:

 

其中。根据 Eq.(9) 从两个节点采样出第一个节点。继续评估概率分布。对于任意节点,用表示。中的所有节点可表示为一个矩阵,其中每行表示一个节点。在所有候选节点中选择第三个节点的概率分布可表示为:

 第三个节点可以根据 Eq.(10) 的概率分布从节点集中采样得到。可以通过从 Eq.(8),(9)和(10) 的概率分布中顺序估计和采样来生成动作。

Notes:刚开始选择的边是随机的吗?

4.4 Proposed Framework - ReWatt

通过上面定义的 rewiring 和策略网络,总体框架如图1所示。在状态下,攻击者利用 GCN 学习节点和边的 embedding,并将其作为策略网络的输入,以决定下一步的行动。一旦从策略网络中采样了新的动作,在上执行 rewiring,就到达新的状态。查询黑盒分类器以得到预测,与进行比较得到奖励。采用策略梯度,通过最大化奖励来学习策略。

 

思考

感觉本文所提出的增加/删除边的操作是之前对结构操作的特例。本方法表现好的原因是在图上的对抗攻击,如果只是对节点对抗攻击的话可能表现效果不会太好(因为只是对结构的修改)。此外本文对边的选择并没有进行限制,如对边进行修改后并没有限制之后不能再次对它修改,难道经过多次修改后不会出现恢复原图中的某条边的情况吗?

欢迎讨论和指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值