Attack ML Models - 李宏毅
https://www.bilibili.com/video/av47022853
-
Training的Loss:固定x,修改θ,使y0接近ytrue.
-
Non-targeted Attack的Loss:固定θ,修改x,使y‘远离ytrue.
-
Targeted Attack的Loss:固定θ,修改x,使y‘远离ytrue且接近yfalse.
-
constraint:x‘和原图像x0的相似度,必须小于阈值ε.有多种计算方法,如L2-norm,L-infinity,因为取决于人类感知,一般采用L-infinity.
-
对抗攻击即生成对抗样本x’,它要使得损失函数L(x‘)尽可能小,同时确保相似度d(x0,x’)小于ε.
-
采用梯度下降法进行,x0作为初始值进行迭代.如果相似度超过ε,则对xt进行修正.
-
具体修正策略为,找到小于ε且与当前xt最接近的x.
-
图片特征一般是很高维的,在某些维度上如图1,tiger cat的置信度范围很广且附近都是cat,在另一些维度上如图2,tiger cat的置信度很窄且附近时不相干的事物.
-
不同的对抗攻击方法,区别一般在于采用不同的距离限制方式与不同的优化策略.
-
FGSM是一种常见的对抗攻击方法,它的原理是计算出分类函数loss的梯度,然后用sign函数将其指向四个角的方向之一,再乘上ε使其落在角上,x0减去一次该值就得到最终的x*,位于四个角其中之一.
-
之所以只做一次且落在角上,是因为即使多次迭代后得到x1,但因为存在constrain,因此仍会被拉回到同样位置.
-
LIME是一种用可解释的模型来对不可解释的模型作出解释的方法.
-
首先确定一个想要解释的点,然后在该点附近进行采样,利用可解释的模型对这几个点进行局部拟合.
-
黑箱攻击,即利用目标网络的训练数据,自己训练出一个网络,并且根据自己的网络生成一些对抗样本,这些样本对目标网络的攻击往往能成功.
-
相关应用有Universal Adversarial Attack和Adversarial Reprogramming等.
-
对抗攻击一般不能被权重正则化、dropout、模型集成等方式所防御.
-
消极防御只找到噪点图像,但不修改模型.
-
消极防御可以对于图像施加一个filter,减轻噪点对模型的干扰.例如将图像平滑化.原理是对抗攻击一般只在某个方向生效,改变图片即可使这个图像无效.
-
Feature Squeeze中的Squeeze即一个filter,该方法将原图像与通过多种filter后的图像预测结果进行比较,若其中有某个预测结果相差超过阈值,就认为该图像被修改过.
-
Randomization at Inference Phase对图像采用随机的、微小的改变,例如缩放、填充等,对改编后的图片进行分类.
-
主动防御修改模型,使得它对于对抗攻击具有鲁棒性.
-
主动防御利用某种对抗攻击算法,形成对现有模型有效的对抗样本,再将这些对抗样本标注为对应原图像的原答案,作为新的训练样本来更新模型.
-
该方法需要找T次漏洞,每次找N张图片.因为每次模型更新后可能会产生新的漏洞.
-
如果找漏洞的对抗攻击算法为A,那么该模型仍然很可能会被算法B攻破.
来源:oschina
链接:https://my.oschina.net/u/4399679/blog/3372237