Deepfool阅读笔记

DeepFool算法,用于计算欺骗最新分类器的对抗样本。它基于分类器的迭代线性化,以生成足以更改分类标签的最小扰动。

文章主要贡献

  • 提出了一种简单准确的方法来计算和比较不同分类器对对抗性干扰的鲁棒性。
  • 实验结果表明使用不精确的方法计算对抗性扰动可能会导致关于鲁棒性的不同结论,有时甚至是误导性的结论。
  • 鲁棒性定义

  • 形式上,对于给定的分类器,定义一个对抗扰动为足以改变估计label \hat{k} 的最小扰动 r(样本鲁棒性是使得模型出现误分类的最小扰动)
  • x是干净样本, \hat{k} 是预测的label,\Delta (x;\hat{k}) 是  \hat{k} 在x点的鲁棒性。

 分类器\hat{k}在整个模型上的鲁棒性定义为:

DeepFool应用于二元分类器 

f是一个线性二分类分类器,

为了使得扰动达到最小,最小的方向就是垂直于分类面的方向。

f在x0处的鲁棒性,等于x0到F的距离。

 假设f是一个一般的二元可微分类器,我们采用一个迭代过程来估计鲁棒性,将f围绕当前点xi线性化,线性化分类器的最小扰动计算为

 

利用式(3)中的闭式解计算算法第i次迭代时的扰动ri,更新下一个迭代xi+1。
当xi+1改变分类器的符号时,算法停止。 

算法流程:

DeepFool应用于多元分类器

分类器的预测标签为:

本文采用的分类器方案是one-vs-all,依旧考虑线性分类器,分类结果的选择  

欺骗分类器的最小扰动:

  几何上,上述问题对应于 x0 与凸多面体P的补数之间的距离的计算:x0位于p内,用dist(x0,Pc)表示该距离。多面体P定义了f输出label  \hat{k}(x0)的空间区域,设置如下图

已知一个四分类器,干净样本x_{0}被分为第四类中。F_{k }是分类的边界超平面。绿色区域为一个凸区域可以表示为

 \hat{l}(x_{0})定义为P边界的最近超平面(下图\hat{l}(x_{0})=3)。形式上\hat{l}(x_{0})可以如下计算:

此时最小扰动为:

 算法流程

DeepFool应用于更一般的分类器 

在迭代i处用一个多面体\tilde{P}_{i}近似集合P

 在算法的每次迭代中,计算到达多面体边界的扰动向量\tilde{P}_{i},并更新当前估计。方法见算法2。

 在二进制情况下,我们的算法可以被看作是一个梯度下降算法,它具有在每次迭代时自动选择的自适应步长。算法2中的线性化也类似于顺序凸规划,其中每一步都对约束进行线性化。

扩展到l_{p }范数

本文中,使用2范数衡量了扰动,但提出的框架不限于这种选择,并且所提出的算法可以简单的适用于寻找任何l_{p }范数(p\in [1,\infty ))的最小扰动。用以下替换算法2中的10,11行中的更新步骤

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值