Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)

Adversarial attack on community detection by hiding individuals----《通过隐藏成员进行社区检测的对抗性攻击》

 
社区检测旨在将图划分成 K K K 个不相交的子图。

摘要

  已经证明,对抗图(即添加了难以察觉的扰动的图)可能会导致深度图模型在节点/图分类任务上失败。在本文中,我们将对抗图扩展到更困难的社区检测问题上。我们专注于黑盒攻击,并旨在将有针对性的个体隐藏在深度图社区检测模型的检测之外。这在现实世界的场景中有许多应用,例如在社交网络中保护个人隐私,以及在交易网络中理解伪装模式。我们提出了一种迭代学习框架,轮流更新两个模块:一个用作约束图生成器,另一个用作代理社区检测模型。我们还发现,我们的方法生成的对抗图可以转移到其他基于学习的社区检测模型。

引言

  社区检测是图领域研究最广泛的主题之一,其目的是发现图中的节点组,使得组内连接比组间连接更密集[33]。这一技术已广泛应用于许多现实世界的应用领域,包括在蛋白质相互作用网络中进行功能模块识别[1],在共同作者网络中进行科学学科发现[36],以及在用户交易网络中进行欺诈组织检测[2]。然而,随着社区检测算法的快速发展,人们意识到自己的隐私被过度挖掘[6]。在这种背景下,一些工作开始研究允许隐藏个体、社区 [9, 34] 或降低社区检测算法 [6] 整体性能的技术,这些技术主要基于启发式或遗传算法。
  最近深度图学习模型[15, 26]在许多图学习任务中取得了显着的性能。同时,一些研究[8, 37]注意到深度图模型很容易在节点/图分类等任务上受到攻击。受这些发现的启发,在这项工作中,我们旨在解决以下问题:基于图学习的社区检测方法有多脆弱? 我们可以通过难以察觉的图扰动来隐藏个体吗? 解决这个问题的良好方案可以使许多现实世界的应用受益,例如个人隐私保护、欺诈逃避理解等。
  与对节点/图分类进行的对抗性攻击不同,其对于目标分类器的梯度[37]或有限的二进制响应[8]是可用的情况,而我们面临的一个挑战是目标模型没有提供任何反馈。例如,在社交网络公司如 Facebook 或 Twitter 中,社区检测算法作为后端服务于其他目的,如广告,这就阻止了目标模型与个体之间的直接交互(只依赖于网络结构进行社区划分)。为了应对这一挑战,我们设计了一种替代社区检测模型(黑盒场景下需要一个替代模型),该模型基于广泛使用的图神经网络(GNN)[15]和流行的社区检测度量归一化切割 [30]。我们攻击这个代理社区检测模型,并验证该攻击也可以转移到其他流行的基于图学习的社区检测模型。
  在图数据对抗性攻击的文献中,一个常见的困难是很难量化各种攻击的对抗性成本(扰动程度)[31]。虽然人类可以在图像域中检查难以察觉的扰动,但在图域中不可能采用相同的策略。目前,大多数现有方法都通过离散预算来限制允许的更改数量 [8, 31] 或预定义分布(例如幂律分布 [37])来间接解决这个问题。然而,前者基于离散变化是有帮助的,但还远远不够,而后者强调幂律分布被证明在现实中很少见[3]。在这项工作中,我们提出了一个清晰易懂的图目标,从两个角度衡量扰动程度:局部邻近度和全局邻近度
  我们面临的另一个挑战是选择合适的候选边/节点进行修改(大图)的巨大计算空间。开发一个可以根据图的大小进行扩展的解决方案并非易事。现有的解决方案(例如[34])依靠启发式方法来绕过这个问题,然而,这无法得出最佳选择,特别是对于属性图。在这项工作中,我们设计了一种新颖的图生成模型,它可以学习选择合适的候选者。通过这种方法,我们不仅可以生成适当的对抗图来攻击社区检测模型,还可以明确地将难以察觉的扰动要求纳入学习过程。

我们的贡献总结如下:

  • 我们通过隐藏一组节点(通过社区划分错误) 来研究基于图学习的社区检测模型的对抗性攻击,据我们所知,以前从未研究过这种攻击。我们提出的解决方案 CD-ATTACK 实现了优于所有竞争对手的攻击性能。
  • 我们提出了一种新的基于图学习的社区检测模型,该模型依赖于广泛使用的 GNN 和流行的度量标准化切割。它作为攻击的代理模型;此外,它还可以用于解决一般的 无监督非重叠社区检测问题。
  • 我们定义了一个可理解的与图相关的目标,从两个角度衡量各种攻击的对抗成本:局部邻近度和全局邻近度。
  • 我们设计了一种新颖的图生成神经网络,它不仅可以为社区检测算法生成对抗图,而且还可以满足离散约束。
  • 我们在四个真实数据集上评估 CD-ATTACK。我们的方法在两项指标上大大优于竞争方法。此外,我们验证了我们的方法生成的对抗图可以转移到其他两种流行的基于图学习的社区检测模型。

