计算机视觉CS231n学习(9)
对抗样本和对抗训练 Adversarial Examples and Adversarial Training
-
对抗性样本
-
什么是对抗性样本?
是一种能欺骗机器学习模型的样本,通常通过对原始样本施加微小扰动得到
-
时间线
- 2004 年,“Adversarial Classification”(Dalvi 等人)提出欺骗垃圾邮件过滤器5。
- 2013 年,“Evasion Attacks Against Machine Learning at Test Time”(Biggio)提出欺骗神经网络67。
- 2013 年,Szegedy 等人提出能 imperceptibly 欺骗 ImageNet 分类器8。
- 2014 年,Goodfellow 等人提出廉价的、封闭形式的攻击9。
-
适用模型
不仅适用于神经网络,还适用于线性模型、逻辑回归、支持向量机(SVMs)、决策树、最近邻等多种模型
-
为什么会产生对抗性样本?
- 过拟合
- 过度线性,现代深度网络具有很强的分段线性特性
-
迁移性
跨模型、跨数据集迁移,如不同的深度学习模型(DNN)、线性回归(LR)、支持向量机(SVM)等之间存在迁移性
-
-
如何用于破坏机器学习系统?
-
攻击方法:
快速梯度符号法(FGSM):通过公式计算扰动,使目标函数最大化,同时约束扰动的无穷范数不超过ε,即
x~=x+ϵsign(∇xJ(x)) \widetilde{x} = x+ϵsign(∇ x J(x)) x=x+ϵsign(∇xJ(x)) -
实际攻击场景
- 欺骗远程托管API训练的真实分类器(如MetaMind、Amazon、Google)
- 欺骗恶意软件检测器网络
- 在物理世界中展示对抗性样本,欺骗通过相机感知它们的机器学习系统
-
-
防御措施有哪些?
-
失败的防御措施
包括生成式预训练、测试时添加噪声、测试时减少置信度的扰动、权重衰减、各种非线性单元、用自编码器去除扰动、集成方法、纠错码、多次观察、双重反向传播、dropout、训练时添加噪声等
-
有效的防御措施
- 对抗性训练:在训练中使用对抗性样本,能提高模型在对抗性样本上的表现,且经对抗性训练的神经网络在对抗性样本上的实证成功率优于其他机器学习模型
- 虚拟对抗性训练:对于未标记数据,使模型在对抗性扰动下的猜测与原始猜测保持一致,可应用于文本分类等任务
-
-
如何利用对抗性样本改进机器学习?
对抗训练提供了正则化和半监督学习(虚拟对抗性训练)
虽然域外输入问题是基于模型优化的瓶颈,但对抗性样本可作为一种工具,帮助研究者更深入地理解模型的行为和弱点。