图数据上的对抗攻击

随着 Ian Goodfellow 等人提出的 GAN(生成对抗神经网络)在计算机视觉和自然语言处理方向越来越受关注,基于对抗思想进行模型训练成为这两年机器学习和数据挖掘的热点方向。

今天我们介绍两篇题目非常相似的文章,分别发表于ICML 2018 和 KDD 2018。

Dai, Hanjun, Hui Li, Tian Tian, Xin Huang, Lin Wang, Jun Zhu, and Le Song. "Adversarial Attack on Graph Structured Data." In International Conference on Machine Learning (ICML), vol. 2018. 2018.

Zügner, Daniel, Amir Akbarnejad, and Stephan Günnemann. "Adversarial attacks on neural networks for graph data." In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp. 2847-2856. ACM, 2018.

Adversarial Attack on Graph Structured Data

在现实生活中,我们可以通过图模型建模很多实际问题,例如用户之间的交易。因此,在一些基于图模型的分类任务中,如果分类器没有识别出一笔虚假交易,就会产生一定的损失。

这种虚假的行为在往往通过模拟一些正常用户的行为来逃避分类器的检测。具体到图模型上,对于一个节点,有策略地将其连接到其他节点,能够使这个节点被分类器检测为正样本的概率降低。这便是一个典型的对分类器的攻击行为。

图神经网络(Graph Neural Network)被认为在节点分类和图分类问题上面有较好的表现。基于上面提到的安全性问题,这篇文章主要关注的是图神经网络(Graph Neural Network)的鲁棒性,即通过攻击(对抗)训练的方法来增强图神经网络分类的稳定性。

根据攻击方能获得信息的完整程度,该文章提出了几种攻击模式:

White Box Attack (白盒攻击):攻击者知道图分类器的任何信息,包括分类结果,以及梯度更新的信息;

Practical Black Box Attack (真实黑盒攻击):攻击者只知道分类器预测的结果。PBA 又可以分为PBA-C(攻击者只知道分类结果的概率)和 PBA-D(攻击者只知道分类结果的类别)

Restrict Black Box Attack(受限黑盒攻击):用户只知道部分样本的分类结果,根据这部分样本的分类结果产生对其他样本的对抗样本。

该文章对基于图模型的攻击的具体定义为:在保持图分类结果不变的情况下,通过小规模的增加和减少边的方式,最大化分类结果的错误率。

作者基于此提出了一种基于分层强化学习的方法用来创建对抗样本,作者还提出了随机采样,基于梯度的方法和生成式方法。

在实验阶段,作者比较了不同攻击模式下几种对抗方法在图分类和节点分类的效果。通过这几种方法,我们能对图分类器进行诊断,判断其可能存在的漏洞。

针对这几种攻击方法,作者简单讨论了可能的防御方法,例如在训练的时候随机 dropout edge ,文章最后展示的防御结果不是很理想(进步小于1%)。对防御方法的研究是作者未来的研究方向。

Adversarial attacks on neural networks for graph data

模型示意图

这篇文章的背景和上一篇类似,都是注意到了深度模型在图分类问题中的不稳定性(易受攻击)。这篇文章将研究的图种类限定到了 Attributed Graph(属性图),即图既有节点特征,也有节点之间的结构特征。

不同于上一篇文章,这篇文章默认攻击方是知道图中全部的信息。攻击方的目标是通过制造一些“很难被注意到的”变化(节点属性或者图结构的变化)使得图分类器的错误率上升。

更具体来说,对于我们要攻击的目标节点,我们要产生一个“干扰图”,使得产生的干扰图与原图区别不大,并且最大化新图上目标节点的分类概率和老图上目标节点分类概率的差距。

我们通过改变节点属性和图结构来产生干扰,作者具体定义了什么是节点层面和结构层面的干扰以及如何在保持节点属性和图结构的前提下产生干扰。

作者提出了一种名为 Nettack 的攻击模型用来产生干扰图,该模型定义了候选攻击方法以及计算攻击效果分数的函数,然后在节点属性和图结构两个维度上选择最优的加入干扰的方式。

该方法首先通过在一个代理模型(surrogate model)上进行模拟的攻击行为,然后将代理模型上面训练到结果迁移到实际的深度分类模型中,发现在深度分类器上面也可以达到很好的攻击效果。

该方法研究的深度图分类器有三种,分别为半监督的图卷积网络(GCN),列网络(Column Network)和无监督的深度游走(DeepWalk)模型。实验比较了一种随机方法和梯度攻击节点的方法,最终的实验结果表明 Nettack 模型有较好的攻击效果。

不同于上篇文章,这篇文章并没有讨论相应的防御方法,这可以作为未来的研究方向。

总而言之,这两篇文章的出发点一样,分别从不同的角度对相同问题做了研究,相信未来针对同样的问题还有更多不同角度的研究出现。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180814G0JQED00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券