图神经网络对抗攻击(图注入攻击)_图神经网络边的抗击打能力-程序员宅基地

技术标签: 图神经网络  人工智能  对抗防御  

paper1 :TDGIA(Effective Injection Attacks on Graph Neural Networks) part1


论文下载

Abstract

图神经网络在各种实际应用中都取得了良好的性能。然而,最近的研究发现,GNN容易受到对抗攻击。本文研究了最近引入的一种针对**图注入攻击(GIA)**的真实攻击场景。在GIA场景中,攻击者无法修改输入图的现有连接结构或节点属性,而是通过向其中注入攻击节点来执行攻击。*我们分析了GNN在GIA设置下的拓扑脆弱性,并在此基础上提出了用于有效注入攻击的拓扑缺陷图注入攻击(TDGIA)*TDGIA首先引入拓扑脆弱边选择策略来选择原始节点与注入节点连接。然后设计平滑特征优化目标,为注入节点生成特征。大规模数据集上的大量实验表明,TDGIA在攻击数十个防御GNN模型时,能够持续且显著的优于各种攻击基线。值得注意的是,在KDD-CUP2020提交的数百份文件中,TDGIA的导致的目标GNN性能下降是最佳攻击解决方案造成的损害两倍多。


1、Introduction

近年来,图机器学习被广泛用于结构化和关系数据建模。特别是图神经网络(GNN)的出现为不同的图应用提供了有前景的结果,例如节点分类、社会推荐和药物发现。

尽管取得了令人兴奋的进展,但研究表明,神经网络通常容易受到对抗攻击,在这种情况下,输入上为不可察觉但故意设计的扰动可能会导致错误的预测。对一般神经网络的攻击通常侧重于修改输入实例的属性/特征,例如图像单个像素的轻微扰动。特别是,对抗攻击也可以用于图形结构的输入、需要专门的策略来探索底层的特定缺陷。

对GNN的早期攻击通常遵循图修改攻击(GMA)的设置,如图1(a)所示:给定一个具有属性的输入图形,攻击者可以直接修改其节点(红色连接)和现有节点(红色节点)属性之间的连接。然而在现实场景中,攻击者获得修改现有数据的权限通常是不现实的。以引文图为例,当论文发表时,它会自动形成,这使得以后更改一篇出版物的引文和属性实际上是很困难的。但相对容易的是,向现有引文图中注入新的节点和连接,例如,通过“发布”假论文来误导GNN的预测。

具体而言,KDD-CUP2020中的GIA人物规定如下:(1)黑盒攻击,攻击者无法访问目标GNN模型或目标节点的正确标签;(2)逃逸攻击,攻击只能在测试阶段执行。GIA设置提出了GMA没有面临的独特挑战,例如如何将现有节点与注入节点连接起来,以及如何从头开始为注入节点生成特征

contributions 在这项工作中,研究了黑盒和逃逸攻击设置下的GIA问题,目标是设计一个有效的注入攻击框架,该框架可以最好的愚弄目标GNN模型,从而降低其预测能力。为了理解这个问题及其挑战,对GNN在图注入攻击下的脆弱性进行了深入分析,并表明GNN作为non-structural-ignorant模型,是GIA可攻击的。基于此,提出了拓扑脆弱图注入攻击(TDGIA)(见图1(b)).TDCIA由拓扑脆弱边选择和注入节点属性生成平滑对抗优化两个模块组成,与GIA问题的设置对应。利用原始图的拓扑脆弱来检测最有助于攻击的现有节点,然后以顺序方式注入围绕这些节点的新节点。在此基础上,设计了一个平滑损失函数来优化节点的特征,以最小化目标GNN模型的性能。

在这里插入图片描述

2、Related works

Adversarial Attacks on Neural Networks

首先是针对基于深度学习的对抗性示例现象在计算机视觉中发现。在图像中添加微笑和不可察觉的扰动可以显著改变深层神经网络的预测。提出了快速梯度符号法,利用训练神经网络的梯度来产生这种扰动。此后,提出了更先进的攻击方法。对抗攻击也在更广泛的领域发展,例如自然语言处理或语音识别。如今,对抗性攻击已经成为神经网络的主要威胁之一。