问题定义

  我们将一组节点表示为 V = { v 1 , v 2 , . . . , v N } V = \{ {v_1},{v_2},...,{v_N}\} V={v1,v2,...,vN} 代表现实世界的实体,例如合著者网络中的作者、用户-用户交易网络中的用户。我们使用 N × N N \times N N×N 邻接矩阵 A A A 来描述 V V V 中节点之间的连接。 A i j ∈ { 0 , 1 } {A_{ij}} \in \{ 0,1\} Aij{0,1} 表示节点 v i {v_i} vi v j {v_j} vj 之间是否存在无向边,例如链接两个作者的合着论文、连接两个用户的交易。在本研究中,我们关注无向图;然而我们的方法也适用于有向图。我们使用 X = { x 1 , x 2 , . . . , x N } X = \{ {x_1},{x_2},...,{x_N}\} X={x1,x2,...,xN} 表示 V V V 中节点的属性值,其中 x i ∈ R d {x_i} \in {R^d} xiRd d d d 维向量。
  社区检测问题旨在将图 G = ( V , A , X ) G = (V,A,X) G=(V,A,X) 划分为 K K K 个不相交的子图 G i = ( V i , A i , X i ) , i = 1 , . . . , K {G_i} = ({V_i},{A_i},{X_i}),i = 1,...,K Gi=(Vi,Ai,Xi),i=1,...,K,其中 V = ∪ i = 1 K V i V = \cup _{i = 1}^K{V_i} V=i=1KVi V i ∩ V j = ∅ {V_i} \cap {V_j} = \emptyset ViVj= 对于 i ≠ j i \ne j i=j。在我们的研究中,我们采用了这种产生非重叠社区(一个成员只能属于一个社区) 的公式。
  在社区检测的背景下,我们对一组个体 C + ⊆ V {C^ + } \subseteq V C+V 感兴趣,他们积极地试图逃避被检测,作为一个社区或社区的一部分,例如,参与一些地下交易且渴望隐藏身份的用户,或者有意欺骗风险管理系统的恶意用户。给定社区检测算法 f f f社区检测对抗性攻击问题被定义为学习攻击者函数 g g g G = ( V , A , X ) G = (V,A,X) G=(V,A,X) 执行小扰动,导致 G ^ = ( V ^ , A ^ , X ^ ) \hat G = (\hat V,\hat A,\hat X) G^=(V^,A^,X^),这样
 
max ⁡ L ( f ( G ^ ) , C + ) − L ( f ( G ) , C + ) \max L(f(\hat G),{C^ + }) - L(f(G),{C^ + }) maxL(f(G^),C+)L(f(G),C+)

G ^ ← arg ⁡ min ⁡ g ( f , ( G , C + ) ) \hat G \leftarrow \arg \min g(f,(G,{C^ + })) G^argming(f,(G,C+))

Q ( G , G ^ ) < ε Q(G,\hat G) < \varepsilon Q(G,G^)<ε

其中, L ( ⋅ , ⋅ ) L( \cdot , \cdot ) L(,) 衡量相对于目标 C + {C^ + } C+ 的社区检测结果的质量, Q ( G , G ^ ) < ε Q(G,\hat G) < \varepsilon Q(G,G^)<ε 用于确保难以察觉的扰动。在这项工作中,我们关注边扰动,例如边的插入和删除,即 G ^ = ( V ^ , A ^ , X ^ ) = ( V , A ^ , X ) \hat G = (\hat V,\hat A,\hat X) = (V,\hat A,X) G^=(V^,A^,X^)=(V,A^,X)。直观上,我们希望通过注入小扰动来最大化与 C + {C^ + } C+ 子集相关的社区检测性能的下降。
Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第1张图片
  图 1 描述了用户-用户交易网络中社区检测对抗性攻击的示例。一开始,两个目标个体聚集成一个黄色的社区,对应一个洗钱组织。一个目标作为社区成员,如果另一个目标以某种方式暴露,则可能涉嫌洗钱。通过删除边的小扰动,将目标个体分配到两个社区,其中紫色社区为高信用用户组。因此,这两个目标降低了整体被检测到的概率。

方法

模型框架

  在我们的问题设置中,我们有两个主要模块:(1)对抗性攻击者 g ( ⋅ ) g( \cdot ) g() 旨在对原始图进行不明显的扰动,以便隐藏一组个体,以及(2)社区发现算法 f ( ⋅ ) f( \cdot ) f(),能够以无监督的方式将图划分为多个子图。这两个模块是高度相关的,即对抗性攻击者 g ( ⋅ ) g( \cdot ) g() 需要来自 f ( ⋅ ) f( \cdot ) f() 的反馈来检查隐藏的目标是否达到,而社区检测算法 f ( ⋅ ) f( \cdot ) f() 依赖于对抗性示例来增强其鲁棒性。在文献中,大多数研究通过利用可微损失函数的梯度或其他矩来实现这种相互作用[37],然而,这在图等离散数据中是棘手的。为了规避这一困难,受到[17]的启发,我们在Actor-Critic框架中利用策略梯度作为两个模块之间交互的信号。另一点是,由于我们专注于黑盒攻击,意味着手头没有特定的社区检测算法,因此我们需要用具有泛化能力和鲁棒性的代理模型来实例化自己。
Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第2张图片
  在我们的解决方案中,我们设计了一个由两个神经网络组成的迭代框架,一个用作对抗图生成器 g ( ⋅ ) g( \cdot ) g(),另一个用作替代社区检测方法 f ( ⋅ ) f( \cdot ) f()。图 2 描述了该框架。上半部分生成对抗图,该对抗图相对于下半部分的替代检测模型的最优值进行了优化。然而,在实例化这两个神经网络时,我们面临以下三个挑战:
替代社区检测模型:如何设计替代社区检测算法,使得导出的对抗图也适用于其他社区检测算法?
难以察觉的扰动:我们应该用什么标准来确保修改小到检测模块无法感知?
约束图生成:如何高效地生成满足难以察觉的要求的对抗图?
  这三个问题让我们的问题变得非常复杂。接下来,我们将提出针对这三个挑战的解决方案,然后在本节末尾回顾我们的框架。

