2020李宏毅学习笔记——28.Attack ML Models(2_8)

1.怎样模拟攻击?

一张图片,使得loss(cross-entropy loss)越大越好,此时网络的参数训练完了,要被冻住,不能改变,而是只改变输入,使我们找到这样一张图片,能够让结果“越错越好”,离正确答案越远越好
在原图中加入一些噪声,这些噪音不是从高斯分布来的。然后丢到模型里面,会得到不一样的结果。
普通的训练模型,x0 输出是y0,交叉熵越小越好
训练的目标函数是:L train
C代表交叉熵,x是不变的,找到参数θ,使得输出的分布和标签的分布越接近越好
如果是Non-targeted Attack:
这里参数θ是不变的,我们希望找到一个x‘,使得输出y’标签的分布越远越好。
如果是Targeted Attack,就是希望机器将输入错误的分类为yfalse

有目标攻击:
希望找到一个x‘,使得输出y’标签的分布越远越好同时与错误(目标)标签越近越好,当然还要有一个限制,我们不希望攻击被发现,因此输入不能改变太大,x0和x’越接近越好, 不然直接输入鱼就ok了:
攻击的loss function 写成下面那样,

2020李宏毅学习笔记——28.Attack ML Models(2_8)

3.攻击种类

  • 无目标的攻击:就是使得结果与事实的距离越远越好
  • 有目标的攻击:输出与答案距离越远越好的同时,还与指定的输出越接近越好
  • Constraint的限制可以简单理解为人眼看不出差别,但是机器可以给出完全不同的答案
    Δx表示:x0,x′的差异

计算方式:

  • L2-norm
  • L-infinity
  • 还有好多

4.2两个方式比较:
L2没有办法描述上面的改变,L-infinity则可以。

2020李宏毅学习笔记——28.Attack ML Models(2_8)

一般对于限制的选择就是使用l2-norm与L-infinity,但是如上图右下角可知利用l2norm计算得到的d(x0,x′)值相同,但是很明显最右下角的图片与原始图片是有所不同的,如果这时使用L-infinity就可以很好的区分出来,所以老师指出L-infinity可能更适合这样的问题,但是针对不同的任务可以选择不同的方法。