Adversarially Robust Neural Architecture Search for Graph Neural Networks

news2024/12/26 22:09:57

Adversarially Robust Neural Architecture Search for Graph Neural Networks----《面向图神经网络的对抗鲁棒神经架构搜索》

摘要

  图神经网络(GNN)在关系数据建模方面取得了巨大成功。尽管如此,它们仍然容易受到对抗性攻击,这对于将 GNN 应用到风险敏感领域来说是巨大的威胁。现有的防御方法既不能保证面对新数据/任务或对抗性攻击的性能,也不能提供从架构角度理解 GNN 鲁棒性的见解。神经架构搜索(NAS)有望通过自动化GNN架构设计来解决这个问题。然而,当前的图 NAS 方法缺乏稳健的设计,并且容易受到对抗性攻击。为了应对这些挑战,我们提出了一种新颖的 GNN 鲁棒神经架构搜索框架(G-RNA)。具体而言,我们通过在搜索空间中添加图结构掩码操作来设计消息传递机制的强化搜索空间,其中包含各种防御操作候选,使我们能够搜索防御性的GNN。此外,我们定义了一个鲁棒性度量来指导搜索过程,有助于筛选出具有鲁棒性的架构。通过这种方式,G-RNA 有助于从架构角度理解 GNN 的鲁棒性,并有效地搜索最佳的对抗性鲁棒 GNN。在基准数据集上进行的大量实验结果显示,G-RNA在对抗攻击下显著优于手动设计的鲁棒性GNN和基准图NAS,分布提高了12.1%到23.4%。

引言

  图神经网络以建模关系数据而闻名,并应用于各种下游实际应用,如推荐系统[37]、知识图谱补全[25]、交通预测[6]、药物生产[45]等。与此同时,与许多其他深度神经网络一样,GNN 因其在对抗性攻击下的脆弱性而臭名昭著[33],特别是在金融和医疗保健等风险敏感领域。由于 GNN 通过聚合邻域信息来对节点表示进行建模,因此攻击者可以通过扰乱节点特征和操纵节点之间的关系来执行攻击[55]。例如,在用户-用户交互图中,欺诈者可能故意与其他重要/虚假用户交互,以误导推荐系统或愚弄信用评分模型[36]。
  人们开发了一系列针对图数据的防御方法来减少对抗性攻击的危害。基于预处理的方法(如 GCN-SVD [8] 和 GCN-Jaccard [38])在训练 GNN 之前进行结构清理,而基于注意力的模型(如 RGCN [51] 和 GNN-Guard [46])学会减少对潜在扰动边的关注。然而,这些方法依赖于攻击者的先验知识。例如,GCN-SVD利用了在Nettack[53]之后图结构的高秩倾向,而GCN-Jaccard则依赖于对图结构的同质性假设。因此,当前的方法可能无法适应遇到新数据和任务或提出新攻击方法时的场景。此外,以前的方法很大程度上忽视了 GNN 架构在防御对抗性攻击中的作用,缺乏理解 GNN 鲁棒性的架构视角
  为了减少人类在神经架构设计方面的工作量,神经架构搜索(NAS)在研究领域和工业界变得越来越流行。尽管 NAS 具有自动化鲁棒 GNN 设计的潜力,但现有的图 NAS 方法 [1,10,24,49,50] 不可避免地容易受到对抗性攻击,因为它们不考虑对抗性设置并且缺乏鲁棒性设计 [48]。因此,如何采用图 NAS 来搜索各种环境下的最佳鲁棒 GNN,同时从架构角度填补理解 GNN 鲁棒性的空白,仍然是一个巨大的挑战。
  为了解决上述问题并从架构的角度理解GNN的鲁棒性,我们提出了一种新颖的图神经网络(GNN)鲁棒性神经架构搜索框架,称为G-RNA。据我们所知,这是第一次尝试在鲁棒GNN中利用强大的图神经网络架构搜索。具体来说,我们首先设计一个具有图结构掩码操作的新颖、富有表现力且鲁棒的搜索空间。图1中的绿色部分显示了细粒度的搜索空间。图结构掩码操作涵盖了图结构的重要鲁棒性要素,并且可以恢复各种现有的防御方法。我们以我们设计的搜索空间为基础训练超级网络[14],采用单路径一次性的方式。其次,我们提出了一个鲁棒性指标,可以正确衡量架构的稳健性。基于干净的图,攻击代理会生成多个对抗样本。我们使用我们的鲁棒性指标以及干净的和生成的对抗性样本来搜索鲁棒的 GNN。图 1 中的黄色部分显示了鲁棒性度量的简单说明。在使用进化算法搜索最佳鲁棒 GNN 架构后,我们从头开始重新训练首选的鲁棒架构并进行评估。我们的贡献总结如下:

  • 我们为 GNN 开发了一个鲁棒的神经架构搜索框架,据我们所知,该框架首次考虑了图神经架构搜索中的鲁棒设计。基于这个框架,我们可以从架构的角度理解 GNN 的对抗鲁棒性。
  • 我们通过设计防御操作候选者,在面对扰动图时自动选择最合适的防御策略,提出了一种新颖的鲁棒搜索空间。此外,我们设计了鲁棒性度量,并采用进化算法和单路径一次性图 NAS 框架来搜索最佳鲁棒架构。
  • 大量的实验结果证明了我们提出的方法的有效性。在严重中毒攻击下的基准数据集上,G-RNA 的性能比最先进的稳健 GNN 提高了 12.1% 至 23.4%。