替代社区检测模型

  我们提出了一种新颖的基于图学习的社区检测模型。社区检测模型有两个关键问题:(1) 衡量结果质量的距离函数,相当于神经网络中的损失函数,(2)社区检测方法,对应于神经网络架构。下面我们就这两个问题进行相应的讨论。

损失函数

  我们将广泛使用的社区检测度量之一——归一化切割(normalized cut)[30]进行泛化,以充当神经网络的损失函数。归一化切割测量由于图分区而被删除的边的体积:
 
1 K ∑ K c u t ( V K , V ˉ K ) v o l ( V K ) \frac{1}{K}\sum\limits_K {\frac{{cut({V_K},{{\bar V}_K})}}{{vol({V_K})}}} K1Kvol(VK)cut(VK,VˉK)

其中, v o l ( V K ) = ∑ i ∈ V K deg ⁡ r e e ( i ) vol({V_K}) = \sum\nolimits_{i \in {V_K}} {\deg ree(i)} vol(VK)=iVKdegree(i) V ˉ K = V \ V K {\bar V_K} = V\backslash {V_K} VˉK=V\VK c u t ( V K , V ˉ K ) = ∑ i ∈ V k , j ∈ V ˉ k A i j cut({V_K},{\bar V_K}) = \sum\nolimits_{i \in {V_k},j \in {{\bar V}_k}} {{A_{ij}}} cut(VK,VˉK)=iVk,jVˉkAij分子计算社区 V K {V_K} VK 与图的其余部分之间的边数,而分母计算与 V K {V_K} VK 相关的所有边数。令 C ∈ R N × K C \in {R^{N \times K}} CRN×K社区分配矩阵,其中 C i k = 1 {C_{ik}} = 1 Cik=1 表示节点 i i i 属于社区 k k k,否则为 0。当我们专注于检测非重叠社区时,一个明确的约束是 C T C {C^T}C CTC 是对角矩阵。使用 C C C,标准化切割可以重写为:
 
1 K ∑ K C : , k T A ( 1 − C : , k ) C : , k T D C : , k \frac{1}{K}\sum\limits_K {\frac{{C_{:,k}^TA(1 - {C_{:,k}})}}{{C_{:,k}^TD{C_{:,k}}}}} K1KC:,kTDC:,kC:,kTA(1C:,k) (3)

其中, D D D 是度矩阵,其中 D i i = ∑ j A i j {D_{ii}} = \sum\nolimits_j {{A_{ij}}} Dii=jAij C : , k {{C_{:,k}}} C:,k C C C 的第 k k k 列向量。将方程(3)减去1(这里的 “1” 是全一向量),我们得到以下简化的目标函数:
 
1 K ∑ K C : , k T A C : , k C : , k T D C : , k \frac{1}{K}\sum\limits_K {\frac{{C_{:,k}^TA{C_{:,k}}}}{{C_{:,k}^TD{C_{:,k}}}}} K1KC:,kTDC:,kC:,kTAC:,k

= 1 K T r ( ( C T A C ) Θ ( C T D C ) ) {{ = \frac{1}{K}Tr(({C^T}AC)\Theta ({C^T}DC))}} =K1Tr((CTAC)Θ(CTDC))

其中, Θ \Theta Θ 是逐元素除法, T r ( ⋅ ) Tr( \cdot ) Tr() 定义为给定方阵主对角线上的元素之和。
  请注意, C T C {C^T}C CTC 需要是对角矩阵,我们在此引入一个新的惩罚项,它将 C C C 的约束明确地纳入目标函数中。我们用 I K {I_K} IK 减去 C T C {C^T}C CTC 作为惩罚,其中 I K {I_K} IK 是单位矩阵。因此,我们将可微的无监督损失函数 L u {L_u} Lu 定义如下:

L u = − 1 K T r ( ( C T A C ) Θ ( C T D C ) ) + γ ∥ K N C T C − I K ∥ F 2 {L_u} = - \frac{1}{K}Tr(({C^T}AC)\Theta ({C^T}DC)) + \gamma \left\| {\frac{K}{N}{C^T}C - {I_K}} \right\|_F^2 Lu=K1Tr((CTAC)Θ(CTDC))+γ NKCTCIK F2 (5)

其中, ∥ ⋅ ∥ F {\left\| \cdot \right\|_F} F 代表矩阵的 Frobenius 范数, K N {\frac{K}{N}} NK 被应用为归一化切割,以鼓励平衡的聚类和避免收缩偏差 [30, 32]。为了分析为什么所提出的惩罚是有效的,我们假设有两个社区 i , j i,j i,j 分别用两个分配向量 C : , i , C : , j {C_{:,i}},{C_{:,j}} C:,i,C:,j 进行聚类。假设 C C C 的每一行是一个分布,对于非对角元素 ( C T C ) i j = ∑ x C x , i C x , j {({C^T}C)_{ij}} = \sum\nolimits_x {{C_{x,i}}{C_{x,j}}} (CTC)ij=xCx,iCx,j,当节点被均匀分配时,它具有最大值,当节点被有差异地分配时,它具有最小值。通过最小化这个惩罚项,我们实际上鼓励将节点有区别地分配到不同的社区。

