《Attack ML Models

依然范特西╮ 提交于 2021-02-12 04:28:26

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攻破.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!