相关工作

图数据的对抗鲁棒性

  尽管 GNN 在各种应用中取得了广泛的成功 [43,44,47],但 GNN 很容易受到对抗性攻击 [2-4,33,39,53],即对图的轻微扰动可能会导致性能急剧下降。根据文献,对抗性攻击根据攻击者的知识(白盒攻击和黑盒攻击)、扰动类型(结构攻击和特征攻击)、攻击阶段(逃避攻击和中毒攻击)和目标节点(目标攻击和非目标攻击)有不同的分类。
  为了应对对抗性攻击,人们提出了几种防御模型来增强 GNN 的鲁棒性。图预处理方法在 GNN 模型训练之前识别并纠正潜在的结构扰动。例如,在特征平滑度的假设下,GCN-Jaccard [38] 删除了 Jaccard 相似度较低的边缘。观察 Nettack 下邻接矩阵的高秩趋势,GCN-SVD [8]通过其低秩近似来重建邻接矩阵。图注意力方法的目的是在易受影响的边/特征上学习更少的注意力权重。例如,RGCN [51]使用高斯分布进行隐藏层节点表示,并根据其方差计算注意力。 Pro-GNN [20]通过保持低秩和稀疏邻接矩阵以及特征平滑度来联合学习图结构和模型参数。GNN-Guard [46] 学会更多地关注相似节点之间的边并修剪不相关节点之间的边。VPN [19] 通过考虑 r-hop 邻居的图供电重新加权边来进行防御。此外,图证明鲁棒性方法[18, 35]为图在扰动预算下的鲁棒性认证提供了理论保证。然而,这个分支超出了本工作的范围,我们将留作比较未来的工作。
  之前的所有研究都严重依赖手动设计,因此无法适应新的数据、任务或对抗性攻击。此外,现有方法忽略了 GNN 架构固有的鲁棒性。相反,我们提出的方法在图结构上专门设计了搜索空间,可以针对不同的数据和任务自动搜索最佳的鲁棒 GNN。

图神经架构搜索

  神经架构搜索(NAS)是一个蓬勃发展的研究方向,它自动搜索高性能神经架构并减少人工设计架构的人力。由于非欧几里得图属性和特殊的神经架构,图数据上的 NAS 具有挑战性 [42, 48]。GraphNAS[10]使用循环网络作为控制器来生成GNN架构,并采用强化学习来搜索最优架构。为了进行有效的搜索,可微 NAS 方法 [14, 26] 联合优化模型权重和架构参数。 DSS [24]提出了一种可微的一次性图 NAS 并动态更新搜索空间。SANE [49] 还利用可微搜索算法,并使用跳跃知识网络(JKNet)主干构建 GNN 架构 [41]。GNAS [1] 使用设计的 GNN 范式重建 GNN,并学习最佳消息传递深度。GASSO [30]使用图结构学习作为可微架构搜索过程中的去噪过程。图NAS还用于复杂的图数据,例如异构图[7]和时间图[29]。然而,现有的图 NAS 方法没有考虑对抗性攻击的鲁棒性

鲁棒的神经架构搜索

  鲁棒神经架构搜索利用 NAS 来搜索对抗性鲁棒神经架构。由于在图数据上没有鲁棒 NAS 的相关工作,我们回顾了两篇关于计算机视觉的相关论文。RobNets [13] 是第一个探索架构鲁棒性的工作。通过一次性 NAS,RobNets 通过对抗性训练对候选架构进行微调,然后采样更稳健的架构。DSRNA [16]提出了两种可微的度量,有助于通过可微的搜索算法搜索鲁棒的架构。我们的工作既不是基于对抗性训练,也不是采用持续松弛的架构参数。总而言之,我们的工作的不同之处在于,我们考虑为图数据量身定制的不同搜索空间并利用不同的搜索算法

准备工作

图神经网络

  令 G = ( A , X ) G = (A,X) G=(A,X) 表示具有 N N N 个节点的图,其中 A ∈ R N × N A \in {R^{N \times N}} ARN×N 是邻接矩阵, X ∈ R N × D 0 X \in {R^{N \times {D_0}}} XRN×D0 是相应的特征矩阵。对于节点 i i i,其邻域表示为 N ( i ) {\rm N}(i) N(i)
  图神经网络将图数据作为输入和输出节点/图表示来执行节点分类和图分类等下游任务。通常,对于具有 C C C 个标签的节点分类任务,我们计算:

