对抗性攻击的原理简介

咖啡续命
• 阅读 2480

由于机器学习算法的输入形式是一种数值型向量(numeric vectors),所以攻击者就会通过设计一种有针对性的数值型向量从而让机器学习模型做出误判,这便被称为对抗性攻击。和其他攻击不同,对抗性攻击主要发生在构造对抗性数据的时候,该对抗性数据就如正常数据一样输入机器学习模型并得到欺骗的识别结果。

什么是对抗样本?

这些数据样本看起来像正常样本,但以某种方式受到干扰以欺骗机器学习系统。例如在给定的图像中,并非所有像素都具有相同的重要性,如果可以识别最重要的像素(用于 ML 系统做出分类决策)并更改它们,那么算法决策也会发生变化,样本的结果也会发生变化,但是从肉眼看起来它还是正常的。

对抗性攻击的原理简介

右边的熊猫在加入对抗性噪声后看起来仍然像熊猫,但现在它会被原来的分类器分类到一个完全不同的类中

对抗性攻击的原理简介

所有图片都可以通过这样一种方式受到干扰,以至于所有的图片都被预测为一架飞机

为什么会发生对抗性攻击?

在我们指出它们发生的原因之前,我们再次强调无论是逻辑回归、softmax 回归、SVM、决策树、最近邻还是深度学习模型,没有任何 ML 算法可以免受对抗性攻击。对抗性示例的发生是因为系统中的excessive linearity(过度线性?)造成的。你可能认为深度学习很容易形成非线性决策边界,是的整体上是这样的,但几乎每一个深度学习架构都是分段线性的(想想激活函数)。所以当一个点靠近线性边界时,即使是少量的噪声也能将其推到决策边界的另一侧。从下图中还可以看到,在实践中深度学习分类器具有非常线性的响应。

对抗性攻击的原理简介

深度学习架构是分段线性的

对抗性攻击的原理简介

通常这些类的类间距离很小,因此使用快速符号梯度法FGSM(Fast Gradient Sign Method)可以轻松更改给定对象的类。FGSM通过向图像添加线性量的不可感知噪声并导致模型对其进行错误分类。这个噪声是通过将梯度的符号与我们想要扰动的图像乘以一个小的常数 epsilon 来计算的。随着 epsilon 的增加模型更有可能被愚弄,但扰动也变得更容易识别。对抗噪声可能看起来像随机噪声,但它肯定不是。它会根据像素在最终分类结果中的重要性,为每个像素添加不同数量的噪声。

它们如何被用来破坏机器学习系统?

Andrej karpathy在他的论文中展示了如何打破ImageNet数据集上的线性分类器。但这并不仅限于图像,甚至可以欺骗表格数据,这在金融领域是非常致命的。对抗性攻击是我们不信任自治系统(autonomous system)的原因。我们需要能够处理噪音并能在不同环境中保持稳定的系统。

对抗性攻击的原理简介

对抗性鲁棒性工具集(ART)是用于机器学习安全性的Python库。ART提供的工具可 帮助开发人员和研究人员针对以下方面捍卫和评估机器学习模型和应用程序:逃逸,数据污染,模型提取和推断的对抗性威胁,有兴趣的可以看看。

https://github.com/Trusted-AI...

对抗样本非常危险的另一个关键领域是人工智能医疗。仅 5 个像素就足以使模型变得毫无用处, 这表明模型不是整体的,并且以完全错误的方式在查看数据。尽管从结果来看它看起来很聪明,但在所有结果的背后只是一种数字运算技术并且缺乏上下文的支持,这就是为什么对抗性攻击的风险如此之高。

有哪些防御措施?

正如我们之前确定的那样,对抗样本的存在是因为系统中的线性度,如果我们能以某种方式减少这种线性度会怎样。先谈谈 VC维(Vapnik–Chervonenkis dimension),vc理论(Vapnik–Chervonenkis theory )是由 Vladimir Vapnik 和 Alexey Chervonenkis发明的,该理论试图从统计学的角度解释学习的过程。而VC维是VC理论中一个很重要的部分。对一个指示函数集,如果存在h个样本能够被函数集中的函数按所有可能的2^h种形式分开,则称函数集能够把h个样本打散;函数集的VC维就是它能打散的最大样本数目h.若对任意数目的样本都有函数能将它们打散,则函数集的VC维是无穷大. VC维反映了函数集的学习能力,VC维越大则学习机器越复杂(容量越大).学习能力越强。

对抗性攻击的原理简介