Adversarial Attacks on GNNs

由于存在对抗性示例,图学习算法的脆弱性也被揭示出来。通过修改图形结构数据的特征和边,攻击可以显著降低GNN模型的性能。针对节点分类和图分类任务提出了一种基于强化学习的攻击。这种攻击只会修改图形的结构。Nettack的提出,是对属性图的第一次对抗性攻击。它表明,在图的边和特征上只有很少的扰动对GCN这样的模型是及其有害的。Nettack在不明显扰动的约束下使用贪婪近似方案,并结合快速计算。此外,也提出了一种通过元学习对GNN 进行投毒攻击,即元攻击,它只修改了图的一小部分,但仍然可以显著降低GNN在节点分类任务上的性能。

也有文章研究了一种更现实的场景,即图注入攻击(GIA),它注入新的恶意节点,而不是修改原始图。

3、Problem Definition

一般来说,有两种类型的图对抗攻击:图修改攻击(GMA)和图注入攻击(GIA),本文的重点是图注入攻击,将攻击问题形式化并引入攻击设置。

图对抗攻击的问题首先是在Nettack中形式化,称之为图修改攻击,具体来说,定义一个属性图 G = ( A , F ) G=(A,F) G=(A,F), A ∈ R N × N A\in R^{N\times N} ARN×N 是它 N N N个节点的邻接矩阵, F ∈ R N × D F\in R^{N\times D} FRN×D D D D维节点特征, M : G → { 1 , 2 , … , C } N M:G\to{\{1,2,\ldots ,C\}}^N M:G{ 1,2,,C}N预测在 G G G N N N个节点的标签,并将其预测表示为 M ( G ) M(G) M(G).GMA的目标是通过修改原始图 G G G,最小化一组目标节点 T \mathcal { T } T M M M的正确预测数量:

min ⁡ G ′ ∣ { M ( G ′ ) i = y i , i ∈ T } ∣  s.t.  G ′ = ( A ′ , F ′ ) , f Δ A ( A ′ − A ) + f Δ F ( F ′ − F ) ≤ Δ \begin{array} { l } \min _ { \mathrm { G } ^ { \prime } } \left| \left\{ \mathcal { M } \left( \mathrm { G } ^ { \prime } \right) _ { i } = y _ { i } , i \in \mathcal { T } \right\} \right| \\ \text { s.t. } \mathrm { G } ^ { \prime } = \left( \mathrm { A } ^ { \prime } , \mathrm { F } ^ { \prime } \right) , f _ { \Delta _ { \mathrm { A } } } \left( \mathrm { A } ^ { \prime } - \mathbf { A } \right) + f _ { \Delta _ { \mathrm { F } } } \left( \mathrm { F } ^ { \prime } - \mathrm { F } \right) \leq \Delta \end{array} minG{ M(G)i=yi,iT} s.t. G=(A,F),fΔA(AA)+fΔF(FF)Δ

G ′ {G}^{\prime} G是修改后的图形, y i y_i yi是节点的真实标签, f Δ A f _ { \Delta _ { \mathrm { A } } } fΔA f Δ F f _ { \Delta _ { \mathrm { F } } } fΔF是衡量修改规模的预定义函数。约束 Δ \Delta Δ确保攻击只能轻微修改原图。

Graph Injection Attacks

