基于图神经网络的对抗攻击 Nettack: Adversarial Attacks on Neural Networks for Graph Data

研究意义

随着GNN的应用越来越广,在安全非常重要的应用中应用GNN,存在漏洞可能是非常严重的。
比如说金融系统和风险管理,在信用评分系统中,欺诈者可以伪造与几个高信用客户的联系,以逃避欺诈检测模型;或者垃圾邮件发送者可以轻松地创建虚假的关注者,向社交网络添加错误的信息,以增加推荐和传播重大新闻的机会,或者操控在线评论和产品网站。
因此,我们需要研究对图神经网络的攻击和防御,在我们真正部署一个模型前,应该确认一下这个模型在面对对抗攻击的时候足够健壮?

参考资料

https://zhuanlan.zhihu.com/p/88934914
https://blog.csdn.net/b224618/article/details/82025371
https://blog.csdn.net/travalscx/article/details/84677646
https://www.in.tum.de/en/daml/all-news/news-single-view-en/article/best-paper-award-at-kdd-2018/

  • 项目:https://www.in.tum.de/daml/nettack/
  • 项目:https://www.in.tum.de/en/daml/research/nettack/
  • 代码:https://github.com/danielzuegner/nettack
  • poster:https://www.in.tum.de/fileadmin/w00bws/daml/nettack/kdd_poster.pdf
  • paper:https://arxiv.org/abs/1805.07984
  • talk ppt:https://www.in.tum.de/fileadmin/w00bws/daml/nettack/kdd_talk.pdf

介绍

来自KDD 2018,最佳论文。图神经网络上的对抗攻击的开山之作。

场景

在这里插入图片描述
备注:
考虑一个简单且经典的场景,图上的结点分类任务。
给定一张图,图上部分结点有标签,通过训练一个深度学习模型来预测图上结点的分类。

一方面预测不基于单独的示例而是联合了图上很多实例的关系效应可能提高鲁棒性;另一方面信息传播带来的级联效应,操纵一个示例可能会影响其他实例,可能会降低鲁棒性。

本文就是研究操纵模型的预测结果是否可能?并且提出一个名叫nettack的对抗攻击算法,来欺骗图深度学习模型。

挑战

  • 如何找到有效的制造扰动的算法?
  • 如何界定图的扰动不明显、不被注意到?
    在这里插入图片描述
    在这里插入图片描述

备注:
想要找到对图神经网络的对抗攻击算法,有两个挑战。

一方面图,不像图像这种由连续特征组成的数据,图的结构和以及大部分情况下的节点特征都是离散的,所以基于梯度构造干扰的方法不适用,那么怎么设计有效的算法来在离散空间找到对抗样本呢?

另一方面对抗样本一个要求是不可分辨性,例如图像,我们可以通过限制每个像素变化很小的值使得人类无法分辨图像的变化。对于大规模的图来说,错综复杂的点和线并不是适合人来观察的,那么怎么定义这种“不可分辨性”呢?

攻击模型

在这里插入图片描述

  • 投毒攻击( poisoning attack)
    • 发生在模型被训练前,攻击者可以在训练数据中投毒,导致训练的模型出现故障
  • 逃逸攻击( evasion attack)
    • 发生在模型被训练以后或者测试阶段,模型已经固定了,攻击者无法对模型的参数或者结构产生影响

备注:
为了解决明确我们的问题,先来讨论一下攻击模型。

图上的结点分类任务一般是直推学习(上节讨论班讲过,简单提一下),就是训练和预测基于同一张图。
可以看图上最上面的例子,这张图一部分是有标签的,在这张图上训练好模型以后,用模型来预测这张图上没有标签的点的标签。

然后逃逸攻击指的是只修改预测时的图,也就是模型参数在训练数据上训练,攻击发生模型被训练以后或者测试阶段,模型已经固定了,攻击者无法对模型的参数或者结构产生影响。
也就是图中的第二个例子。逃逸攻击的应用场景更窄一些。