现在,你是否知道一种具有非常高 VC 维度的算法,这意味着它可以在非常高的维度上分离点?我所知道的唯一算法是 SVM 的高斯或 RBF 核,它的 VC 维数为无穷大,这意味着理论上它甚至可以在神经网络无法做到的无穷维中分离点。正是因为这个原因,RBF-SVM 对对抗样本具有鲁棒性。对于除 RBF-SVM 之外的任何其他分类器,研究人员都可以生成任何被预测为 0、1、2….、9 的数字并且无论从人还是从机器角度看输入中也没有任何明显的噪声。下图显示,当他们尝试为 RBF-SVM 生成对抗样本时,数字实际上发生了很大变化。RBF-SVM 将数据推向无限维度,因此每个类之间的类间距离很大。

对抗性攻击的原理简介

对于神经网络,可以使用对抗性示例训练网络,这往往会增加网络的鲁棒性。对抗训练提供正则化和半监督学习 ,下图显示了对抗样本训练的性能提升。其他想法是训练模型使其不可微。此外对抗性攻击不会因为传统的正则化技术而消失。

对抗性攻击的原理简介

以下都是对于对抗性攻击没有任何作用的一些方法

对抗性攻击的原理简介

最初研究人员认为GAN可以解决这个问题,他们认为如果我们知道输入的真实分布,我们就可以避免这个问题,但事实证明,识别对抗样本仍然非常困难。看看下面的图片,一组是好的,另一组是坏的,但是对人类的眼睛来说,它们看起来是一样的。

对抗性攻击的原理简介

  • 线性模型:支持向量机/线性回归不能学习阶跃函数,所以对抗训练的用处不大,作用非常类似于权值衰减
  • k-NN:对抗训练容易过度拟合。

结论

  • 神经网络实际上可以变得比其他模型更安全。对抗性训练的神经网络在任何机器学习模型的对抗性示例上都具有最佳的经验成功率。
  • 对抗训练提供正则化和半监督学习
  • 进攻很简单
  • 防守很困难

作者:Vishal Rajput

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
深度学习技术开发与应用
关键点1.强化学习的发展历程2.马尔可夫决策过程3.动态规划4.无模型预测学习5.无模型控制学习6.价值函数逼近7.策略梯度方法8.深度强化学习DQN算法系列9.深度策略梯度DDPG,PPO等第一天9:0012:0014:0017:00一、强化学习概述1.强化学习介绍2.强化学习与其它机器学习的不同3.强化学习发展历史4.强化学习典
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
AI研习丨针对长尾数据分布的深度视觉识别
  !(http://dingyue.ws.126.net/2020/0812/714a3e94j00qey3su000xd000q100dup.jpg)  摘要  本文介绍了目前国内外关于长尾数据分布下深度视觉识别的研究进展,主要从常用数据集及应用、经典机器学习解决方案和深度学习解决方案三个维度进行梳理和分析,并针对长尾数据分布的
迁移学习核心技术的开发与应用
一、机器学习简介与经典机器学习算法介绍1.什么是机器学习?2.机器学习框架与基本组成3.机器学习的训练步骤4.机器学习问题的分类5.经典机器学习算法介绍章节目标:机器学习是人工智能的重要技术之一,详细了解机器学习的原理、机制和方法,为学习深度学习与迁移学习打下坚实的基础。二、深度学习简介与经典网络结构介绍1.神经网络简介2.神经网络组件简介3.神经网
人工智能人才培养
No.1第一天一、机器学习简介与经典机器学习算法介绍什么是机器学习?机器学习框架与基本组成机器学习的训练步骤机器学习问题的分类经典机器学习算法介绍章节目标:机器学习是人工智能的重要技术之一,详细了解机器学习的原理、机制和方法,为学习深度学习与迁移学习打下坚实的基础。二、深度学习简介与经典网络结构介绍神经网络简介神经网络组件简介神经网络训练方法卷积神经网络介
17个机器学习的常用算法!
根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。1.监督式学习:2.非监督式学习:在非监督式学习中,数据并不被特别标识,学习模
一种产生DSN放大攻击的深度学习技术
Citadel的研究人员最近开发了一种深度神经网络(DNNs),可以检测一种称为分布式拒绝服务(DDoS)DNS放大的网络攻击,然后使用两种不同的算法生成可以欺骗DNN的对抗性示例。近年来,深度学习已证明自己是网络安全中非常有价值的工具,因
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
咖啡续命
咖啡续命
Lv1
举头望明月,低头思故乡。
文章
4
粉丝
0
获赞
0