【李宏毅2020 ML/DL】P35-42 Attack ML Models

我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-notes

本节内容综述
  1. Attack ML Models 的研究有什么意义?
  2. 本节课将讲Attack与Defense,其中***占了大部分。
  3. 综述,我们想做什么?我们想要加一些特制的noise,误导神经网络,得到非常不同的结果。问题就是,如何特制noise呢?Loss Function for Attack 。
  4. 其中,Loss Function for Attack种***分为两种:Non-target Attack以及Target Attack。
  5. 提到了约束,有了这些基础,我们就可以开始研究How to Attack。Example很有趣,也很有说服力。
  6. 为什么会这样?What happened?
  7. 接下来讨论Attack Approaches,将把FGSM作为baseline。
  8. 但是,之前讨论的都是需要神经网络参数的方法(以此来进行梯度下降)。这叫做While Box Attack。因此,保护好网络的参数,就可以保证安全?并不是,我们可以做Black Box Attack。
  9. 此外,还可以做到 Universal Adversarial Attack ;此外,Adversarial Reprogramming,我们还可以通过***技术改变神经网络的用处。
  10. Attack in the Real World。
  11. 最后是有关防御Defense的部分。可分为被动防御Passive defense与主动防御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

【李宏毅2020 ML/DL】P35-42  Attack ML Models
如上,在进行***训练时,要保证参数是固定的;此外,训练时要加上约束条件,就是保证我们的噪音不能过大,不能被发现。

Constraint

【李宏毅2020 ML/DL】P35-42  Attack ML Models
如上,李老师倾向于使用 L-infinity 表示影像的差别。这些标准最终还是取决于人类的感觉。

How to Attack

x ∗ = a r g max ⁡ d ( x 0 , x ′ ) < ϵ L ( x ′ ) x^* = arg \max_{d(x^0,x')<\epsilon}L(x') x∗=argd(x0,x′)<ϵmax​L(x′)

如上,但是有了限制我们该如何做呢?

首先我们先把限制去掉,正常考虑梯度下降。

接下来,我们把限制加上,在每一步下降时都判断:“是否超过限制?”,如果超过限制,则进行修正。

【李宏毅2020 ML/DL】P35-42  Attack ML Models

其中,fix()函数有讲究:对于超过的维度,就将其归为允许的最大/最小值。

【李宏毅2020 ML/DL】P35-42  Attack ML Models

Example

【李宏毅2020 ML/DL】P35-42  Attack ML Models
如上,李老师对ResNet-50进行了50轮***训练,得到了右边的新图片,输入到ResNet-50种,ResNet-50很确信这就是一个海星。

左右两张图片有区别么?

【李宏毅2020 ML/DL】P35-42  Attack ML Models

如上,我们将其做相减,乘上50倍,得到上图。

此外,变成键盘也可以。

注意,如果随机加一些noise,但是机器不会误判差距特别大。

【李宏毅2020 ML/DL】P35-42  Attack ML Models

What happened?

【李宏毅2020 ML/DL】P35-42  Attack ML Models
假设 x 0 x^0 x0是非常高维空间中的点,其存在某一个方向进行一点便宜,是有可能将值推向别的类别的。

Attack Approaches

【李宏毅2020 ML/DL】P35-42  Attack ML Models

其实,***方法其实可能只是:

  • 不同的限制函数;
  • 不同的优化方法而已。

我们讨论的 Fast Gradient Sign Method, FGSM 是最简单的方法之一。

【李宏毅2020 ML/DL】P35-42  Attack ML Models
如上,FGSM种 x ∗ x^* x∗只有两种更新可能:

  • x ∗ ← x 0 − ϵ x^* \leftarrow x^0 - \epsilon x∗←x0−ϵ
  • x ∗ ← x 0 + ϵ x^* \leftarrow x^0 + \epsilon x∗←x0+ϵ

因此,无需多次迭代,得到方向,就直接更新;或者说FGSM只关心方向。

Black Box Attack

【李宏毅2020 ML/DL】P35-42  Attack ML Models
如上,我们用同样的训练数据,训练出一个 Proxy ,然后研究如何***这个 Proxy ,就基本是得出了***原目标的方案。

【李宏毅2020 ML/DL】P35-42  Attack ML Models
如上,表格中的数据代表正确率。如果使用原模型做代理,则正确率降到最低。

Universal Adversarial Attack

【李宏毅2020 ML/DL】P35-42  Attack ML Models
有人进行了研究:

  • 似乎存在一种通用的noise;
  • 可以对于任何模型进行***。

Adversarial Reprogramming

【李宏毅2020 ML/DL】P35-42  Attack ML Models
我们还可以通过***技术改变神经网络的用处。

比如原本是一个用于分类的网络;我们加上了一些noise,并且在图片中心防止黑白格子,其就可以对某个颜色方块数量进行区分。

Attack in the Real World

【李宏毅2020 ML/DL】P35-42  Attack ML Models
【李宏毅2020 ML/DL】P35-42  Attack ML Models
比如,可以用在人脸识别上。我们可以把noise集中在眼睛的地方,从而制作一款眼睛,让机器识别出错误的人。
【李宏毅2020 ML/DL】P35-42  Attack ML Models
此外,还可能对自动驾驶造成威胁。

【李宏毅2020 ML/DL】P35-42  Attack ML Models
而对于图片之外的领域,也存在***的研究。

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

【李宏毅2020 ML/DL】P35-42  Attack ML Models
如图,我们可以先对输入信息进行一个预处理。

这个预处理无需太复杂。比如,平滑化。

【李宏毅2020 ML/DL】P35-42  Attack ML Models

Feature Squeeze

【李宏毅2020 ML/DL】P35-42  Attack ML Models

基于这个想法,我们提出了Feature Squeeze,做多个预处理,集成学习,或者说查看这张图片是否被***过。

Randomization at Inference Phase

【李宏毅2020 ML/DL】P35-42  Attack ML Models

此外,我们还可以对图片进行一些改动,比如小缩放以及一些小边框:

  • 因为***是基于某个方向上的小改动;
  • 我们“以毒攻毒”,则原***的效果滤掉。

但是,这种思路就怕预处理方法被泄露。

因为,***者如果知道了预处理方法,其可以将预处理作为神经网络的第一层,进行训练,再***。

Proactive Defense

精神为:找出漏洞、补起来。
【李宏毅2020 ML/DL】P35-42  Attack ML Models
找出每一张图片的***图片,然后再去训练这些加噪了的图片。思想类似Data Augmentation。

 

上一篇:AIsing Programming Contest 2020 游记 (ABC水题,D思维)


下一篇:李宏毅机器学习课程笔记-12.3对抗防御入门