本文考虑的是投毒攻击,投毒发生在模型被训练前,直接用投毒的数据来训练模型并且在投毒的数据上做预测。
在这里插入图片描述
备注:
为了更好的反映现实情况,即攻击者不一定可以直接修改目标结点,可能只能访问除目标结点外的一些结点,或者不能访问整个数据。

因此明确的区分了攻击者结点和目标结点。

  • 目标节点:让模型错误分类的结点
  • 攻击者结点:攻击者可以操作的结点

同时,又根据攻击者控制的结点不同,可以分为直接攻击和推理攻击:

  • 直接攻击:攻击者可以直接操作目标结点,目标结点 == 攻击者结点
  • 推理攻击:攻击者只能操作除目标结点以外的结点,目标结点 ∉ 攻击者结点

还有我们可以做出的扰动类型,比如修改结点特征,添加删除边等等。

问题定义

在这里插入图片描述
备注:
有了前面的这些知识,我们就可以定义我们的问题。
目标是:在有约束的情况下,最大化目标结点的分类损失,也就是最大化结点在扰动后的图上做预测的标签和真实标签的距离

约束是:第一,扰动是不被注意到的;第二,确保攻击者不能修改整个图,允许的扰动数目是有限制的。第二个约束比较好理解,就是限制做扰动的数目,修改一次结点特征或者添加删除一条边,都算一次扰动。

然后问题是如何定义不被注意到的扰动?

如何定义不被注意的扰动

核心思想:只允许那些保留图的特定固有属性的扰动
在这里插入图片描述
备注:
定义不被注意的扰动核心思想是只允许那些保留图特定固有属性的扰动。
对于图结构来说,就是度的分布。因为现实中的图的度分布是符合幂律分布的,所以可以通过检验两张图的度分布是否来自于同一个幂律分布,来判断度的分布有没有明显的改变。

对于结点特征的话,是特征的共现关系。如果一个原图中没有出现的特征在扰动后的图中出现了,这个就是可以被注意到的。方法是:在特征共现图上随机游走,如果有相当大的概率到达一个新加入的特征,那么就认为这个扰动的加入是不被注意的

这里的一些统计量的计算有兴趣或者有需要的可以看一下原文。

这样就定义了如何选择满足条件的扰动,下面考虑如何选择这些满足不被注意条件的扰动,并且应用他们。

替代模型

在这里插入图片描述
备注:
为了能够量化扰动的效果,同时简便计算,所以提出了一个替代模型。这个替代模型基于两层的GCN,把激活函数做了线性的替换。

模型有了,对不被注意的扰动的计算也有了,然后考虑如何选择最佳的扰动?

扰动评价

  • 替代模型损失
    在这里插入图片描述
  • 找到扰动的图令损失最大
  • 评分函数
    在这里插入图片描述

备注:
我们应该选择让替代模型损失最大化的扰动。

因此引入评分函数,来评价扰动后的替代模型的损失,损失越大说明扰动效果越好。

比如评价结构扰动,因为扰动的是结构,所以特征矩阵不变,计算替代模型的损失函数

算法

在这里插入图片描述
备注:
算法是这样的,输入:给定图,目标节点,攻击者结点,改动限制
在原图上训练替代模型去获取参数
在扰动没有达到阈值的的情况下重复循环:

  1. 找到所有可以不被注意扰动的边
  2. 选择一个使得S_struct最大的边
  3. 找到所有可以不被注意扰动的特征
  4. 选择一个使得S_feat最大的边
  5. 施加评分高的扰动

跳出循环后输出扰动后的图

其实这个算法得到的扰动后的图并不一定是最好的,因为算法是贪婪的,每一步只考虑局部最优的扰动。

原文中对快速计算扰动候选集合和快速计算得分函数都有详细的推导及证明,感兴趣的可以看一下原文。

下面一起来看一下实验结果

实验结果

在这里插入图片描述
备注:

  • 这张表中的NETTACK指的是直接攻击
  • NEETTACK-IN指的是推理攻击
    表中的内容代表结点正确分类的比例,越小说明攻击效果越好
    直接攻击的效果要比推理攻击更好

