MENU

  • Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks
  • 论文简介
  • A simple clean-label attack
    • 通过特征碰撞生成有害数据
    • 优化过程
  • 论文实验
    • 迁移学习上的中毒攻击
    • 端对端训练的中毒攻击
      • 单毒实例攻击
      • 水印 :一种增强中毒攻击威力的方法
  • 总结
  • Data Poisoning Attacks on Multi-Task Relationship Learning
  • MTL
  • 背景
  • MTRL
  • 下毒
  • 计算最优攻击策略-PATOM
    • 总体的优化框架
  • 结论

Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks

论文简介

在这项工作中,我们研究了一种新的攻击类型,称为干净标签攻击,攻击者注入的训练示例被认证机构清晰地标记,而不是被攻击者自己恶意地贴上标签。我们的策略假设攻击者不了解训练数据,而是了解模型及其参数。攻击者的目标是当网络在包含中毒实例的增强数据集上进行重新训练后,使重新训练的网络将一个特定测试实例从一个类错误地分类为她选择的另一个类。除了目标的预期预测错误之外,受害的分类器的性能下降并不明显。(机翻)
这篇论文采取了一种叫做**“数据毒害攻击”(Data Poisoning Attacks)的方法,对神经网络进行攻击。这种方法并不是简单的“数据污染攻击”,即将错误标注的样本加入训练集中,而是将标注正确但经过精细调整的样本加入训练集中。
这种毒害本质上是建立了一个
专属于攻击者的后门**。这个经过精细调整的样本是正常的(标注正确,看起来也没毛病),对于神经网络的训练和一般表现也没有影响。但是对于特定的样本(即攻击者准备攻击的样本),它会有错误的表现,具体来说,它会将其分类到攻击者选定的类别上。Get it

A simple clean-label attack

首先选择一个目标实例(target instance)从测试集中,一个成功的中毒攻击应该造成目标例子被错误分类在测试过程,其次攻击者从基类中选择一个基本实例,并对其进行潜移默化更改,创建一个中毒instance(poison instance),注入训练集中,最后模型用干净的数据集和poison instance来搞鬼,测试时间模型错误的把目标实例分类,那么就成功

通过特征碰撞生成有害数据


**方程1最右面一项使中毒实例p对于人类来说显得像是一个基础类别实例,(β参数化了这一点的程度),**因此它会被这样标记。同时,方程1的第一项使毒实例在特征空间中移向目标实例,并嵌入目标类分布中。在一个干净的模型上,这个毒物实例将被错误分类为目标。但是,如果模型在干净的数据+毒物实例上重训练,那么特征空间中的线性决策边界将被旋转(?),将毒实例标记为基类。由于目标实例在附近,所以决策边界旋转可能会无意中包含基类中的目标实例以及毒物实例(注意,训练是为了正确地分类毒物实例,而不是目标,因为后者不是训练集的一部分)。这允许未受干扰的目标实例(随后在测试时被错误地分类到基类中)获取到进入基类中的“后门”。

优化过程

假如想让作为分类器的神经网络,把类别为t的样本t0 错误分类到b类别中,那么就随便找一个b类别的图片b0​ ,然后将其修改成x使得它长得很像bi,即∣b02−x2∣尽可能小,但是经过神经网络到达最后一层(softmax层)之前,x和ti 的feature maps尽可能接近,即∣f2(t0)−f2(x)∣尽可能小。

论文实验

第一种情景是白盒攻击,即已知神经网络(结构及参数)的情况下进行攻击。它在论文中被称作“A one-shot kill attack”(一击必杀),效果十分好,接近100%可以成功攻击。

但是,它有十分强的局限性:首先,它只能攻击已知网络结构并且使用迁移学习进行训练的网络;其次,它只能攻击小样本数据集的网络,这给现实攻击中“别人用爬虫爬到”造成了更大的困难;最后,它必须在训练过拟合的时候才可以保证接近100%的准确率。这部分下面我会具体提到。

第二种情景是黑盒攻击,即无需知道神经网络的具体情况,对网络进行攻击。它采取了“水印”攻击方法。这种方法的好处是适用范围广,但是主要缺点是必须用较大数目(~50)的图片进行攻击才可以有显著效果,同样地,在现实中想让别人爬50000张图片(cifar-10),里面就有50张都是你的,还是难度比较大的。

总体来说,在**模拟情境下(实验室环境下)**这是一种非常酷而且有效的攻击手段;但是在现实世界中保证特定的机器学习系统被成功攻击,还是有一定困难的。

迁移学习上的中毒攻击