网络架构

  这一部分详细介绍了用于生成社区分配矩阵 C C C 的神经网络架构,该矩阵通过最小化方程(5)中的无监督损失 L u {L_u} Lu 进行训练。在文献中,通常使用谱聚类[30]来计算社区分配矩阵 C C C。由于其在可扩展性和泛化方面的局限性,最近的一些工作[29]使用深度学习方法来克服这些缺点。我们的架构基于最近流行的图数据上的图神经网络(GNN)[15, 16],有两个主要部分:(1) 节点嵌入,(2) 社区分配。在第一部分中,我们利用 GNN 来获取拓扑感知节点表示,以便相似的节点具有相似的表示。在第二部分中,根据节点表示,我们将相似的节点分配给相同的社区。图 3 描述了我们的社区检测模型的整体架构。下面我们对各个部分进行详细介绍。
Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第3张图片
  在这项工作中,我们使用图卷积网络(GCN)[15]来实现节点嵌入。在预处理步骤中,对邻接矩阵 A A A 进行归一化:

A ˉ = D ~ − 1 2 ( A + I N ) D ~ − 1 2 \bar A = {\tilde D^{ - \frac{1}{2}}}(A + {I_N}){\tilde D^{ - \frac{1}{2}}} Aˉ=D~21(A+IN)D~21

其中, I N {I_N} IN 是单位矩阵, D ~ i i = ∑ j ( A + I N ) i j {\tilde D_{ii}} = {\sum\nolimits_j {(A + {I_N})} _{ij}} D~ii=j(A+IN)ij 。然后,我们通过两跳平滑(two-hop smoothing:两层GCN)在图结构上转换节点特征:

H l = A ˉ σ ( A ˉ X W 0 ) W 1 {H_l} = \bar A\sigma (\bar AX{W^0}){W^1} Hl=Aˉσ(AˉXW0)W1 (7)

其中, σ ( ⋅ ) \sigma ( \cdot ) σ() 是激活函数,如 ReLU(·), W 0 ∈ R d × h {W^0} \in {R^{d \times h}} W0Rd×h W 1 ∈ R h × v {W^1} \in {R^{h \times v}} W1Rh×v 是两个权重矩阵。直观地说,这个函数可以被视为节点特征在图结构上的拉普拉斯平滑算子[20],使得在图中通过两个跳跃相连接的节点更加接近。有了节点表示 H l {H_l} Hl,我们现在准备通过以下方式将相似的节点分配给同一社区:

C = s o f t max ⁡ ( σ ( H l W c 1 ) W c 2 ) C = soft\max (\sigma ({H_l}{W_{c1}}){W_{c2}}) C=softmax(σ(HlWc1)Wc2)

其中, W c 1 ∈ R v × r {W_{c1}} \in {R^{v \times r}} Wc1Rv×r W c 2 ∈ R r × K {W_{c2}} \in {R^{r \times K}} Wc2Rr×K 是两个权重矩阵。 W c 1 {W_{c1}} Wc1 的功能是将节点表示从 v v v 维空间线性变换到 r r r 维空间,然后通过与函数 σ \sigma σ 联系引入非线性。 W c 2 {W_{c2}} Wc2 用于为 K K K 个社区中的每个社区分配分数。然后应用 softmax 导出 K K K 个社区上每个节点的标准化分布,这意味着每个节点的 K K K 个分数的总和为 1。
  总而言之,我们设计了一个神经网络作为代理社区检测模型,该模型基于损失函数 L u {L_u} Lu 以无监督方式进行训练。该模块的另一个功能是可以用来衡量图的不相似程度,这也是下一节的重点。

难以察觉的扰动

  对抗图应该实现潜在的社区检测攻击的目标,同时它应该尽可能与原始图相似以具有隐秘性。在文献中,一些工作通过离散变化的数量来衡量图之间的相似性,例如,[8, 31]通过预算 Δ \Delta Δ 限制边上允许的变化数量:

∑ i < j ∥ A i j − A ^ i j ∥ ≤ Δ \sum\limits_{i < j} {\left\| {{A_{ij}} - {{\hat A}_{ij}}} \right\| \le \Delta } i<j AijA^ij Δ (9)

其他一些工作 [37] 认为应该通过维持一些预定义的分布(例如幂律分布)来最小化图的差异。前者基于离散变化是有帮助的,但还远远不够,而后者强调幂律分布,被证明在现实中很少见[3]。在这一部分中,我们定义了一个清晰易懂的与图相关的目标来测量扰动程度。
  给定 G G G G ^ \hat G G^ ,我们知道两个图的节点之间的对应关系。扰动程度通过以下扰动损失来衡量:

L p e r t u r b = ∑ v i K L ( E N C ( v i ∣ G ) ∣ ∣ E N C ( v i ∣ G ^ ) ) {L_{perturb}} = \sum\limits_{{v_i}} {KL(ENC({v_i}|G)||ENC({v_i}|\hat G))} Lperturb=viKL(ENC(viG)∣∣ENC(viG^)) (10)

其中, K L ( ⋅ ∣ ∣ ⋅ ) KL( \cdot || \cdot ) KL(∣∣) 是 Kullback-Leibler 散度, K L ( P ∣ ∣ Q ) = ∑ j P j log ⁡ ( P j Q j ) KL(P||Q) = \sum\nolimits_j {{P_j}\log (\frac{{{P_j}}}{{{Q_j}}})} KL(P∣∣Q)=jPjlog(QjPj),通常 E N C ( ⋅ ) {ENC( \cdot )} ENC() 通过以无监督的方式捕获一些邻近度来学习节点表示。我们在此介绍两种用于编码节点表示的近似值:
局部邻近性:给定节点对应关系,如果两个图中相应的节点的邻居相似,那么它们将是相似的。
全局邻近性:给定节点对应关系,如果两个图中的相应节点与所有其他节点的关系相似,那么它们将是相似的。
  局部邻近性,或者说邻域/邻接接近性,被目前许多图节点表示方法[15, 26]所利用。正如我们所知的节点对应关系,它也可以用作图相似性度量[18]。通过这种方式,方程(7)中得到的表示对于衡量相对于局部邻近性的图扰动的程度是有效的。
  对于全局邻近性,我们采用下面定义的广泛使用的个性化 PageRank [25]。