z i = ( f α ( A , X ) ) i {z_i} = {({f_\alpha }(A,X))_i} zi=(fα(A,X))i (1)

其中, z i ∈ R C {z_i} \in {R^C} ziRC 是节点 i i i 的预测向量, f α {f_\alpha } fα 表示基于架构 α \alpha α 的图神经网络。GNN 的设计可以分为层内设计、层间设计和学习配置[42]。层内设计通常遵循消息传递机制[11]:通过聚合邻域信息来更新节点表示。GNN 中更新节点表示的一般公式记为:

h i ( l ) = σ ( W ( l ) C o m b ( h i ( l − 1 ) , A g g r ( e i j ( l ) h j ( l − 1 ) , j ∈ N ~ ( i ) ) ) ) h_i^{(l)} = \sigma ({W^{(l)}}Comb(h_i^{(l - 1)},Aggr(e_{ij}^{(l)}h_j^{(l - 1)},j \in \tilde {\rm N}(i)))) hi(l)=σ(W(l)Comb(hi(l1),Aggr(eij(l)hj(l1),jN~(i)))) (2)

其中, h i ( l ) h_i^{(l)} hi(l) 表示第 l l l 个隐藏层中节点 i i i 的节点表示, e i j ( l ) e_{ij}^{(l)} eij(l) 是节点 i i i j j j 之间的相关系数, N ~ ( i ) = { i } ∪ N ( i ) \tilde {\rm N}(i) = \{ i\} \cup {\rm N}(i) N~(i)={i}N(i) 表示具有自环的节点 i i i 的邻域, A g g r ( ⋅ ) Aggr( \cdot ) Aggr() 是聚合邻域信息的函数, C o m b ( ⋅ ) Comb( \cdot ) Comb() 旨在结合自身信息和邻居信息, σ ( ⋅ ) \sigma ( \cdot ) σ() 是激活函数。
  除了GNN层的设计之外,如何连接不同的隐藏层也很关键。一些 GNN 直接使用最后一个隐藏层输出作为预测,同时也可以添加预处理层、后处理层和跳过连接 [22]。至于学习配置,它们是用于训练 GNN 的超参数,例如学习率、优化器等。

图神经架构搜索

一般来说,图 NAS 可以表述为以下双层优化问题:

α ∗ = a r g max ⁡ α ∈ O A c c v a l ( W ∗ ( α ) , α ) {\alpha ^*} = \mathop {arg\max }\limits_{\alpha \in {\rm O}} Ac{c_{val}}({W^*}(\alpha ),\alpha ) α=αOargmaxAccval(W(α),α) (3)

W ∗ ( α ) = arg ⁡ min ⁡ W L t r a i n ( W , α ) {W^*}(\alpha ) = \mathop {\arg \min }\limits_W {L_{train}}(W,\alpha ) W(α)=WargminLtrain(W,α) (4)

其中方程 (3) 是在搜索空间 O {\rm O} O 中寻找最佳架构 α ∗ {\alpha ^*} α 的上层优化问题,等式 (4) 是计算某一特定架构 α \alpha α 的最佳模型权重 W W W 的下层优化问题。 A c c v a l Ac{c_{val}} Accval 表示验证集上的预测精度, L t r a i n {L_{train}} Ltrain 是训练集上的分类交叉熵损失。
  现有的图 NAS 方法 [1,10,12,48,50] 按照等式(2)中的消息传递方案设计其搜索空间。NAS 方法可以搜索式(2)中的所有组件, 例如聚合函数、相关系数和激活函数以及隐藏层大小和学习配置等超参数。在本文中,我们主要考虑寻找架构设计。

鲁棒图神经架构搜索

  在本节中,我们首先阐述图鲁棒 NAS 的问题。然后,我们介绍了新颖且富有表现力的搜索空间以及防御性操作候选者,即图结构掩码。基于设计的搜索空间,我们构建了一个包含所有可能架构的超网,并以单路径一次性方式对其进行训练。最后,我们介绍了我们提出的鲁棒性度量并描述了利用进化算法的搜索过程。

问题表述

  给定搜索空间 O {\rm O} O,我们的目标是找到具有 高预测精度高对抗鲁棒性 的最佳架构 α ∗ ∈ O {{\alpha ^*} \in {\rm O}} αO。我们将 GNN 的鲁棒神经架构搜索问题表述为:

α ∗ = a r g max ⁡ α ∈ O A c c v a l ( α ) + λ R ( α ) {\alpha ^*} = \mathop {arg\max }\limits_{\alpha \in {\rm O}} Ac{c_{val}}(\alpha ) + \lambda R(\alpha ) α=αOargmaxAccval(α)+λR(α)

其中, R ( ⋅ ) R( \cdot ) R() 是鲁棒性度量, λ \lambda λ 是平衡模型精度和鲁棒性的超参数。