我们首先研究转移学习的情况,其中一个预先训练的特征提取网络只对最后一层网络(softmax)进行训练,使其适应特定的任务。这个过程在工业中很常见,我们希望在有限的数据上训练一个健壮的分类器。在这种情况下,投毒攻击是非常有效的
两次中毒实验。首先,我们攻击预先训练的Inception V3。其次攻击了CIFAR-10数据集
保留1099个测试实例(针对狗类的698个测试实例和401个鱼类类别的测试实例)。我们从测试集中选择目标实例和基本实例,并使用maxIters=1000的算法1创建一个毒实例。由于ImageNet中的图像具有不同的维数,所以我们用β=β0∗20482/(dimb)2=β 来计算式1的β,它采用了基实例(dimb)的维数和Inception V3的特征空间表现层(2048)的维数考虑在内。我们在实验中使用β0=0.25。然后,我们将毒实例添加到训练数据中,并执行冷启动训练(所有未冻结的权值初始化为随机值)。我们使用具有0.01的学习速率的ADAM优化器对100个epochs的网络进行训练。
实验进行了1099次-每次以不同的测试集图片作为目标实例-获得了100%的攻击成功率。作为比较,KOH和梁[2017]研究的影响函数法的成功率为57%。中位错误分类置信度为99.6%(图1b)。此外,总体试验准确度几乎不受中毒影响,平均下降0.2%,最差情况为0.4%,在所有试验中从原来的99.5%。一些样本目标实例及其相应的中毒实例如图1a所示。

请注意,在迁移学习任务上获得100%的成功率通常是不可能的。我们之所以能够在dog-VS-fish任务上使用inception v3获得如此高的成功率,是因为有更多的可训练权重(2048)相比于比训练例子(1801)。只要数据矩阵不包含重复图像,则需要求解以找到权重向量的方程组,并对所有训练数据进行过度拟合。则需要求解的方程组对于所有的训练数据都是欠确定的,对所有训练数据的过度拟合是肯定会发生的。

不正确的类别概率直方图预测的目标图像清洁(暗红色)和中毒(深蓝色)模型。当在中毒的数据集上进行训练时,目标实例不仅被错误分类了,还具有很高的置信度。这里可以看到干净的基本没得,中毒了的就有很高的置信度了

绘制了干净的和中毒的网络的决策边界之间的角度偏差(即权重向量之间的角度差)。如图2所示(蓝色条形和线条)。角偏差是对中毒实例的再训练使决策边界旋转到包含基本区域内的中毒实例的程度。这种偏差主要发生在如图2b所示的第一个epoch中,这表明即使使用次优再训练超参数,攻击也可能成功。平均23度的最终偏差(图2a)表明,毒物实例对最终层的决策边界进行了实质性更改。这些结果验证了我们的直觉,即目标的错误分类是由于决策边界的变化造成的。

综上,这种攻击方法的适用范围是十分有限的,保证成功攻击必须要求:

  • 攻击者必须将“有毒样本”xxx放到被攻击者的训练集中
  • 攻击者知道被攻击者使用迁移学习训练网络
  • 攻击者知道被攻击者只训练最后一层网络,或者最后某几层网络
  • 攻击者知道被攻击者使用的网络以及其参数
  • 被攻击者训练网络不能任意使用数据扩增
  • 被攻击者在训练神经网络时,在训练集上近乎完全过拟合,即训练集上准确率达到~100%

端对端训练的中毒攻击

中毒攻击对迁移学习是非常有效的。当所有层都可以训练时,这些攻击就变得更加困难。然而,使用“水印”技巧和多个毒实例,我们仍然可以有效地毒害端到端网络。

单毒实例攻击

端到端实验集中于cifar-10数据集的缩小的alexnet体系结构
实验中,我们随机选择“飞机”作为目标类,“青蛙”作为基类。对于创建有害实例,我们使用的β值为0.1,迭代次数为12000。下图显示了通过将193维深特征向量投影到二维平面上而可视化的目标、基和毒特征空间表示。第一维是沿着加入基类和目标类的质心的向量(u=µbase−µtarget),而第二维则是沿u正交的向量,在u和θ所覆盖的平面上(倒数第二层的权重向量,即对决策边界的法向)。这个投影允许我们从一个最好地表示两个类(目标和基)分离的观点来可视化数据分布。

