【图对抗】Local-Global Defense against Unsupervised Adversarial Attacks on Graphs

本文主要是介绍【图对抗】Local-Global Defense against Unsupervised Adversarial Attacks on Graphs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文标题: Local-Global Defense against Unsupervised Adversarial Attacks on Graphs
原文代码: https://github.com/jindi-tju/ULGD/blob/main
发布年度: 2023
发布期刊: AAAI


摘要

Unsupervised pre-training algorithms for graph representation learning are vulnerable to adversarial attacks, such as first-order perturbations on graphs, which will have an impact on particular downstream applications. Designing an effective representation learning strategy against white-box attacks remains a crucial open topic. Prior research attempts to improve representation robustness by maximizing mutual information between the representation and the perturbed graph, which is sub-optimal because it does not adapt its defense techniques to the severity of the attack. To address this issue, we propose an unsupervised defense method that combines local and global defense to improve the robustness of representation. Note that we put forward the Perturbed Edges Harmfulness (PEH) metric to determine the riskiness of the attack. Thus, when the edges are attacked, the model can automatically identify the risk of attack. We present a method of attention-based protection against high-risk attacks that penalizes attention coefficients of perturbed edges to encoders. Extensive experiments demonstrate that our strategies can enhance the robustness of representation against various adversarial attacks on three benchmark graphs.


背景

尽管图上的预训练模型已经显示出令人鼓舞的结果,表明这些基于 GNN 的模型也更容易受到图的对抗性攻击。这会影响整个图的表示能力,进而将错误的表示传输到所有下游任务。即使是细微的扰动也会对学习的图表示产生相当大的影响,从而降低下游任务的性能。

目前的方法扰乱干净的图以改变其表示并攻击随后的下游任务。然而,大量研究已经证明,扰动边也会对表示造成不同程度的损害。而且扰动边产生的损伤程度主要取决于边缘的敏感性,对高敏感性边的少量扰动会显着降低模型的表示能力。现有的鲁棒 GNN 预训练模型忽略了敏感边缘保护的要求。图1(b)显示了传统的基于全局防御的鲁棒表示学习方法的分类精度随着扰动边缘比例的增加而降低的趋势。

因此,有两个问题需要解决:1)如何识别敏感边缘? 2)如何保护敏感边缘免受有害攻击?

创新点

在本文中,首先提出扰动边缘危害性(PEH)来区分受攻击的边缘是否敏感;然后,使用基于信息论的测量来量化受攻击的边缘是否有害。接下来,设计了一种算法,结合局部敏感边缘防御和全局防御方法,从局部和全局角度提高表示的鲁棒性。
此外,本文专注于添加边缘而不是删除它们,因为添加边缘比删除边缘更有效,并且需要更多保护。在两个遥远的节点之间添加边将对图的结构产生重大影响,而删除边的节点可能通过高阶邻居连接。

Preliminaries

  • 图表示学习 Graph Representation Learning
    用邻接矩阵 A表示边集 E,X表示特征矩阵。因此 G = (A, X) 表示该图。目标是学习编码器 e,它将输入节点映射到低维表示 z。

  • 互信息 Mutual Information
    互信息 I (X; Y ) 是基于熵的变量 X 和 Y 之间相互依赖性的度量,并且可以解释为一旦变量 X 的值已知,另一个随机变量 Y 的不确定性降低程度。定义为: I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I (X; Y ) = H (X) − H (X|Y ) I(X;Y)=H(X)H(XY) ,其中 H ( X ) H (X) H(X) 表示变量 X 的熵, H ( X ∣ Y ) H (X|Y ) H(XY) 表示给定 Y 时 X 的条件概率的熵。

  • 投影梯度下降
    在每次迭代结束时,使得梯度朝 l ∞ l_∞ l方向加上微小的扰动
    在这里插入图片描述

模型

1. Min-Max Adversarial Attack

对抗性攻击可以定义为双层优化问题:
在这里插入图片描述
其中 P G Δ 是输入图 G 上扰动矩阵 Δ 的空间。L(·) 是对比损失,即局部表示和全局图摘要之间的负互信息,fθ(·) 是代理模型。本文选择投影梯度下降(PGD)方法作为攻击。