定义 3.1  给定起始节点分布 s s s、阻尼因子 α \alpha α 和归一化邻接矩阵 A ˉ \bar A Aˉ ,个性化 PageRank 向量 Π s {\Pi _s} Πs 定义为:

Π s = α s + ( 1 − α ) Π s A ˉ {\Pi _s} = \alpha s + (1 - \alpha ){\Pi _s}\bar A Πs=αs+(1α)ΠsAˉ

  通过平稳分布 Π s {\Pi _s} Πs ,我们实际上得到了起始节点对所有其他节点的影响力得分。以每个节点为起始节点,可以得到 A {\rm A} A,其中 A i j {{\rm A}_{ij}} Aij 表示节点 i i i 对节点 j j j 的影响力得分。我们可以通过替换 GCN 中的归一化邻接矩阵 A ˉ \bar A Aˉ 来利用影响力得分,从而得出 PPNP [16] 公式:

H g = s o f t max ⁡ ( A X W g ) {H_g} = soft\max ({\rm A}X{W_g}) Hg=softmax(AXWg) (12)

这种基于全局接近性的图扰动测量没有额外的开销,因为我们可以在替代的社区检测模块中使用方程(12)而不是方程(7)。通过使用全局邻近度,与 GCN 中使用的局部邻近度相比,图划分模型将配备更广泛的视图,这也有利于社区检测模块。

对抗图生成

  在本小节中,我们描述了我们的方法,该方法生成一个修改后的图 A ^ \hat A A^,满足方程(9)中的预算约束和方程(10)中的扰动约束。受到最近潜在变量生成模型的成功启发,比如在图生成[12, 14]中的变分自动编码[13],我们使用由神经网络参数化的潜在变量模型来生成图 A ^ \hat A A^。更具体地说,我们专注于学习邻接矩阵 A A A 和特征矩阵 X X X 上的参数化分布,如下所示:

P ( A ^ ∣ A , X ) = ∫ q ϕ ( Z ∣ A , X ) p θ ( A ^ ∣ A , X , Z ) d Z P(\hat A|A,X) = \int {{q_\phi }(Z|A,X){p_\theta }(\hat A|A,X,Z){d_Z}} P(A^A,X)=qϕ(ZA,X)pθ(A^A,X,Z)dZ

其中, q ϕ ( Z ∣ A , X ) {{q_\phi }(Z|A,X)} qϕ(ZA,X) 是编码部分, ϕ \phi ϕ 是编码参数集, p θ ( A ^ ∣ A , X , Z ) {{p_\theta }(\hat A|A,X,Z)} pθ(A^A,X,Z) 是生成部分, θ \theta θ 是生成参数集。虽然编码部分很简单并且可以利用现有工作中的相应编码器[12, 14],但生成部分由于以下问题而具有挑战性:
预算约束:生成具有预算约束的有效图结构很困难,因为它是一个混合组合和连续优化问题。
可扩展性:现有的图生成方法面临着大规模问题[35]。
  为了满足预算约束,我们建议使用掩码[19]机制直接合并有关图结构的先验知识,这可以防止在解码过程中生成某些不需要的边缘。为了解决可扩展性问题,我们根据输入图的大小使用不同的解决方案:(1) 对于大规模图,我们通过关注删除边来设计一个时间复杂度为 O ( m ) O(m) O(m) 的高效解码器,其中 m m m 是边的数量,(2)对于小规模图,我们可以删除和插入边。

使用GCN进行编码

  我们遵循VGAE [14],通过使用均场近似来定义变分族:

q ϕ ( Z ∣ A , X ) = Π i = 1 N q ϕ i ( z i ∣ A , X ) {q_\phi }(Z|A,X) = \mathop \Pi \nolimits_{i = 1}^N {q_{{\phi _i}}}({z_i}|A,X) qϕ(ZA,X)=Πi=1Nqϕi(ziA,X)

其中, q ϕ i ( z i ∣ A , X ) {q_{{\phi _i}}}({z_i}|A,X) qϕi(ziA,X) 是预定义的先验分布,即具有对角协方差的各向同性高斯分布。变分边际 q ϕ i ( z i ∣ A , X ) {q_{{\phi _i}}}({z_i}|A,X) qϕi(ziA,X) 的参数由两层 GCN 指定:

μ , σ = G C N ϕ ( A , X ) \mu ,\sigma = GC{N_\phi }(A,X) μ,σ=GCNϕ(A,X)

其中, μ \mu μ σ \sigma σ 是变分边际 { q ϕ i ( z i ∣ A , X ) } i = 1 N \{ {q_{{\phi _i}}}({z_i}|A,X)\} _{i = 1}^N {qϕi(ziA,X)}i=1N 的均值和标准差向量。 ϕ = { ϕ i } i = 1 N \phi = \{ {\phi _i}\} _{i = 1}^N ϕ={ϕi}i=1N 是编码的参数集。

受限生成

  对于大规模图 A A A,严格满足式(9)中的预算要求。我们通过以下操作近似 p θ ( A ^ ∣ A , X , Z ) {{{p_\theta }(\hat A|A,X,Z)}} pθ(A^A,X,Z)