然后,通过使用干净数据+单个毒物实例来训练模型来评估中毒攻击。图3a显示了目标、基和毒实例的特征空间表示,以及在干净(未填充标记)和中毒(填充标记)模型下的训练数据。在它们干净的模型特征空间表示中,目标实例和毒实例是重叠的,这表明我们的毒工艺优化过程(算法1)是可行的。奇怪的是,与迁移学习场景不同的是,最后一层决策边界旋转以适应基区域内的毒实例,端到端训练场景中的决策边界在经过中毒数据集再训练后保持不变,如图2中的红色条形图和线所示。
据此,我们提出以下重要意见:在使用毒数据进行再训练期间,网络修改其浅层中的低级特征提取卷积核,以便将毒实例返回到深层中的基类分布中。

端到端训练中毒攻击的特征空间可视化。(a)单个毒物实例无法成功攻击分类器。CLEAN模型下毒物实例的特征空间位置与目标实例的特征空间位置重叠。然而,当模型被训练在干净+中毒数据(即中毒模型)上时,中毒实例的特征空间位置返回给基类分布,而目标保留在目标类分布中。(b)为了使攻击成功,我们从50个具有30%不透明度目标实例的“水印”随机基实例中构造了50个有毒实例。这将导致目标实例从目标类分布(在特征空间中)中提取到基类分布中,并被错误地归类为基类。

水印 :一种增强中毒攻击威力的方法

为了防止训练中的毒物和目标分离,我们使用了一个简单而有效的技巧:将目标实例的低不透明度水印添加到中毒实例中,以允许某些不可分割的特性重叠,同时保持视觉上的不同。这会将目标实例的某些特性混合到毒实例中,并且即使经过再训练,也会使毒实例保持在目标实例的特征空间附近。水印技术在Chen等人中有广泛的应用[2017],但他们的工作需要在推理时间内应用水印,在攻击者无法控制目标实例的情况下,这是不现实的。


多中毒实例攻击
在端到端的训练场景中,中毒是很困难的,因为网络学习的特性嵌入最优地区分目标和毒物。但是,如果我们将来自不同基本实例的多个有害实例引入训练集,又会如何呢?

为了使分类器抵抗多个毒物,它必须学习一个将所有毒实例与目标分离的特征嵌入,同时确保目标实例保持在目标分布中。我们在实验中表明,使用高度多样性的基可以防止中等规模的网络学习不同于基础的目标的特征。因此,当网络被重新训练时,目标实例与毒实例一起被拉向基本分布,并且攻击通常是成功的。

我们观察到,即使在多次毒性实验中,最终层的判定边界也保持不变。这表明,在迁移学习和端到端的训练场景中,中毒的成功有一个根本不同的机制。迁移学习通过旋转决策边界来包含目标,从而对毒物产生反应,而端到端训练通过将目标拉到基本分布中(在特征空间中)做出反应。在对中毒数据集进行再训练时,端到端场景中的决策边界仍然保持平稳(按某一程度的分数变化),如图2所示。

为了量化中毒实例的数量对成功率的影响,我们对1到70之间的每个中毒实例进行了实验(增量为5)。实验使用了从测试集中随机选择的目标实例。每种毒物都是由测试集中的随机基产生的(导致毒物之间的特征多样性很大)。水印的不透明度为30%或20%,用于增强毒物与目标之间的特征重叠。攻击成功率(超过30次随机试验)如图5b所示。在CIFAR-10中对一个不同的目标基类对重复了30个实验,以验证成功率不依赖于类。我们还试了一个更低的不透明度,观察到成功率下降。成功率随中毒实例数的增加而单调增加。50次投毒后,鸟对狗任务的成功率约为60%。注意,只有当目标被归类为基时,我们才认为成功;即使目标实例被错误分类为基以外的类,攻击也被认为是不成功的。

我们可以通过瞄准数据离群点来提高这一攻击的成功率。这些目标远离他们类中的其他训练样本,因此应该更容易翻转他们的类标签。我们的目标是50架“飞机”,它们的分类置信度最低(但仍然正确),每次攻击使用50只毒蛙。这次攻击的成功率为70%,比随机选择的目标高出17%。

总之,端到端方案下的干净标签攻击需要多种技术才能工作:
(1)算法1的优化;(2)毒物实例的多样性;(3)水印。在补充材料中,我们提供了50种毒物的留单消融研究,证实这三种技术都是成功中毒的必要条件。

总结

我们研究了有针对性的清洁标签中毒方法,在训练时攻击网络,目的是操纵测试时间行为。这些攻击很难检测,因为它们涉及非可疑(正确标记的)训练数据,也不会在非针对性的例子上降低性能。所提出的攻击工艺在特征空间中与目标图像碰撞,从而使得网络难以分辨两个目标图像。这些攻击在迁移学习场景中是非常强大的,并且可以通过使用多个有毒图像和水印技巧在更一般的上下文中变得强大。

