【李宏毅2020 ML/DL】P35-42 Attack ML Models
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。
已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-notes
本节内容综述
- Attack ML Models 的研究有什么意义?
- 本节课将讲Attack与Defense,其中攻击占了大部分。
- 综述,我们想做什么?我们想要加一些特制的noise,误导神经网络,得到非常不同的结果。问题就是,如何
特制
noise呢?Loss Function for Attack
。 - 其中,
Loss Function for Attack
种攻击分为两种:Non-target Attack以及Target Attack。 - 提到了约束,有了这些基础,我们就可以开始研究
How to Attack
。Example很有趣,也很有说服力。 - 为什么会这样?
What happened?
- 接下来讨论
Attack Approaches
,将把FGSM
作为baseline。 - 但是,之前讨论的都是
需要神经网络参数的方法(以此来进行梯度下降)
。这叫做While Box Attack
。因此,保护好网络的参数,就可以保证安全?并不是,我们可以做Black Box Attack
。 - 此外,还可以做到
Universal Adversarial Attack
;此外,Adversarial Reprogramming
,我们还可以通过攻击技术改变神经网络的用处。 Attack in the Real World
。- 最后是有关防御
Defense
的部分。可分为被动防御Passive defense与主动防御Proactive defense。
文章目录
- 本节内容综述
- 小细节
- Motivation
- Loss Function for Attack
- Constraint
- How to Attack
- Example
- What happened?
- Attack Approaches
- Black Box Attack
- Universal Adversarial Attack
- Adversarial Reprogramming
- Attack in the Real World
- Defense
- Passive Defense
- Feature Squeeze
- Randomization at Inference Phase
- Proactive Defense
小细节
Motivation
- We seek to deploy machine learning classifiers not only in the labs, but also in real world.
- The classifiers that are robust to noises and work “most of the time” is not sufficient. 光是强还不够。
- We want the classifiers that are robust the inputs that are built to fool the classifier. 应付来自人类的恶意。
- Especially useful for spam classification, malware detection, network intrusion detection, etc.
Loss Function for Attack
如上,在进行攻击训练时,要保证参数是固定的;此外,训练时要加上约束条件,就是保证我们的噪音不能过大,不能被发现。
Constraint
如上,李老师倾向于使用 L-infinity 表示影像的差别。这些标准最终还是取决于人类的感觉。
How to Attack
x∗=argmaxd(x0,x′)<ϵL(x′)x^* = arg \max_{d(x^0,x')<\epsilon}L(x')x∗=argd(x0,x′)<ϵmaxL(x′)
如上,但是有了限制我们该如何做呢?
首先我们先把限制去掉,正常考虑梯度下降。
接下来,我们把限制加上,在每一步下降时都判断:“是否超过限制?”
,如果超过限制,则进行修正。
其中,fix()
函数有讲究:对于超过的维度,就将其归为允许的最大/最小值。
Example
如上,李老师对ResNet-50进行了50轮攻击训练,得到了右边的新图片,输入到ResNet-50种,ResNet-50很确信这就是一个海星。
左右两张图片有区别么?
如上,我们将其做相减,乘上50倍,得到上图。
此外,变成键盘也可以。
注意,如果随机加一些noise,但是机器不会误判差距特别大。
What happened?
假设x0x^0x0是非常高维空间中的点,其存在某一个方向进行一点便宜,是有可能将值推向别的类别的。
Attack Approaches
其实,攻击方法其实可能只是:
- 不同的限制函数;
- 不同的优化方法而已。
我们讨论的 Fast Gradient Sign Method, FGSM 是最简单的方法之一。
如上,FGSM种x∗x^*x∗只有两种更新可能:
- x∗←x0−ϵx^* \leftarrow x^0 - \epsilonx∗←x0−ϵ
- x∗←x0+ϵx^* \leftarrow x^0 + \epsilonx∗←x0+ϵ
因此,无需多次迭代,得到方向,就直接更新;或者说FGSM只关心方向。
Black Box Attack
如上,我们用同样的训练数据,训练出一个 Proxy
,然后研究如何攻击这个 Proxy
,就基本是得出了攻击原目标的方案。
如上,表格中的数据代表正确率
。如果使用原模型做代理,则正确率降到最低。
Universal Adversarial Attack
有人进行了研究:
- 似乎存在一种通用的noise;
- 可以对于任何模型进行攻击。
Adversarial Reprogramming
我们还可以通过攻击技术改变神经网络的用处。
比如原本是一个用于分类的网络;我们加上了一些noise,并且在图片中心防止黑白格子,其就可以对某个颜色方块数量进行区分。
Attack in the Real World
比如,可以用在人脸识别上。我们可以把noise集中在眼睛的地方,从而制作一款眼睛,让机器识别出错误的人。
此外,还可能对自动驾驶造成威胁。
而对于图片之外的领域,也存在攻击的研究。
Defense
Adversarial Attack cannot be defended by weight regularization, dropout and model ensemble.
Two types of defense:
- Passive defense: Finding the attached image without modifying the model. Special case of Anomaly Detection.
- Proactive defense: Training a model that is robust to adversarial attack.
Passive Defense
如图,我们可以先对输入信息进行一个预处理。
这个预处理无需太复杂。比如,平滑化。
Feature Squeeze
基于这个想法,我们提出了Feature Squeeze,做多个预处理,集成学习,或者说查看这张图片是否被攻击过。
Randomization at Inference Phase
此外,我们还可以对图片进行一些改动,比如小缩放以及一些小边框:
- 因为攻击是基于某个方向上的小改动;
- 我们“以毒攻毒”,则原攻击的效果滤掉。
但是,这种思路就怕预处理方法被泄露。
因为,攻击者如果知道了预处理方法,其可以将预处理作为神经网络的第一层,进行训练,再攻击。
Proactive Defense
精神为:找出漏洞、补起来。
找出每一张图片的攻击图片,然后再去训练这些加噪了的图片。思想类似Data Augmentation
。
【李宏毅2020 ML/DL】P35-42 Attack ML Models相关推荐
- 【李宏毅2020 ML/DL】P26-33 Explainable ML
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P1 introduction
[李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...
- 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...
- 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P15 Why Deep-
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM
李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...
- 2021李宏毅机器学习笔记--12 attack ML models
2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...
最新文章
- mysql引号问题_MySQL中引号的问题
- mybatis 注解和xml同时实现
- IP协议详解之子网寻址、子网掩码、构造超网
- Delphi XE 10.4 FMX ListView 一个不易察觉的 BUG
- easyUi创建临时Dialog
- EDM数据库营销是什么?-EDM数据库营销的概念
- Android逆向笔记-通过字符串定位跳转点
- CVPR 2019 IIAI 目标计数
- Leetcode - 143. Reorder List
- Cuiwei Li / Detection of ECG characteristic points using wavelet transforms
- ECMAScript 学习笔记01
- 围观了张一鸣近10年的微博,我整理了这231条干货
- 手机网站如何制作,移动网站怎么建设?
- 【电脑一点通】如何新建和切换Windows桌面
- 如何在Windows系统上实现共享文件夹
- 帧内预测-函数initAdiPattern
- 把object强制转换成int
- 科学松鼠会--压缩感知
- matlab死亡时间推测实验,尸检——关于死亡时间推测的基本手法及操作方式
- 讲清MVC、MVP、MVVM,看这一篇文章就够了
热门文章
- 【Excel-2010】日期函数
- springboot2 - 坑 - 解决put提交接收不到参数的问题
- Hibernate 异常:“@OneToOne or @ManyToOne on XXX references an unknown entity: XXX”
- 解决ActiveX Control异常:“没有注册类(异常来自 HRESULT:0x80040154(REGDB_E_CLASSNOTREG))“
- 区域医疗移动医疗影像解决方案1-基于HTML5的PACS
- eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法
- Express-js无法获取我的静态文件,为什么?
- 在Windows上忽略Git存储库中的目录
- win11怎么安装安卓app win11上安装安卓app的步骤教程
- 利用函数求数组中的最大值