p θ ( A ^ ∣ A , X , Z ) = Π ( i , j ) ∈ S Θ ( E i j ) {{p_\theta }(\hat A|A,X,Z) = \mathop \Pi \limits_{(i,j) \in S} \Theta ({E_{ij}})} pθ(A^A,X,Z)=(i,j)SΠΘ(Eij)

其中, E i j = [ Z i ∣ X i ] ⊙ [ Z j ∣ X j ] {E_{ij}} = [{Z_i}|{X_i}] \odot [{Z_j}|{X_j}] Eij=[ZiXi][ZjXj] ⊙ \odot 表示逐元素乘法, Z i ∣ X i {Z_i}|{X_i} ZiXi Z i {Z_i} Zi X i {X_i} Xi 的串联, Θ ( ⋅ ) \Theta ( \cdot ) Θ() S S S 定义如下:

b i j = W b 1 σ ( W b 2 E i j ) {b_{ij}} = {W_{b1}}\sigma ({W_{b2}}{E_{ij}}) bij=Wb1σ(Wb2Eij) if A i j = 1 {A_{ij}} = 1 Aij=1 (17)

Θ ( E i j ) = e b i j ∑ e b i j \Theta ({E_{ij}}) = \frac{{{e^{{b_{ij}}}}}}{{\sum {{e^{{b_{ij}}}}} }} Θ(Eij)=ebijebij if A i j = 1 {A_{ij}} = 1 Aij=1 (18)

其中, Θ ( E i j ) \Theta ({E_{ij}}) Θ(Eij) 是通过两层感知机和 softmax 函数计算保留边的得分。根据在方程(18)中定义的保留得分 Θ ( ⋅ ) \Theta ( \cdot ) Θ(),我们无重复地对 m − Δ m - \Delta mΔ 条边进行采样,并使用集合 S S S 表示已选择的这些边。直观地说,我们希望选择 m − Δ m - \Delta mΔ 条在原始图中存在的边,并最大化它们的保留得分的乘积。通过这种策略,我们还可以生成严格满足式(9)中预算要求的图。
  对于小规模图,我们将预算 Δ \Delta Δ 分为两部分:用于删除边的 Δ / 2 \Delta /2 Δ/2 和用于插入边的 Δ / 2 \Delta /2 Δ/2。我们通过以下方式近似 p θ ( A ^ ∣ A , X , Z ) {{{p_\theta }(\hat A|A,X,Z)}} pθ(A^A,X,Z)

p θ ( A ^ ∣ A , X , Z ) = Π ( i , j ) ∈ S Θ ( E i j ) Π ( i , j ) ∈ S ˉ Ψ ( E i j ) {p_\theta }(\hat A|A,X,Z) = \mathop \Pi \limits_{(i,j) \in S} \Theta ({E_{ij}})\mathop \Pi \limits_{(i,j) \in \bar S} \Psi ({E_{ij}}) pθ(A^A,X,Z)=(i,j)SΠΘ(Eij)(i,j)SˉΠΨ(Eij)

其中, S S S Θ ( ⋅ ) \Theta ( \cdot ) Θ() 的推导方式与方程(17)-(18)相同,只是我们在这里屏蔽或删除 Δ / 2 \Delta /2 Δ/2 条边。 S S S 表示已选择插入的边集。 Ψ ( ⋅ ) \Psi ( \cdot ) Ψ() 的计算方式与 Θ ( ⋅ ) \Theta ( \cdot ) Θ() 相同,但参数不相同,本质区别是:(1) 我们以 A i j = 0 {A_{ij}} = 0 Aij=0 的条件进行计算,(2) 我们将 Δ / 2 \Delta /2 Δ/2 条边添加到 S ˉ \bar S Sˉ 上。

损失函数

  与传统的 VAE 不同,我们的方法不是通过无监督重建误差进行优化,而是由以下组合损失驱动:
Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第4张图片
其中, L p r i o r = K L ( q ( Z ∣ X , A ) ∣ ∣ p ( Z ) ) {L_{prior}} = KL(q(Z|X,A)||p(Z)) Lprior=KL(q(ZX,A)∣∣p(Z)) 是先验损失,其中 p ( Z ) = Π i = 1 N p ( z i ) = Π i = 1 N N ( z i ∣ 0 , I ) p(Z) = \Pi _{i = 1}^Np({z_i}) = \Pi _{i = 1}^N{\rm N}({z_i}|0,I) p(Z)=Πi=1Np(zi)=Πi=1NN(zi∣0,I) L p e r t u r b {L_{perturb}} Lperturb 是等式(10)中引入的不可察觉的扰动要求。 L h i d e {L_{hide}} Lhide 用于使个体集合内的社区分配分布发散:

L h i d e = min ⁡ i ∈ C + , j ∈ C + K L ( C i , : ∣ ∣ C j , : ) {L_{hide}} = \mathop {\min }\limits_{i \in {C^ + },j \in {C^ + }} KL({C_{i,:}}||{C_{j,:}}) Lhide=iC+,jC+minKL(Ci,:∣∣Cj,:)

其中, L h i d e {L_{hide}} Lhide 可以被视为 C + {C^ + } C+ 内任何对的边际损失或最小距离, λ 1 < 0 {\lambda _1} < 0 λ1<0,因为我们的目标是最大化边际,以便 C + {C^ + } C+ 的成员分布在 ∪ i = 1 K G i \cup _{i = 1}^K{G_i} i=1KGi 中的社区中。
  总结一下,方程(20)从替代社区检测模型接收误差信号 L h i d e {L_{hide}} Lhide L p e r t u r b {L_{perturb}} Lperturb,这充当了指导我们图生成器优化的奖励。