鲁棒 GNN 的搜索空间

  我们遵循消息传递机制设计了一个细粒度的搜索空间。总的来说,我们的 GNN 架构中有六个可调整的组件:图结构掩码,节点相关系数,邻居聚合器,组合函数,跳跃连接和层聚合器。前四个组件属于层内操作,其余两个组件属于层间操作。

层内操作

  在第 l l l 层消息传递中,首先采用防御操作 D ∈ O D D \in {{\rm O}_D} DOD 来构建图结构掩码并重建图结构:

M ( l ) = D ( A ( l − 1 ) ) , A ( l ) = A ⊙ M ( l ) {{\rm M}^{(l)}} = D({{\rm A}^{(l - 1)}}),{{\rm A}^{(l)}} = {\rm A} \odot {{\rm M}^{(l)}} M(l)=D(A(l1)),A(l)=AM(l)

其中, M ( l ) = { m i j } {{\rm M}^{(l)}} = \{ {m_{ij}}\} M(l)={mij} 是图结构掩码矩阵, A ( l ) {{\rm A}^{(l)}} A(l) 表示第 l l l 层中的图结构。 ⊙ \odot 是 Hadamard 积, A ( 0 ) = A {{\rm A}^{(0)}} = {\rm A} A(0)=A。每个元素 m i j ∈ [ 0 , 1 ] {m_{ij}} \in [0,1] mij[0,1] 是节点 i i i 和节点 j j j 之间的掩码分数,其中 m i j = 0 {m_{ij}} = 0 mij=0 表示删除这条边, m i j = 1 {m_{ij}} = 1 mij=1 表示对原始边没有修改。防御操作的目的是为潜在的扰动边分配更少的权重。
  受到当前防御方法[33]成功的启发,我们总结了图结构操作的鲁棒性属性,并相应地在我们的搜索空间中设计了代表性的防御操作。这样,我们就可以在面对扰动图时选择最合适的防御策略。据我们所知,这是第一次为了增强 GNN 的鲁棒性而专门设计搜索空间。具体来说,我们在搜索空间中包含五个图结构掩码操作。(1)Identity保持与前一层相同的图结构。(2)低秩近似 (LRA) 根据前一层邻接矩阵的奇异值分解的前 r r r 个分量重建第 l l l 层中的邻接矩阵。(3)节点特征相似度(NFS)删除节点特征之间具有较小 Jaccard 相似度的边。(4)邻居重要性估计 (NIE) 通过基于量化节点之间相关性的剪枝策略来更新掩码值。(5)Variable Power Operator (VPO)使用影响力强度的参数对原始邻接矩阵加权,形成一个变幂图。
  此外,更多像图结构学习[52]这样的操作可以集成到图结构掩码操作中。掩码操作的公式如表1所示。我们将LRA和NFS限制在第一层(仅用于预处理),并在所有层中利用其他三个操作。值得一提的是,图结构掩模候选可以很容易地扩展到处理图结构的其他方法,例如去噪方法。掩码操作不会阻塞后面的消息传递过程。它们可以被视为与相关系数等其他运算的正交运算。
在这里插入图片描述
  对于层内的其他三个组成部分,我们对相关系数的选择遵循附录表 4 中总结的文献。基于掩码图结构 A ( l ) {{\rm A}^{(l)}} A(l) 和相关系数 { e i j ( l ) } \{ e_{ij}^{(l)}\} {eij(l)},邻居聚合器 A g g r ∈ O a g g r Aggr \in {{\rm O}_{aggr}} AggrOaggr 用于聚合邻居表示。然后,组合函数 C o m b ∈ O c o m b {Comb} \in {{\rm O}_{comb}} CombOcomb 合并自身信息和邻居信息。在这里,我们探索了两种结合自身信息和邻居信息的典型方法,即 GraphSAGE [15] 和 GIN [40]。GraphSAGE 对节点表示和邻居信息进行不同的特征转换。GIN 首先对自身信息和邻居信息进行加权求和,然后使用多层感知器来提高 GNN 的表达能力。组合消息后,应用激活函数 σ ( ⋅ ) \sigma ( \cdot ) σ()。总的来说,第 l l l 层中节点 i i i 的隐藏表示计算为:

h i ( l ) = σ ( W ( l ) C o m b ( h i ( l − 1 ) , A g g r ( m i j ( l ) e i j ( l ) h j ( l − 1 ) , j ∈ N ~ ( i ) ) ) ) h_i^{(l)} = \sigma ({W^{(l)}}Comb(h_i^{(l - 1)},Aggr(m_{ij}^{(l)}e_{ij}^{(l)}h_j^{(l - 1)},j \in \tilde {\rm N}(i)))) hi(l)=σ(W(l)Comb(hi(l1),Aggr(mij(l)eij(l)hj(l1),jN~(i))))