不是GMA对 G ′ {G}^{\prime} G结构和属性的修改,GIA直接注入 N I N_I NI,将新节点添加到 G G G中,同时保留原始边和 N N N个节点的属性不变。形式上,GIA构造 G ′ = ( A ′ , F ′ ) {G}^{\prime}=({A}^{\prime},{F}^{\prime}) G=(A,F)通过
A ′ = [ A V I V I T A I ] , A ∈ R N × N , V I ∈ R N × N I , A I ∈ R N I × N I F ′ = [ F F I ] , F ∈ R N × D , F I ∈ R N I × D \begin{array} { c } \mathbf { A } ^ { \prime } = \left[ \begin{array} { c c } \mathbf { A } & \mathbf { V } _ { I } \\ \mathbf { V } _ { I } ^ { T } & \mathbf { A } _ { I } \end{array} \right] , \mathbf { A } \in \mathbb { R } ^ { N \times N } , \mathbf { V } _ { I } \in \mathbb { R } ^ { N \times N _ { I } } , \mathbf { A } _ { I } \in \mathbb { R } ^ { N _ { I } \times N _ { I } } \\ \mathbf { F } ^ { \prime } = \left[ \begin{array} { c } \mathbf { F } \\ \mathbf { F } _ { I } \end{array} \right] , \mathbf { F } \in \mathbb { R } ^ { N \times D } , \mathbf { F } _ { I } \in \mathbb { R } ^ { N _ { I } \times D } \end{array} A=[AVITVIAI],ARN×N,VIRN×NI,AIRNI×NIF=[FFI],FRN×D,FIRNI×D

A I \mathbf { A } _ { I } AI是注入节点的邻接矩阵, V I \mathbf { V } _ { I } VI是一个矩阵,表示 G G G的原始节点与注入节点之间的边, F I \mathbf { F } _ { I } FI是注入节点的特征矩阵。GIA的目标可以形式化为:
min ⁡ G ′ ∣ { M ( G ′ ) i = y i , i ∈ T } ∣  s.t.  G ′ = ( A ′ , F ′ ) , N I ≤ b , deg ⁡ ( v ) v ∈ I ≤ d , ∥ F I ∥ ≤ Δ F \begin{array} { l } \min _ { \mathrm { G } ^ { \prime } } \left| \left\{ \mathcal { M } \left( \mathrm { G } ^ { \prime } \right) _ { i } = y _ { i } , i \in \mathcal { T } \right\} \right| \\ \text { s.t. } \mathrm { G } ^ { \prime } = \left( \mathrm { A } ^ { \prime } , \mathrm { F } ^ { \prime } \right) , N _ { I } \leq b , \operatorname { deg } ( v ) _ { v \in I } \leq d , \left\| \mathbf { F } _ { I } \right\| \leq \Delta _ { F } \end{array} minG{ M(G)i=yi,iT} s.t. G=(A,F),NIb,deg(v)vId,FIΔF

I I I是注入节点的集合, N I N _ { I } NI受预算 b b b限制,每个注入节点的度受预算 d d d限制,注入特征的范数受 Δ F \Delta _ { F } ΔF的限制。这些约束是为了防御尽可能不注意GIA。

The Attack Settings of GIA

GIA最近受到了广泛的关注,并成为KDD-CUP2020竞赛的任务之一,考虑到它在现实世界场景中的广泛意义,遵循在比赛中使用的相同设置,即黑盒和逃逸攻击。

黑盒攻击。在黑盒设置中,攻击无法访问目标模型 M M M,包括其架构、参数和防御机制。然而攻击可以访问原始属性图 G = ( A , F ) {G}=({A},{F}) G=(A,F)以及训练和验证节点的标签,但不能访问要攻击的节点。

逃逸攻击。GIA遵循逃逸攻击设置,即在测试阶段只对目标模型执行攻击。这使的它不同于投毒攻击,在投毒攻击中,目标模型被重新约束在受攻击的图上。

The GIA Process

由于黑盒和逃逸设置,GIA需要借助代理模型进行迁移攻击。首先,训练代理模型;其次,对该模型进行注入攻击;最后,攻击迁移到一个或多个目标模型上。

为了处理大规模数据集,GIA可以根据其定义分为两个步骤。首先,生成现有节点和注入节点 ( A I , V ) (\mathbf { A } _ { I } ,V) (AI,V)之间的边;其次,优化注入节点的特征。这种分解可以大大降低复杂性,并使GIA适用于大型图。

目标模型可以 M M M可以是任何图机器学习模型,本文的重点是以图神经网络为目标模型。

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44809488/article/details/127174003

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签