2. 量化对抗性攻击的危害性

本文基于互信息的变化,提出了PEH来量化对抗性攻击的危害性。如果在对抗攻击后,被攻击的图与编码表示之间的相互信息急剧减少,换句话说,需要其他节点来学习扰动图,从而限制了编码器的表达能力。则可以认为被攻击的边缘是敏感的。此外,如果PEH(θ)的值不高,我们不应该特别保护被攻击的边缘。

PEH(θ)可以定义为:
在这里插入图片描述

形式上,当 PEH(θ) > h 时,扰动边缘就足够危险了。

3. 防御措施

在判断被攻击的边缘是否敏感后,我们提出两种不同的防御策略,即局部防御和全局防御。如果PEH(θ) > h,则采用局部防御策略,否则采用全局防御,其中θ表示当前参数。

(1)局部防御

  • 为什么图编码器容易受到对抗性攻击?
    图编码器在无监督学习期间采用聚合来获取相邻节点表示。如果图的边缘被破坏,则在整个聚合过程中“假”邻居将被视为“真”邻居,并且它们的信息将传播到其他节点。因此,我们在无监督预训练的编码器上使用基于注意力的惩罚机制。
  • 首先,使用图注意力网络(GAT)作为图编码器。对于节点 i,逐一计算其一阶邻居节点 j ∈ Ni 及其注意力系数 rij。
    在这里插入图片描述
    其中W是负责增加节点特征维度的参数,||表示向量的串联,a表示拼接的高维特征到实数的映射,本文设计为单层前馈神经网络。
  • 之后,与节点 vi 相关的注意力系数进行softmax归一化。
  • 根据计算的注意力系数对相邻节点的特征进行加权求和,以更新每个节点i的特征。
    在这里插入图片描述
  • 本文希望通过降低污染图中所有扰动边的注意力系数来减少负面影响。我们通过累加扰动边缘的注意力系数来评估扰动边缘对整个系统的影响:
    在这里插入图片描述
    其中 E ∗ E_* E 表示扰动边缘,即添加的边缘。 Sp越小,扰动边缘的影响越小。
  • 为了最小化Sp,设计了损失函数 L a t t L_{att} Latt来同时减少扰动边缘的注意力值并增加干净边缘的注意力值:
    在这里插入图片描述
    其中 E 和 E∗ 分别表示原始边数和扰动边数。请注意,作者试图直接降低所有添加边所接收的注意力系数 aij,导致整体损失无法收敛。
  • 将 Latt 与互信息熵损失 Lm 相加产生局部保护损失。Lm 是干净图和编码表示之间的负互信息。
    在这里插入图片描述
    (2)全局防御
    PEH(θ) 值越低,意味着攻击对当前编码器造成的危险性较小,可以实现不针对扰动边缘的全局防御。通过最大化扰动图与其表示之间的互信息,从而提高表示的整体鲁棒性。以下是全局防御的比较学习目标:
    在这里插入图片描述
优化
  • 如何最大化编码表示和图的全局摘要之间的互信息?
    本文使用原始图中正样本和负样本之间的二元交叉熵损失:
    在这里插入图片描述
  • 参数
    如果PEH(θ)>小时,我们尝试针对敏感边缘进行局部保护。模型参数 Θ 更新如下:
    在这里插入图片描述
    当PEH(θ)<h时,这种攻击的风险很低,只需要在方程11中使用随机梯度下降(SGD)来教授模型全局表示鲁棒性。
    在这里插入图片描述

实验

Ours-Wl 是我们模型的变体,没有局部防御。

1.对抗PGD攻击的下游任务性能

从表2中,我们发现(i)随着扰动率的增加,与基线相比,我们的防御性能也随之上升,这凸显了早期接种疫苗的必要性;(ii) 我们可以看到我们的模型比 Ours-WL 表现更好。这也说明注意力惩罚机制有利于面对对抗性攻击时的表征能力;(iii)随着扰动率的增加,半监督模型的精度偏差更明显。可能是扰动率的增加导致了标签信息与扰动图的不一致。

2.对抗不同对抗性攻击的表现