节点表示被初始化为节点特征,即 h ( 0 ) = X {h^{(0)}} = X h(0)=X

层间操作

  遵循 JK-Net [41] 和 SANE [49] 的思想,我们通过层聚合器 L a y e r _ A g g r ∈ O l a y e r Layer\_Aggr \in {{\rm O}_{layer}} Layer_AggrOlayer 聚合中间层中的节点表示。跳跃操作 S k i p ∈ O s k i p Skip \in {{\rm O}_{skip}} SkipOskip 决定了连接到最终层聚合器的跳跃连接。

z i = L a y e r _ A g g r ( S k i p ( h i ( 1 ) ) , . . . , S k i p ( h i ( L ) ) ) {z_i} = Layer\_Aggr(Skip(h_i^{(1)}),...,Skip(h_i^{(L)})) zi=Layer_Aggr(Skip(hi(1)),...,Skip(hi(L)))

其中 L L L 是消息传递层的最大数量。使用 JK-Net 主干,我们通过设置最大深度来选择最佳模型深度。例如,如果我们设置 L = 4 L = 4 L=4 并且跳过操作为[Idenity,Zero,Idenity,Zero],则选择的最佳消息传递层数为3。获得最终的节点表示后,我们添加几个全连接层来进行分类。
  我们在表 2 中总结了所有组件及其候选操作。我们的搜索空间富有表现力,更重要的是,提高了防御能力。如附录表 5 所示,我们的搜索空间可以恢复一些经典的手动设计的 GNN 和最先进的鲁棒 GNN,例如 GCN-SVD、GCN-Jaccard、GNN-Guard 和 VPN。
在这里插入图片描述

超网络训练

  利用所提出的搜索空间,我们构建了一个超级网络并以单路径一次性方式对其进行训练[14]。我们构建的超网络包含基于我们的搜索空间的所有可能的架构,也称为一次性模型。在超网络中,每个架构都表现为单一路径。与 GNAS [1] 或 DSS [24] 等对架构参数使用连续松弛的图 NAS 方法不同,我们通过统一单路径采样 [14] 来训练超网。在训练过程中,我们每次都会统一采样一条路径来更新权重。之后,我们通过进化算法搜索最佳架构,而无需进一步的训练步骤。

计算鲁棒性

  这一部分将介绍如何使用进化算法和鲁棒性度量来衡量架构的鲁棒性以及具体的搜索过程。直观地说,在面对各种扰动的图数据时,鲁棒的 GNN 的性能不应该下降太多。令 T Δ {{\rm T}_\Delta } TΔ 表示具有扰动预算 Δ \Delta Δ 的图数据的攻击者。我们将鲁棒性指标定义为:

R ( A , f ) = − E A ′ [ 1 N ∑ i = 1 N D K L ( f ( A ) i ∣ ∣ f ( A ′ ) i ) ] , A ′ = T Δ ( A ) R(A,f) = - {{\rm E}_{A'}}\left[ {\frac{1}{N}\sum\limits_{i = 1}^N {{D_{KL}}(f{{(A)}_i}||f{{(A')}_i})} } \right],A' = {{\rm T}_\Delta }(A) R(A,f)=EA[N1i=1NDKL(f(A)i∣∣f(A)i)],A=TΔ(A) (9)