所提出的模型

  从Actor-Critic框架的角度来看,对抗性攻击者 g ( ⋅ ) g( \cdot ) g() 可以被视为Actor,社区检测算法 f ( ⋅ ) f( \cdot ) f() 可以被视为Critic。由于对抗性图生成器的误差信号是从社区检测模型中获得的,而社区检测模型需要生成的图作为鲁棒训练的输入,我们设计了一个迭代框架,名为社区检测攻击者(CD-ATTACK),在两者之间交替最小化 g ( ⋅ ) g( \cdot ) g() f ( ⋅ ) f( \cdot ) f() 的损失。我们参考图 4 和算法 1 了解训练过程的详细信息。
Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第5张图片
Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第6张图片
  在算法 1 的开头,我们利用约束图生成器 g ( G , Δ ) g(G,\Delta ) g(G,Δ) 来获得对抗图 G ^ \hat G G^(第 4 行)。然后,我们利用鲁棒训练的思想,将 G G G G ^ \hat G G^ 输入到代理社区检测模型 f ( ⋅ ) f( \cdot ) f() 中来计算 L u {L_u} Lu(第 6 行)。基于 f ( ⋅ ) f( \cdot ) f() 的最优值,我们得到 L p e r t u r b {L_{perturb}} Lperturb L h i d e {L_{hide}} Lhide 来支持 g ( ⋅ ) g( \cdot ) g() 的学习过程(第 7-8 行)。
  在实践中,我们在训练过程中观察到了一些细微之处。因此,我们提供了一些实际考虑事项:
预训练社区检测模型:CD-ATTACK的一个吸引人的特性是,在进行迭代之前预训练社区检测模型会导致更好的性能和更快的收敛。
G G G 的归一化技巧:当将 G G G G ^ \hat G G^ 都输入到 f ( ⋅ ) f( \cdot ) f() 时,可能会出现问题,因为 G G G G ^ \hat G G^ 具有离散差异。因此,我们观察到如果在GCN中解耦自环和邻域平滑,即 A ˉ = D ~ − 1 2 A D ~ − 1 2 \bar A = {\tilde D^{ - \frac{1}{2}}}A{\tilde D^{ - \frac{1}{2}}} Aˉ=D~21AD~21,并为自环使用另一个权重矩阵,则结果更好。

实验

  我们在四个现实世界数据集上验证了我们的模型的有效性:(1) DBLP-medium,(2) Finance-medium,(3) DBLP-large,以及 (4) Finance-large。我们首先评估代理模型,然后检查攻击是否可以转移到其他社区检测模型。
Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第7张图片

基线和指标

基线:我们使用以下方法作为基准:DICE [34]、Modularity Based Attack (MBA) [9]、Random Target Attack (RTA)。
指标:我们遵循[34]并使用两种度量来量化隐藏成员程度:

M 1 ( C + , G ) = ∣ G i : G i ∩ C + ≠ ∅ ∣ − 1 ( K − 1 ) × max ⁡ G i ( ∣ G i ∩ C + ∣ ) M1({C^ + },G) = \frac{{\left| {{G_i}:{G_i} \cap {C^ + } \ne \emptyset } \right| - 1}}{{(K - 1) \times {{\max }_{{G_i}}}(\left| {{G_i} \cap {C^ + }} \right|)}} M1(C+,G)=(K1)×maxGi(GiC+)Gi:GiC+=1

其中, K > 1 K > 1 K>1。分子的增长与 C + {C^ + } C+ 分布的社区数量呈线性关系。分母惩罚了 C + {C^ + } C+ 在社区结构上倾斜分布的情况。直观地说,这个度量 M 1 ( C + , G ) M1({C^ + },G) M1(C+,G) 侧重于 C + {C^ + } C+ 的成员在 G 1 , . . . , G K {G_1},...,{G_K} G1,...,GK 中的分布情况,其中 M 1 ( C + , G ) ∈ [ 0 , 1 ] M1({C^ + },G) \in [0,1] M1(C+,G)[0,1]

M 2 ( C + , G ) = ∑ G i : G i ∩ C + ≠ ∅ ∣ G i \ C + ∣ max ⁡ ( N − ∣ C + ∣ , 1 ) M2({C^ + },G) = \sum\limits_{{G_i}:{G_i} \cap {C^ + } \ne \emptyset } {\frac{{\left| {{G_i}\backslash {C^ + }} \right|}}{{\max (N - \left| {{C^ + }} \right|,1)}}} M2(C+,G)=Gi:GiC+=max(NC+,1)Gi\C+

分子随着非 C + {C^ + } C+ 成员和 C + {C^ + } C+ 成员同时出现在同一个社区中的数量的线性增长。注意,分子只计算存在 C + {C^ + } C+ 成员的群体。基本上,该指标关注的是 C + {C^ + } C+ 在人群中的隐藏程度以及 M 2 ( C + , G ) ∈ [ 0 , 1 ] M2({C^ + },G) \in [0,1] M2(C+,G)[0,1]
对于这两个度量,值越大表示隐藏性能越好。

对代理模型的攻击

Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第8张图片
  表2列出了四个数据集的实验结果。在所有方法中,CD-ATTACK 在所有数据集上在 M1 和 M2 这两项指标上均取得了最佳性能,这表明了 CD-ATTACK 的优越性。