因为这是第一篇嘛,所以对比的baseline是

  • FGSM,快速梯度下降法,基于梯度的方法应用于离散数据并不是一个好的选择,实验表明在邻接矩阵中改变元素时,梯度和实际的损失变化不一致
  • RND,改变图的结构,随机采样点然后添加边

在这里插入图片描述
备注:
这张图描述了在知识受限的情况下,攻击的效果。

知识受限:攻击时候替代模型只在目标节点附近的一定区域内训练。

结果说明了及时知识受限,攻击也是有效的。同时了解的知识越多,需要施加的扰动越少。

图神经网络对抗攻击未来发展方向

  1. 不可感知的扰动度量:人无法轻易分辨是否有扰动,找到简洁的扰动评估方法很重要
  2. 研究的图的种类:主要研究集中在带节点属性的静态图,带边属性的图和动态图研究很少
  3. 图上对抗样本的存在性和可传递性:对于理解图上的学习算法很重要,有助于帮助建立健壮的模型
  4. 可放缩性:攻击方法的高度复杂性阻碍了在实际中的应用,大多数方法时间复杂度高,基于梯度,降低复杂度仍是一个问题

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成对抗网络(Generative Adversial Network,GAN)原理简介

生成对抗网络(GAN)是深度学习中一类比较大的家族,主要功能是实现图像、音乐或文本等生成(或者说是创作),生成对抗网络的主要思想是:通过生成器(generator)与判别器(discriminator)不断对抗进行训练。最终使得判别器难以分辨生成器生成的数据(…

快讯|莫言用 ChatGPT 写《颁奖辞》;特斯拉人形机器人集体出街!已与FSD算法打通

一分钟速览新闻点 言用 ChatGPT 写《颁奖辞》孙其君研究员团队 Adv. Funct. Mater.:多功能离子凝胶纤维膜用于能量离电皮肤微软CEO反驳马斯克:我们没有控制OpenAI特斯拉人形机器人集体出街!已与FSD算法打通微软CEO称小型公司仍可在人工智能领…

从供应链到价值链:人形机器人产业链深入研究

原创 | 文 BFT机器人 01 人形机器人产业进展:AI赋能,人形机器人迭代有望加速 目前人形机器人产业所处从“0”到“1”的萌芽期,从现在到未来的时间里,人形机器人以其仿人外形、身体构成及其智能大脑,能极大解放生产力、…

人形机器人火出圈!OpenAI领投挪威人形机器人公司“1X”

文|牛逼的AI 编|猫猫咪子 源|AI源起 目前已经实现了对接GPT4技术的机器人Ameca,它拥有逼真的外观和丰富的表情。 随着人形机器人技术的飞速发展,未来可能不再适用阿西莫夫所提出的“机器人三定律”,因为超级…

chatgpt赋能python:Python登录界面制作指南

Python登录界面制作指南 介绍 登录界面是许多应用程序的关键组成部分之一。Python作为一种优秀的编程语言,拥有着强大的界面开发框架,能够帮助开发人员更轻松地创作出完美的登录界面。 在本文中,我们将向您介绍使用Python如何制作一个简单…

The Journal of Neuroscience: 珠心算训练有助于提高儿童的视觉空间工作记忆

《本文同步发布于“脑之说”微信公众号,欢迎搜索关注~~》 珠心算是指个体在熟练进行珠算操作后,可摆脱实际算盘,借助大脑中虚拟算盘进行数字计算的方式(图1)。早期行为学研究表明,珠心算个体的数字计算能力…

php珠心算源码,深度解析珠心算的“开智”功能

编者按:本文来自李绵军校长在廊坊智慧特训营演讲。李绵军校长通过十几年来对珠心算的钻研练习,详细解读了珠心算的开智功能,以及“一门深入”的作用。 珠心算的开智价值是在哪里?大家都说开发智力,我在这讲开发智力不是…

php珠心算源码,NOIP201401珠心算测验

珠心算测验 问题描述】 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方…

雨课堂提交作业步骤 10步帮你弄好

1 2 3 4 5 6 7 中间计数记错了… 8 9 10 弹出对话框,点击确认即可 提交成功的截图:

2022李宏毅作业hw4 - 挫败感十足的一次作业。

系列文章: 2022李宏毅作业hw1—新冠阳性人员数量预测。_亮子李的博客-CSDN博客_李宏毅hw1 hw-2 李宏毅2022年作业2 phoneme识别 单strong-hmm详细解释。_亮子李的博客-CSDN博客_李宏毅hw2 2021李宏毅作业hw3 --食物分类。对比出来的80准确率。_亮子李的博客-CSDN博客…

php老师的一个作业展示

1.在ScanCode.php中 在judgeTrayCodeEnableIntoWarehouse方法中: 2在CommitTrayCodes.php中 访问时,直接访问CommitTrayCodes.php,这个CommitTrayCodes.php是要建在controller下,建议导一下,老师的数据库,以防止命名…

HCIA网络课程第七周作业

(1)请用自己的语言描述基本ACL和高级ACL的区别 (2)AAA支持的认证、授权和计费方式分别有哪几种? AAA支持的认证方式有不认证 本地认证 远端认证AAA支持的授权方式为不授权 本地授权 远端授权AAA支持计费方式为不计费…

如何获取抖音和快手直播间的直播流地址

如下是通过python代码脚本获取的方法: import requests import re def get_real_url(rid): try: if ‘v.douyin.com‘ in rid: room_id re.findall(r‘(\d{19})‘, requests.get(urlrid).url)[0] else: room_id rid room_url ‘https://webcast-hl.amemv.com/…

新手如何做抖音直播带货?新号如何快速获取直播推荐流量?

如果要做抖音直播带货的话,首先需要开通抖音直播带货权限。也就是我们经常说的解锁抖音直播购物车功能。解锁直播购物车后,我们就能在直播中售卖商品。 而在此之前,你要先开通商品橱窗并解锁视频购物车。开通商品橱窗,在完成新手…

抖音直播如何获取推流地址?不到1000粉也能直播啦。还能加热。2020年12月29日

抖音直播自从出了自己的pc客户端(直播伴侣)后,直播推流地址已不再对外暴漏。 正常情况下,粉丝大于1000,才可使用抖音官方的推流工具(直播伴侣)。但对于粉丝数不够1000,也想用第三方推流工具(如…

短视频、直播平台——电商直播源码第三方SDK接入教程

现在网络视频直播行业非常火爆,所以很多公司也希望开发直播平台,一般直播平台需要用户给主播送礼物来实现盈利,所以刷礼物的功能是必备的,另外为了增加视频的美感与炫酷等特效功能,也需要用到美颜与视频滤镜等功能&…

2022-5月如何使用疯狂URL获取抖音推流码地址(抖音无人直播教程)

什么是推流地址?平时我们如果是下载直播,叫拉流。但如果是你自己要直播,属于上传直播流数据,叫推流,即:把直播流数据推送到视频服务器,然后别人才能看到直播画面 推流地址有什么用?…

抖音短视频开通PC电脑上直播技术实现

忽如一夜春风来,直播带货满地开。互联网的江湖,是游戏的,是广告的,是直播的,是短视频的,但是归根结底是卖货的——也就是电商啦。 2020年可以看出短视频带货是未来大方向的趋势,最新抖音直播带货…

obs多路推流的实现,抖音直播、快手、淘宝、拼夕夕多平台一个画面同时直播,无人直播

最近最火的软件,无非抖音。抖音最火的内容无非是直播带货,而直播带货的平台有抖音、快手、淘宝、拼夕夕。 直播少不了主播,请一个主播不容易,可能月薪几万,成本较高。而如果自己培养一个主播,成功的概率较…

无人直播带货怎么操作:抖音无人直播视频素材+技术教程+软件工具

通过本文循序渐进的抖音无人直播实操技术指南,了解如何在抖音上编辑视频并让它大放异彩。      几年前,学习如何在抖音上编辑视频可能不是你想做的事情,但在社会最混乱的年份之一,抖音却从中受益。作为App Store和Google Play…