其中, f f f 表示 GNN, f ( A ) i {f{{(A)}_i}} f(A)i 是节点 i i i 的概率预测向量, D K L ( p ∣ ∣ q ) = ∑ i p i log ⁡ p i q i {D_{KL}}(p||q) = \sum\nolimits_i {{p_i}\log \frac{{{p_i}}}{{{q_i}}}} DKL(p∣∣q)=ipilogqipi 表示两个分布 p p p q q q 之间的 Kullback-Leibler (KL) 散度。在这里,我们使用 KL 距离来测量给定干净数据和扰动数据的预测差异。我们的攻击代理 T {\rm T} T 的选择从简单的随机攻击 [5] 或 DICE [54] 到高级攻击方法如 Mettack [54] 或 Nettack [53]。在相同的扰动预算 Δ \Delta Δ 内,我们的攻击代理生成 T T T 个扰动图结构 { A t ′ } t = 1 T \{ {A'_t}\} _{t = 1}^T {At}t=1T。等式 (9) 可近似为:

R ( A , f ) ≈ − 1 T N ∑ t = 1 T ∑ i = 1 N ( D K L ( f ( A ) i ∣ ∣ f ( A ′ ) i ) ) R(A,f) \approx - \frac{1}{{TN}}\sum\limits_{t = 1}^T {\sum\limits_{i = 1}^N {({D_{KL}}(f{{(A)}_i}||f{{(A')}_i}))} } R(A,f)TN1t=1Ti=1N(DKL(f(A)i∣∣f(A)i))

R ( A , f ) R(A,f) R(A,f) 越大,表明干净数据的预测与扰动数据之间的距离越小,因此 GNN 架构就越鲁棒。
  为了说明所提出的鲁棒性度量的有效性,我们随机选择 300 个架构并计算它们的鲁棒性度量值,并评估 Cora 数据集中 5% 结构扰动后它们的性能下降(实验细节在第 5.2 节中描述)。图 2a 显示了 R R R 在对数尺度上的分布,而图 2b 显示了不同 R R R 间隔的平均精度下降。精度下降可以被视为实际鲁棒性的真实测量。从图 2b 中,我们可以看到平均准确率下降与鲁棒性指标呈负相关。当鲁棒性度量相对较小时,准确度可能会降低多达10%。然而,当鲁棒性指标较大时,准确率下降幅度约为 3.5%。这一现象表明我们的鲁棒性度量成功地筛选出了具有鲁棒性的架构。
在这里插入图片描述

进化搜索算法

  在我们的工作中,我们采用进化算法来搜索具有所提出的鲁棒性度量的最佳鲁棒图架构。我们没有从头开始训练每个候选架构,而是仅利用进化算法进行推理和搜索。所有架构的权重都是固定的,与超网训练阶段学习到的权重相同。在一个搜索时期中,我们通过适应度函数 A C C v a l ( α ) + λ R ( α ) AC{C_{val}}(\alpha ) + \lambda R(\alpha ) ACCval(α)+λR(α) 选择前 K K K 个鲁棒候选者。随后进行交叉和变异,从候选群体中生成子架构。我们在附录 B.4 中展示了搜索算法。

实验

  在本节中,我们通过评估扰动图上选定的架构进行实验来验证我们提出的方法。此外,我们还可视化了不同操作的性能,以更好地理解 GNN 架构的鲁棒性。其他实验结果,包括目标攻击下的防御性能、异质图评估以及我们提出的鲁棒性指标中超参数 λ \lambda λ 的敏感性分析,请参见附录 C。实验设置的详细信息请参阅附录 D。

半监督节点分类任务

  在半监督节点分类任务中,我们采用 Mettack [54] 进行非目标中毒结构攻击,并基于扰动图评估 GNN 的鲁棒性。我们将变化的边的比例从 0% 改变到 25%,并计算扰动图的重新训练精度。对于每个设置,我们实验 10 次并报告平均结果和标准偏差。最终的防御结果总结在表3中。附录 C.3 提供了有关受到攻击的 G-RNA 搜索架构的更多信息。
在这里插入图片描述
  总体而言,我们的 G-RNA 在对抗性攻击下成功优于所有基线。当面对严重中毒攻击时(例如,当改变的边的比例为 15% 或更多时),我们可以看到扰动性能明显提高。例如,G-RNA 在 25% 结构扰动下的防御性能分别超过普通 GCN 23.4%、20.9% 和 12.1%。对于基于NAS的方法,对在干净数据上搜索得到的最优架构进行评估,包括在干净和扰动图上测试它们的鲁棒性,以进行公平比较。我们可以看到,架构准确性和鲁棒性之间确实存在权衡。尽管 GraphNAS 在干净的图上显示了令人印象深刻的结果,但它在对抗性攻击下的漏洞也很明显,例如GraphNAS 在对抗性攻击下的性能有时甚至比经典 GNN 还要差。因此,有必要让 Graph NAS 变得更加健壮。在CiteSeer中,G-RNA在20%和25%结构扰动下的性能几乎是GraphNAS的两倍,这表明我们的方法具有很强的防御能力。

鲁棒性度量的消融研究

  我们进行了消融研究,通过移除鲁棒性度量(标记为G-RNA w/o rob)。我们完整的G-RNA在所有数据集上都表现出比G-RNA w/o rob更好的性能,显示出我们提出的鲁棒性度量的有效性。

与不使用结构的比较

  当图结构严重中毒时,通过消息传递范式聚合邻居消息可能不可靠。因此,我们将我们的方法与不使用边的 GCN 进行比较,称为 GCN-NoGraph [20],即节点特征上的两层 MLP。请注意,超过 GCN-NoGraph 的性能表示有效的图结构,而低于 GCN-NoGraph 的性能则意味着 GNN 的图结构无信息或混乱。图3显示了与GCN-NoGraph的比较。对于所有比较方法,只有 G-RNA 的性能始终优于 GCN-NoGraph。 GCN-Jaccard 对于小扰动表现良好,但无法抵御大扰动。此外,当两个数据集的扰动率超过 15% 时,我们可以看到 GCN 和 GraphNAS 的明显下降。
在这里插入图片描述

理解操作鲁棒性

  为了理解各种GNN组件的鲁棒性,我们随机抽样了300个架构,并评估它们在干净和攻击图上的性能。为了进行公平的比较,我们对所有选择的架构保持相同的训练配置。具体来说,我们将每个架构训练 200 个时期,学习率为 0.005,权重衰减为 5e-4。我们使用分类准确率的下降作为衡量标准,并在 Mettack(5% 扰动率)下的 Cora 数据集上报告结果,而其他数据集也显示出类似的趋势。一种架构的性能下降越少,该架构就越稳健。图 4a 和图 4b 显示了各种架构设计下的鲁棒性箱线图。对于每个子图,顶部的图显示了干净图表上的操作选择和模型测试精度之间的关系,而底部的图则通过精度降低显示了操作的鲁棒性。我们提出以下观察。
在这里插入图片描述
内部消息传递层设计 图 4a 显示了该架构对于不同层内架构设计的鲁棒性。为了简单起见,我们只考虑第一层的层内操作。我们可以看到,架构设计在架构准确性和稳健性方面都发挥着重要作用。使用预处理图结构掩码操作提高了 GNN 模型的鲁棒性,但牺牲了一些准确性。对于 Cora 数据集,NFS 是预处理扰动图数据最有效的操作。GCN是Mettack下相关系数最脆弱的。一个可能的原因是Mettack采用了两层GCN模型作为代理模型来生成对抗性样本。对于邻居聚合操作,Sum 显示出高精度和相对稳健的性能。更重要的是,Max 还能够生成一些鲁棒的架构。此外,组合函数对于增强 GNN 的鲁棒性至关重要,因为我们可以看到使用 GIN 或 SAGE 操作时精度下降较小。因此,在消息传递中必须区分自身消息和邻居消息。

消息传递层间设计 我们的层间设计包括跳过连接和层聚合操作。我们还研究了消息传递层的数量如何影响 GNN 的鲁棒性。结果总结在图 4b 中。跳过连接有助于提高模型的准确性和鲁棒性。对于层聚合,没有明显的差异,并且 LSTM 的表现比其他两种操作稍微鲁棒一些。更有趣的是,增加模型深度使得 GNN 在对抗性攻击下更加脆弱。2 层 GNN 在 Cora 数据集上显示出相当好的性能。

结论和局限性

  在本文中,我们提出了第一个针对 GNN 的对抗性鲁棒 NAS 框架。我们将图结构掩码操作合并到搜索空间中,以增强 GNN 的防御能力。我们还定义了一个鲁棒性指标,可以有效地衡量架构的鲁棒性。实验结果证明了我们提出的方法在对抗性攻击下的有效性。我们根据经验分析了不同操作的架构鲁棒性,这为深入了解 GNN 架构背后的鲁棒性机制提供了见解。
  同时,效率低下是许多 NAS 方法的共同问题。由于这个弱点不是我们的主要关注点,因此我们希望将这个限制留作未来的工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1227157.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Frames X for figma 组件库设计系统 Local Variables下载

简而言之,Frames X 是最出色、易于使用且文档齐全的Figma 设计系统之一。 它包括经过深思熟虑的设计指南和现成的组件,并且还提供一本全面的电子书,其中将详细解释如何使用该套件中包含的所有内容。 事实上,电子书使Frames X 与…

Spring IOC/DI和MVC及若依对应介绍

文章目录 一、Spring IOC、DI注解1.介绍2.使用 二、Spring MVC注解1.介绍2.使用 一、Spring IOC、DI注解 1.介绍 什么是Spring IOC/DI? IOC(Inversion of Control:控制反转)是面向对象编程中的一种设计原则。其中最常见的方式叫做依赖注入(…

母婴服务预约小程序的效果如何

二胎家庭增速明显,占比较大,成为市场各母婴品牌的目标,而随着行业发展及市场变化,线上互联网深入人们生活,各家母婴品牌开始向“数字化”靠拢。 目前母婴门店商家主要面临服务/产品线上曝光不足、宣传度不够或扩圈无门…

C++ Sort函数详解

C Sort函数详解 前言 :sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使用stable_sort函数,这里不过…

03 前后端数据交互【小白入门SpringBoot + Vue3】

项目笔记,教学视频来源于B站青戈 https://www.bilibili.com/video/BV1H14y1S7YV 前两个笔记。是把前端页面大致做出来,接下来,把后端项目搞一下。 后端项目,使用IDEA软件、jdk1.8、springboot2.x 。基本上用的是稳定版。 还有My…

【Linux】动静态库的使用与软链接的结合

文章目录 前言一、静态库1.静态库的创建2.静态库的链接3.将库进行打包4.链接方法:1.直接链接2.拷贝到系统路径里面3.采用软链接方法 二、动态库1.解决加载找不到动态库的方法1.直接拷贝2.建立软链接3.建立自己的动态路径配置文件 2.为什么动态库权限需可执行而静态库…

C#入门(1):程序结构、数据类型

一、C#程序结构 第一个C#程序 using System;namespace base_01 {class Program{#region 代码折叠块static void Main(string[] args){//控制台输出Console.WriteLine("Hello World!");Console.Write("C#是微软的编程语言"); //不换行输出//Console.Rea…

相机内参及其内参影响因素的几点思考

目录 理论推导之从相机坐标系到像素坐标系 机械参数对相机内参的影响 Resize与Crop对相机内参的影响 参考文献 理论推导之从相机坐标系到像素坐标系 相机内参的意义即从相机坐标系到像素坐标系的表达,其中共涉及到三个坐标系:相机坐标系、成像坐标系…

2023年【安全员-A证】报名考试及安全员-A证新版试题

题库来源:安全生产模拟考试一点通公众号小程序 安全员-A证报名考试是安全生产模拟考试一点通总题库中生成的一套安全员-A证新版试题,安全生产模拟考试一点通上安全员-A证作业手机同步练习。2023年【安全员-A证】报名考试及安全员-A证新版试题 1、【多选…

AIGC ChatGPT4 读取接口文件并进行可视化分析

数据分析的过程中,对数据文件进行可视化分析是每个数据分析师必备的技能。如下图数据源。 现在需要对各地区的销量进行汇总,使用Python来进行分析。 但是又不想写代码,或者不会Python代码,可以用ChatGPT4来帮我们完成代码的编写。 完整的Python代码: import pandas as p…

【深度学习实验】注意力机制(一):注意力权重矩阵可视化(矩阵热图heatmap)

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 理论介绍a. 认知神经学中的注意力b. 注意力机制: 1. 注意力权重矩阵可视化(矩阵热图)a. 导入必要的库b. 可视化矩阵热图(show_heatmaps&#xff0…

Linux:补充一些常用命令

Linux:补充一些常用命令 1. free -h2. df -lh3. du -sh *4. uname -a5. which6. mvn install 编译打包7. find -name *.jar8. cd -9. nohup java -jar *.jar &10. ps -ef|grep java11. netstat -ntlp 1. free -h free 命令显示系统使用和空闲的内存情况&#x…

3DMAX森林树木植物插件ForestPackLite教程

3DMAX森林树木植物插件ForestPackLite教程 Forest Pack是世界上最受欢迎的散布插件。它提供了一个完整的解决方案来创建大面积的物体,从树木和植物到建筑、人群、骨料、地面覆盖物、岩石等等。如果你能为它建模,森林包就能把它分散开来。 无数工作室依靠…

windows排除故障工具pathping、MTR、sysinternals

pathping 基本上可以认为它是ping和tracert的功能合体。 pathping首先对目标执行tracert,然后使用ICMP对每一跳进行100次ping操作。 如图,是一个对8.8.8.8进行pathing操作。 MTR MTR是另一个多工具合体工具。 winmtr是mtr的windows版本。 这个工具…

数据分析思维与模型:群组分析法

群组分析法,也称为群体分析法或集群分析法,是一种研究方法,用于分析和理解群体内的动态、行为模式、意见、决策过程等。这种方法在社会科学、心理学、市场研究、组织行为学等领域有广泛应用。它可以帮助研究人员或组织更好地理解特定群体的特…

Java多线程核心技术第一阶段-Java多线程基础 02

接上篇:Java多线程核心技术第一阶段-Java多线程基础 01 3.3 清除中断状态的使用场景 this.interrupted()方法具有清除状态标志值的功能,借用此特性可以实现一些效果。 【示例3.3.1】在MyThread4线程中向list1和list2存放数据,基于单一职责原…

Docker中的RabbitMQ已经启动运行,但是管理界面打不开

文章目录 前言一、解决方法方法一方法二 总结 前言 肯定有好多小伙伴在学习RabbitMQ的过程中,发现镜像运行,但是我的管理界面怎么进不去,或者说我第一天可以进去,怎么第二天进不去了,为什么每次重新打开虚拟机都进不去…

Linux 基本语句_11_无名管道文件复制

父子进程&#xff1a; 父子进程的变量之间存在着读时共享&#xff0c;写时复制原则 无名管道&#xff1a; 无名管道仅能用于有亲缘关系的进程之间通信如父子进程 代码&#xff1a; #include <stdio.h> #include <unistd.h> #include <sys/types.h> #inc…

IDEA 搭建 SpringCloud 项目【超详细步骤】

文章目录 一、前言二、项目搭建1. 数据库准备2. 创建父工程3. 创建注册中心4. 服务注册5. 编写业务代码6. 服务拉取 一、前言 所谓微服务&#xff0c;就是要把整个业务模块拆分成多个各司其职的小模块&#xff0c;做到单一职责原则&#xff0c;不会重复开发相同的业务代码&…

HC-SR501传感器制作一个报警系统

接线图&#xff1a; 引脚连接&#xff1a; 1. 将 PIR 信号引脚连接到 arduino 数字 引脚 13。 2. 将 PIR V 引脚连接 到 arduino 5v 引脚。 3. 将 PIR GND 引脚连接到 arduino GND 引脚。 4. 将arduino数字 引脚12连接 到220欧姆电阻&#xff0c;并将该电阻连接到 LED V …