Δ \Delta Δ 的影响

Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第9张图片
  我们评估预算 Δ \Delta Δ 如何影响攻击性能。以 DBLP-medium 上的 CD-ATTACK 为例,我们将 Δ \Delta Δ 从 2 变化到 20,并根据 M1 和 M2 绘制相应的攻击性能,如图 5 所示。当我们增加 Δ \Delta Δ 时,攻击性能会提高(即 M1 和 M2 都增加),这意味着更大的预算有助于成功的攻击。另一个观察结果是,当 Δ \Delta Δ ≤ 10 时,攻击性能增长得相当快,当 Δ \Delta Δ > 10 时,攻击性能变得稳定,这表明随着我们进一步增加预算, Δ \Delta Δ 的影响变得不那么明显。

可视化

Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第10张图片
  为了更好地理解 CD-ATTACK 的工作原理,我们以 DBLP-medium 的一个子图为目标,该子图由 4.3.1 节中受到攻击的 24 个节点组成。该子图中包含两个目标节点 8 和 9,分别对应于 Sumit Chopra 和 Geoffrey Hinton。我们检查社区分配如何随攻击而变化,如图 7 所示。在该图中,不同的颜色代表不同的社区分配。正如我们所看到的,一开始社区检测算法认为两个目标位于同一社区(左侧)。当我们切割一条边 (0, 15)(红色)时,社区检测算法将子图分成两部分,因此无法处理一个社区中的两个目标。一个有趣的观察是,CD-ATTACK 选择的攻击不是直接攻击,而是影响攻击,因为删除的边不涉及节点 8 或 9 作为端点,这与我们大多数竞争对手不同。

可迁移性

Adversarial attack on community detection by hiding individuals(2020 CCF A类会议WWW)_第11张图片
  正如我们所看到的,虽然所有的攻击方法都是有效的,但我们的方法在大多数措施上实现了最好的可转移性。因此,我们得出的结论是,我们的替代模型和归一化切割测量足以近似其他模型中使用的真实测量。

相关工作

  对社区检测的攻击。在文献中,三项研究的背景与我们的相似,因为它们也想隐藏一组个体。[22]首先阐述了问题,并通过为具有高度中心性的节点添加边来提出解决方案。后来[34]提出了两种启发式算法ROAM和DICE分别用于隐藏个体和社区。它还制定了两种措施来量化我们在这项工作中遵循的检测算法的欺骗程度。[9]进一步扩展了这一思想,提出了社区欺骗的概念和两种攻击方法:基于安全的欺骗和基于模块化的欺骗。我们的工作在三个方面与他们不同:(1)我们专注于基于深度图的社区检测方法,(2)我们的方法可以处理属性图,而以前的研究都不能,(3)我们不仅考虑预算,还考虑图的相似性,以确保不明显的扰动。
  基于神经网络的社区检测。自从先驱图嵌入研究以来,出现了许多基于神经网络的社区检测方法 [11, 26]。一种直接的方法是首先利用 Node2vec [11] 等节点嵌入方法,然后应用 K 均值来获得聚类分配结果。然而,这样的流程缺乏统一的优化目标,这使得结果不够理想。对此,[5]联合解决了社区嵌入、社区检测和节点嵌入的闭环问题。然而,梯度仍然无法在不同模块之间传递。[7] 通过在监督社区检测场景中引入基于线图的 GNN 变体来克服这个问题。[23]进一步推广了 GNN,以解决基于最小割的无监督社区检测问题。我们的设计类似于[23],除了我们鼓励通过新颖的正则化使聚类分配正交。
  难以察觉的扰动。为了干扰相应的检测模块,对抗性扰动需要难以察觉。在图像领域,可以使用 Lp 范数距离 [4] 来实现不明显的修改。在图领域,确保不明显的扰动仍然是一个悬而未决的问题[31]。在[8]中,攻击者被限制在预算范围内添加/删除原始图中的边。在[37]中,除了预算约束之外,攻击者还需要维持幂律度分布。然而,维持幂律分布既不是必要的,也不是充分的,因为最近的一项研究 [3] 发现现实世界中具有幂律分布的网络非常罕见。在这项工作中,我们利用通用图相似性度量来测量修改程度,以期保证对原始图的扰动最小。特别是,我们通过两个相似性来实例化我们的测量:个性化 PageRank [25] 和基于邻接矩阵的相似性。
  约束图生成。尽管关于图生成的研究很多[12, 14],但约束图生成的研究较少。GVAE [19] 首先根据输入图构建解析树,然后使用循环神经网络(RNN)对这些解析树进行编码和解码。它利用二进制掩码机制来删除无效向量。NeVAE [28] 和 CGVAE [21] 都利用 GNN 来生成与原始数据的统计数据相匹配的图表。他们利用类似的掩码机制来禁止违反语法约束的边缘。我们的模型还使用掩模机制来防止生成不需要的边缘。

结论

  在本文中,我们通过隐藏一组节点来研究基于图学习的社区检测模型的对抗性攻击。为了克服现实中检测模块没有显式反馈的困难,我们基于广泛使用的 GNN 和归一化切割,设计了一种新的基于图学习的社区检测模型。考虑到选择合适的候选边进行更改的巨大搜索空间,我们采用学习方法并设计一个可以满足离散约束的图生成器。我们系统地分析了如何衡量各种攻击的对抗成本,并从两个角度提出了清晰的图形目标:局部邻近性和全局邻近性。四个真实世界数据集的实验结果表明,CD-ATTACK 在两项指标上明显优于其他竞争对手。生成的对抗图也可以转移到其他基于图学习的社区检测模型。

你可能感兴趣的:(图神经网络,对抗性攻击,GCN,对抗攻击,社区检测,鲁棒性)