共计 2349 个字符,预计需要花费 6 分钟才能阅读完成。
因为机器学习算法的输出模式是一种数值型向量(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