从图2:当扰动率越高时,模型的性能都会衰减,但本文模型总体下降速度较缓,并始终展现出较好的准确率

3.注意力分数的影响

当使用全局防御时对于扰动的边的注意力已比正常边低。而当使用了局部防御时,与全局防御方法相比,正常边缘获得相对较高的注意力得分。同时,扰动的边缘被迫降低它们之间的注意力系数。

4.敏感度分析

评估两个主要参数(即h和β)在20%比例的攻击下的敏感性。 h控制局部防御或全局防御,β平衡表示在局部防御中的鲁棒性和能力。

我们探讨了Polblogs数据集的敏感性。我们在 0 到 0.5 之间改变 h,从 0 到 1 改变 β。图 4 中的结果表明,我们的模型对特定范围内的变化并不明显敏感。

发现极小值β导致扰动下性能低下,表明所提出的局部和全局防御都是必不可少的。此外,将 β 固定为 0.4,h 固定为 0.2,以在 Cora 和 Polblogs 数据集上实现最佳性能。

这篇关于【图对抗】Local-Global Defense against Unsupervised Adversarial Attacks on Graphs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653415

相关文章

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

生成对抗网络(GAN网络)

Generative Adversarial Nets 生成对抗网络GAN交互式可视化网站 1、GAN 基本结构 GAN 模型其实是两个网络的组合: 生成器(Generator) 负责生成模拟数据; 判别器(Discriminator) 负责判断输入的数据是真实的还是生成的。 生成器要不断优化自己生成的数据让判别网络判断不出来,判别器也要优化自己让自己判断得更准确。 二者关系形成

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络(GAN, Generative Adversarial Network)是一种深度学习模型,由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据,通过两个神经网络相互对抗,来生成以假乱真的新数据。以下是对GAN的详细阐述,包括其概念、作用、核心要点、实现过程、代码实现和适用场景。 1. 概念 GAN由两个神经网络组成:生成器(Generator)和判别器(D

深入探讨生成对抗网络(GANs):颠覆传统的AI创作方式

在人工智能的快速发展中,生成对抗网络(Generative Adversarial Networks, GANs)无疑是一个引人注目的技术。自2014年由Ian Goodfellow等人首次提出以来,GANs已经在图像生成、文本生成、视频生成等多个领域展现出了惊人的能力。本文将详细解析GANs的原理、结构以及应用场景,帮助读者全面理解这一颠覆性的技术。 一、GANs的基本原理 生成对抗网络(G

关于OceanBase MySQL 模式中全局索引 global index 的常见问题

在OceanBase的问答区和开源社区钉钉群聊中,时常会有关于全局索引 global index的诸多提问,因此,借这篇博客,针对其中一些普遍出现的问题进行简要的解答。 什么是 global index ? 由于 MySQL 不具备 global index 的概念,因此这一问题会经常被社区版用户提及。就在前几天,就要人询问下面这个语法的意义。 create table part_tes

Android studio jar包多层嵌套,Add library '__local_aars__:...@jar' to classpath问题

在添加jar包,早app下的build.gradle中的 implementation files('libs/jar包的名字.jar') 修改为 api files('libs/jar包的名字.jar') implementation 单层引用,只引用当前jar包层, api 多层引用,应用当前jar包层,已经jar包引用的jar包层

linux的nohup命令的用法。在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local

在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。 nohup /root/

【机器学习】生成对抗网络(Generative Adversarial Networks, GANs)详解

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 生成对抗网络(Generative Adversarial Networks, GANs)详解GANs的基本原理GANs的训练过程GANs的发展历程GANs在实际任务中的应用小结 生成对

$GLOBALS与global区别 变量销毁机制

代码一: <?php$var1 = 1;function test1(){global $var1; #等价于 $var1 = &$GLOBALS['var1']; 这里的$var1跟外面的$var1是不同的指针,但指向同样的数据unset($var1); #当你unset一个引用,只是断开了变量名和变量内容之间的绑定,这并不意味着变量内容被销毁了.echo $var1; #P

Image Transformation can make Neural Networks more robust against Adversarial Examples

Image Transformation can make Neural Networks more robust against Adversarial Examples 创新点 1.旋转解决误分类 总结 可以说简单粗暴有效