使用毒物的训练类似于对抗训练技术,以防止逃避攻击。毒物实例在这里可以看作是基类的对抗性示例。虽然我们的中毒数据集训练确实使网络对设计好的错误分类为目标的基类对抗样本更加健壮,它还会导致未更改的目标实例被错误地归类为基。本文对这种对抗性训练的副作用进行了探讨,值得进一步研究。

许多神经网络使用容易被对手操纵的数据源进行训练。我们希望这项工作将引起对数据可靠性和来源这一重要问题的关注。

Data Poisoning Attacks on Multi-Task Relationship Learning

MTL

(多任务学习):给定 m 个学习任务,其中所有或一部分任务是相关但并不完全一样的,多任务学习的目标是通过使用这 m 个任务中包含的知识来帮助提升各个任务的性能。

  • 第一个因素是任务的相关性。任务的相关性是基于对不同任务关联方式的理解,这种相关性会被编码进 MTL 模型的设计中。
  • 第二个因素是任务的定义。在机器学习中,学习任务主要包含分类和回归等监督学习任务、聚类等无监督学习任务、半监督学习任务、主动学习任务、强化学习任务、在线学习任务和多视角学习任务。

背景

两类对于机器学习的威胁:

  • exploratory attack
    修改测试数据
  • casuative attack
    操作训练模型
  1. 最佳的中毒攻击对于MTL
  • 专注于多任务关系学习(MTRL)模型,这是MTL模型中一个的子类,其中任务关系被量化,并直接从训练数据中学习,我们将MTRL上的最优中毒攻击问题作为一个二层规划,该规划适应于任何目标任务和攻击任务的选择。
  1. 提出了一种基于随机梯度上升的算法PATOM来解决最优攻击问题,该算法基于MTRL凸子问题的最优性条件来计算梯度。
  2. 证明MTRL对于数据中毒攻击很敏感,攻击者可以明显降低任务的表现要么直接攻击或者间接攻击,同时证明很强关联性的任务很危险

MTRL


大致意思就是定义了一系列的学习任务T,对于每个Ti定义了训练集,然后标签yi,但这个只有两类,因为他说多类的分类都可以拆分成2分类,one vs the rest strategy,MTL的目标就是共同地给每个任务做一个prediction function。然后他给出了一个预测函数:

之后考虑了MTRL的情况,考虑了很多MTL的方法:

l()是一个任意凸损失函数,W是一个矩阵,是各个任务的权重形成的
这里应该就是MTRL和MTL不同的地方了??
目标函数的第一项用1/ni项度量所有任务的经验损失,以平衡任务的不同样本量,第二部分用于惩罚复杂度(penalize the complexity of M)最后一部分用于任务关系正则化
第一个部分控制了矩阵的协方差是正半定
第二个部分控制了复杂度

下毒


降低目标任务的表现度同于注入一系列的攻击任务,3

  • direct attack
    Ttar = Tatt 应该就是说的把毒直接注入目标任务中,EX:情绪分析
  • indirect attack
    二者没有交集,注入其他任务,从而影响目标任务,个人推荐模型,攻击者无法获取目标任务的训练数据,但可以通过恶意账户来干扰
  • hybrid attack
    直接间接的混合攻击

计算最优攻击策略-PATOM

提出一种计算最优攻击策略的算法PATOM。PATOM是一种基于投影随机梯度上升的算法(a projected stochastic gradient ascent based algorithm),有效地最大化了注入数据,增加了目标任务的经验损失。由于经验损失与注入数据之间没有密切的关系,我们利用MTRL子问题的最优性条件来计算梯度。

总体的优化框架

双层问题很难解决(Bilevel probelms)非线性,不可微分,不凸,
高层问题简单,低层问题不线性不凸
想法是迭代更新注入的方向在最大攻击利用函数U
然后更新法则:

n代表步长,t代表迭代成熟,X代表注入数据的可行域

结论

本文研究了MTRL模型上的数据中毒攻击。据我们所知,我们是最早研究MTL脆弱性的。根据实际情况,将数据攻击分为直接攻击、间接攻击和混合攻击。提出了一个包含三种攻击的二层规划来分析最优攻击问题。我们提出了PATOM,一种基于随机梯度上升的方法,利用MTRL的最优条件来计算梯度。我们评估PATOM的收敛性和对真实数据集的处理质量。实验结果表明,PATOM算法在不到10次迭代的情况下收敛于局部最优,其攻击策略的性能明显优于基线。我们还研究了数据中毒攻击下的任务相关性

Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks 多任务学习 多任务关系学习相关推荐

  1. 【论文笔记】Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks

    Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks 引言 创新性 本篇论文的贡献(目的) 算法步骤 实验结果 ...

  2. 【翻译】Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks

    文章目录 文章标题:毒蛙!针对神经网络的干净标签的中毒攻击-NeurIPS 2018 摘要 1. 引言 1.1 相关工作 1.2 贡献 2. 一种简单的干净标签攻击 2.1 通过特征碰撞生成有害数据 ...

  3. [论文阅读] (02) SP2019-Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks

    神经清洁:神经网络中的后门攻击识别与缓解 Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks ...

  4. KDD2018《Adversarial Attacks on Neural Networks for Graph Data》 论文详解

    Adversarial Attacks on Neural Networks for Graph Data 论文链接:https://arxiv.org/pdf/1805.07984.pdf evas ...

  5. 神经清洗——识别与去除后门:Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks

    Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks 2019 IEEE Symposium o ...

  6. 【RS-Attack】Data Poisoning Attacks to Deep Learning Based Recommender Systems NDSS‘21

    Data Poisoning Attacks to Deep Learning Based Recommender Systems NDSS'21 首个在基于深度学习的推荐系统中进行投毒攻击的研究.文 ...

  7. When Does Machine Learning FAIL? Generalized Transferability for Evasion and Poisoning Attacks论文笔记

    When Does Machine Learning FAIL? Generalized Transferability for Evasion and Poisoning Attacks论文笔记 该 ...

  8. 【Paper-Attack】Poisoning Attacks to Graph-Based Recommender Systems

    Poisoning Attacks to Graph-Based Recommender Systems 背景 一些研究显示推荐系统容易受到poisoning attack(向推荐系统注入虚假数据,从 ...

  9. AI Security2-投毒攻击(Poisoning Attacks)

    接着上一章写的:https://blog.csdn.net/weixin_42468475/article/details/111684668 这是目录 1 数据投毒攻击是什么? 2 数据中毒的根本原 ...

  10. 【RS-Attack】攻击MF:Data Poisoning Attacks on Factorization-Based Collaborative Filtering (NIPS‘16)

    Data Poisoning Attacks on Factorization-Based Collaborative Filtering NIPS'16 针对矩阵分解的投毒攻击.文章针对两个矩阵分解 ...

最新文章

  1. Ibatis调用Oracle存储过程,以及返回Cursor结果集的问题
  2. Spark Shuffle 解析
  3. C#桌面开发的未来WebWindow
  4. 标注所有线段的lisp程序源码_仪表进近图剖面图的详解(五)进近程序高度限制...
  5. 从二进制数据流中构造GDAL可以读取的图像数据
  6. linux中screen 命令简单使用
  7. cpu(s)和%CPU的的区别
  8. 【MIMO通信】基于matlab MIMO_OFDM通信系统仿真【含Matlab源码 314期】
  9. Java编写HTTP请求发送XML报文数据
  10. 用c语言实现数字时钟课程设计,基于C51单片机的数字时钟课程设计(C语言,带闹钟).doc...
  11. UCF101动作识别数据集简介绍及数据预处理
  12. 58同城赶集网简历怎么下载?【58同城赶集网简历采集,真实手机号联系方式获取】
  13. Java调优案例分析与实战
  14. 小镇青年程序员的逆袭人生:从差点回老家到荔枝技术骨干
  15. 【问链财经-区块链基础知识系列】 第二十课 区块链联盟链攻伐战
  16. 【Codeforces】Chloe and the sequence (递归)
  17. matlab画彩色光栅,通过四种方法,在MATLAB中画一维光栅
  18. java换行转义字符串_回车,换行,转义字符“\r”,“\n”是什么关系?
  19. [ENVI]练习过程中遇到的一些问题
  20. ARM中ABORT(中止)的理解

热门文章

  1. 鸿蒙系统am,解读鸿蒙“碰一碰”黑科技以全领域为亚美AM8发展目标
  2. CodeForces 1293A——ConneR and the A.R.C. Markland-N【签到题】
  3. vs报错:8007000E 内存资源不足,无法完成此操作
  4. sensitivity和specificity
  5. qchart 怎么点击一下 出一条线_陈奕迅唱歌技巧,学好这几点,你也能唱出更具有穿透力和磁性的声音...
  6. Java第二课. 数据类型与运算符
  7. Android 编程神器,Android轻应用开发神器!
  8. 电脑蓝牙突然无法使用,解决办法来了
  9. Android 音乐播放器实例 嘟嘟音乐Music
  10. python批量转换音频采样率