在本文中,作者基于之前的Carlini & Wagner攻击提出了一些新的改进,从而在确保攻击成功率的情况下,增强了攻击的可转移性。
  作者仍然沿用之前C&W攻击的目标函数 f(x,t) f ( x , t ) f(\boldsymbol{x},t):

f(x,t)=max{maxj≠t[Logit(x)]j−[Logit(x)]t,−k} f ( x , t ) = max { max j ≠ t [ L o g i t ( x ) ] j − [ L o g i t ( x ) ] t , − k }

\begin{equation}\nonumber f(\boldsymbol{x},t) = \max \{\max_{j \neq t}[Logit(\boldsymbol{x})]_j - [Logit(\boldsymbol{x})]_t,-k\} \end{equation}
在此基础上,与之前加入L1或者L2范数正则化项不同的是,作者提出加入弹性网络正则化项,即同时加入L1和L2范数正则化项,从而得出如下优化问题:

minxc⋅f(x,t)+β||x−x0||1+||x−x0||22s.t.x∈[0,1]p min x c ⋅ f ( x , t ) + β | | x − x 0 | | 1 + | | x − x 0 | | 2 2 s.t. x ∈ [ 0 , 1 ] p

\begin{equation}\nonumber \begin{aligned} & \min_\boldsymbol{x} c \cdot f(\boldsymbol{x},t) + \beta ||\boldsymbol{x}-\boldsymbol{x}_0||_1 + ||\boldsymbol{x}-\boldsymbol{x}_0||_2^2 \\ & \text{s.t.} \quad \boldsymbol{x} \in [0,1]^p \end{aligned} \end{equation}
EAD公式旨在找到一个敌对的例子 x x \boldsymbol{x},它将被归类为目标类别 t t t,同时最小化δ=x−x0" role="presentation" style="position: relative;">δ=x−x0δ=x−x0\delta=\boldsymbol{x}-\boldsymbol{x}_0在弹性净损失 β||δ||1+||δ||22 β | | δ | | 1 + | | δ | | 2 2 β||\boldsymbol{\delta}||_1 + ||\boldsymbol{\delta}||_2^2,它是 x x \boldsymbol{x}和 x0 x 0 \boldsymbol{x}_0之间的L1和L2失真度量的线性组合。值得注意的是,当 β=0 β = 0 \beta=0时,C&W的L2攻击的表述成为EAD公式的一个特例,它忽略了 δ δ \boldsymbol{\delta}上的L1惩罚。 然而,L1惩罚是一个直观的调整对抗样本生成1的手段,因为 ||δ||1=∑pi=1|δi| | | δ | | 1 = ∑ i = 1 p | δ i | ||\boldsymbol{\delta}||_1 = \sum_{i=1}^p |\boldsymbol{\delta}_i| 代表扰动的总变化量,也是促进扰动稀疏性的广泛使用的替代函数。 正如作者后面评估部分所表明的那样,包括扰动的L1惩罚确实产生了一组独特的对抗性例子,并且它导致了攻击转移能力的提高,并补充了对抗性学习。
  在C&W攻击中,他们使用了一种变量替代的方法 (change of variable, COV) 来消去约束条件,即:

x=12(tanh(x0)+1) x = 1 2 ( t a n h ( x 0 ) + 1 )

\begin{equation}\nonumber \boldsymbol{x} = {1 \over 2} (tanh(\boldsymbol{x}_0)+1) \end{equation}|
当 β>0 β > 0 \beta>0时,我们发现相同的COV方法在求解EAD问题中不是有效的,因为相应的对抗样本对 β β \beta的变化不敏感。 由于L1惩罚是一个不可微的分段线性函数,因此COV方法的失败可以用它在基于梯度的优化问题中的低效性来解释。
因此作者提出使用ISTA(Iterative Shrinkage-Thresholding Algorithm)和FISTA(Fast Iterative Shrinkage-Thresholding Algorithm)求解该问题。
简单介绍一下ISTA和FISTA算法:
若函数 f(x) f ( x ) f(x)的梯度满足Lipschitz连续条件,即 ∇2f(x) ∇ 2 f ( x ) \nabla^2 f(x)的的绝对值有上界,其最小上界称为Lipschitz常数 L(f) L ( f ) L(f)。这时,对于任意的 L≥L(f) L ≥ L ( f ) L \ge L(f),有:

f(x)≤f(y)+⟨x−y,∇f(y)⟩+L2||x−y||2 f ( x ) ≤ f ( y ) + ⟨ x − y , ∇ f ( y ) ⟩ + L 2 | | x − y | | 2

\begin{equation}\nonumber f(\boldsymbol{x}) \leq f(\boldsymbol{y}) + \langle \boldsymbol{x}-\boldsymbol{y},\nabla f(\boldsymbol{y}) \rangle + {L \over 2} ||\boldsymbol{x}-\boldsymbol{y}||^2 \end{equation}
因此对于如下的优化问题 minx F(x)=f(x)+g(x) min x F ( x ) = f ( x ) + g ( x ) \min_x~F(x)=f(x)+g(x),其中 f和g f 和 g f和g都是凸函数,但是 g g g可能非光滑的情况下,我们可以改问题转化为(给定了点y" role="presentation" style="position: relative;">yy\boldsymbol{y}):

QL(x,y)=f(y)+⟨x−y,∇f(y)⟩+L2||x−y||2+g(x) Q L ( x , y ) = f ( y ) + ⟨ x − y , ∇ f ( y ) ⟩ + L 2 | | x − y | | 2 + g ( x )

\begin{equation}\nonumber Q_L(\boldsymbol{x},\boldsymbol{y})=f(\boldsymbol{y})+\langle \boldsymbol{x}-\boldsymbol{y},\nabla f(\boldsymbol{y}) \rangle + {L \over 2}||\boldsymbol{x}-\boldsymbol{y}{||}^2+ g(\boldsymbol{x}) \end{equation}
因此约减过后可以得到序列的迭代公式:

xk+1=argmaxx{g(x)+L2||x−(xk−1L∇f(xk))||2}=pL(xk) x k + 1 = arg ⁡ max x { g ( x ) + L 2 | | x − ( x k − 1 L ∇ f ( x k ) ) | | 2 } = p L ( x k )

\begin{equation}\nonumber \begin{aligned} \boldsymbol{x}_{k+1} &= \arg\max_{\boldsymbol{x}} \Big\{g(\boldsymbol{x})+{L \over 2}||\boldsymbol{x}-\big(\boldsymbol{x}_k-{1 \over L} \nabla f(\boldsymbol{x}_k)\big){||}^2 \Big\} \\ &=p_L(x_{k}) \end{aligned} \end{equation}
其中 L L L起到了步长的作用,我们只需要选择一个比Lipschitz常数L(f)" role="presentation" style="position: relative;">L(f)L(f)L(f)大的常数即可。实际上我们可以选择更好的 L L L来加快收敛速度(即回溯步型),详见这篇论文A Fast Iterative Shrinkage-Thresholding Algorithm for Linear Inverse Problems,但是EAD这里并没有。但是和这篇论文一样,EAD也采用了一种加速的方式来加快收敛,实际上就是ISTA应用Nestrerov加速,Nestrerov加速的梯度下降法可以写为:
1. ξ0=0" role="presentation" style="position: relative;">ξ0=0ξ0=0\xi_0=0
  2. ξk=1+1+4ξ2k−1√2,γk=1−ξk−1ξk ξ k = 1 + 1 + 4 ξ k − 1 2 2 , γ k = 1 − ξ k − 1 ξ k \xi_k={1+\sqrt{1+4\xi_{k-1}^2} \over 2},\gamma_k = {1-\xi_{k-1}\over \xi_{k}},
  3. yk=xk−1−tk∇f(xk−1) y k = x k − 1 − t k ∇ f ( x k − 1 ) y_k = x_{k-1} - t_k \nabla f(x_{k-1})
  4. xk=(1−γk)yk+γkyk−1 x k = ( 1 − γ k ) y k + γ k y k − 1 x_k = (1-\gamma_k)y_k + \gamma_k y_{k-1}
带入即可得到常数步型的FISTA:

我们进一步看一下这个 pL(yk) p L ( y k ) p_L(y_k)如何计算,我们对 QL(x,xk) Q L ( x , x k ) Q_L(\boldsymbol{x},\boldsymbol{x}_k)求梯度,可以得到:

∇xQL(x,xk)=∇f(xk)+L(x−xk)+∇g(x)=0 ∇ x Q L ( x , x k ) = ∇ f ( x k ) + L ( x − x k ) + ∇ g ( x ) = 0

\begin{equation}\nonumber \nabla_\boldsymbol{x} Q_L(\boldsymbol{x},\boldsymbol{x}_k) = \nabla f(x_k) + L(\boldsymbol{x} - \boldsymbol{x}_k) + \nabla g(\boldsymbol{x}) = 0 \end{equation}
我们记 zk=xk−1L∇f(xk) z k = x k − 1 L ∇ f ( x k ) \boldsymbol{z}_k = \boldsymbol{x}_k - {1 \over L} \nabla f(\boldsymbol{x}_k),并且根据问题,有 g(x)=β||x−x0||1 g ( x ) = β | | x − x 0 | | 1 g(\boldsymbol{x}) = \beta ||\boldsymbol{x}-\boldsymbol{x}_0{||}_1,这是一个非光滑的函数,我们只能求次梯度。我们按每一个维度来求解:

∇xQL(x,xk)i=xi−zk,i+1Lβ(|xi−x0,i|)′ ∇ x Q L ( x , x k ) i = x i − z k , i + 1 L β ( | x i − x 0 , i | ) ′

\begin{equation}\nonumber \nabla_\boldsymbol{x} Q_L(\boldsymbol{x},\boldsymbol{x}_k)_i = \boldsymbol{x}_i - \boldsymbol{z}_{k,i} + {1 \over L} \beta (|\boldsymbol{x}_{i} - \boldsymbol{x}_{0,i}|)' \end{equation}
由于 |x| | x | |x|在0点的次导数(对于定义域中的任何 x0 x 0 x_0,我们总可以作出一条直线,它通过点 (x0,f(x0)) ( x 0 , f ( x 0 ) ) (x_0, f(x_0)),并且要么接触f的图像,要么在它的下方。这条直线的斜率称为函数的次导数)是-1到1范围内的任意值,因此上式可以写成

∇xQL(x,xk)i=xi−zk,i+1L⎧⎩⎨⎪⎪+βwhen xi>x0,idwhen xi=x0,i and −β≤d≤β−βwhen xi<x0,i ∇ x Q L ( x , x k ) i = x i − z k , i + 1 L { + β w h e n x i > x 0 , i d w h e n x i = x 0 , i a n d − β ≤ d ≤ β − β w h e n x i < x 0 , i

\begin{equation}\nonumber \nabla_\boldsymbol{x} Q_L(\boldsymbol{x},\boldsymbol{x}_k)_i = \boldsymbol{x}_i - \boldsymbol{z}_{k,i} + {1 \over L} \left\{ \begin{aligned} &+\beta \quad when~\boldsymbol{x}_i > \boldsymbol{x}_{0,i} \\ & d \quad when~\boldsymbol{x}_i=\boldsymbol{x}_{0,i}~and~-\beta\leq d \leq \beta \\ & -\beta \quad when~\boldsymbol{x}_i
所以当我们用新的 β β \beta来代替 βL β L \beta \over L时,只需要 |x0,i−zk,i|≤β | x 0 , i − z k , i | ≤ β |\boldsymbol{x}_{0,i} - \boldsymbol{z}_{k,i}| \leq \beta时,即有梯度为0。其余情况类似,就可以得到投影算子:

Tα(x)i=(|xi|−α)+sgn(xi) T α ( x ) i = ( | x i | − α ) + s g n ( x i )

\begin{equation}\nonumber T_{\alpha}(x)_i = (|x_i| - \alpha)_{+}sgn(x_i) \end{equation}
应用到EAD中,就可以得到:

[Sβ(z)]i=⎧⎩⎨⎪⎪min{zi−β,1}if zi−x0,i>βx0,iif ||zi−x0,i||≤βmax{zi+β,0}if zi−x0,i<−β [ S β ( z ) ] i = { min { z i − β , 1 } i f z i − x 0 , i > β x 0 , i i f | | z i − x 0 , i | | ≤ β max { z i + β , 0 } i f z i − x 0 , i < − β

\begin{equation}\nonumber [S_{\beta}(\boldsymbol{z})]_i = \left\{ \begin{aligned} & \min\{\boldsymbol{z}_i - \beta,1\} \quad if~\boldsymbol{z}_i - \boldsymbol{x}_{0,i} > \beta \\ & \boldsymbol{x}_{0,i} \quad if~||\boldsymbol{z}_i - \boldsymbol{x}_{0,i}|| \leq \beta \\ & \max\{\boldsymbol{z}_i + \beta,0\} \quad if~\boldsymbol{z}_i - \boldsymbol{x}_{0,i}
他们的实验也表明了该方法的攻击成功率并没有下降,并且L1,L2范数几乎没有变化,但是却有更好的可转移性。于此同时,也可以通过这个方法打破蒸馏防御。
顺带一提,一范数正则化的稀疏性也可以由此看出: f(x)=c|x| f ( x ) = c | x | f(x)=c|x|的绝对值的次导数为:

f′(x)=⎧⎩⎨⎪⎪cx>0dx=0 and −c<d<c−cx<0 f ′ ( x ) = { c x > 0 d x = 0 a n d − c < d < c − c x < 0

\begin{equation}\nonumber f'(x)= \left\{ \begin{aligned} & c \quad x>0 \\ & d \quad x=0~and~-c
因此当 c c c在一定范围内时,如果足够大,只要x" role="presentation" style="position: relative;">xxx为0,以L1范数为惩罚项的目标函数的梯度就很容易(可能)为 0 0 <script type="math/tex" id="MathJax-Element-26816">0</script>。

关于EAD: Elastic-Net Attacks to Deep Neural Networks via Adversarial Examples的理解相关推荐

  1. 基于激活聚类的后门检测:Detecting Backdoor Attacks on Deep Neural Networks by Activation Clustering

    Detecting Backdoor Attacks on Deep Neural Networks by Activation Clustering 网址:https://arxiv.org/abs ...

  2. Procedural Noise Adversarial Examples for Black-Box Attacks on Deep Neural Networks论文笔记

    Procedural Noise Adversarial Examples for Black-Box Attacks on Deep Neural Networks论文笔记 0. 概述 如今一些深度 ...

  3. <Fine-Pruning: Defending Against Backdooring Attacks on Deep Neural Networks>阅读笔记

    Abstract 提出了第一个针对后门攻击的有效的方案.我们根据之前的工作实现了三种攻击并使用他们来研究两种有希望的防御,即Pruning和fine-tuning.我们的研究表明,没有一个可以抵御复杂 ...

  4. 3.Deep Neural Networks for YouTube Recommendations论文精细解读

    一.总述 今天分享的是Deep Neural Networks for Y ouTube Recommendations这篇论文的一些核心,这篇论文被称为推荐系统工程实践领域的一篇神文,每一个细节都值 ...

  5. 越线人群计数--Crossing-line Crowd Counting with Two-phase Deep Neural Networks

    Crossing-line Crowd Counting with Two-phase Deep Neural Networks ECCV2016 人群计数有两种做法:1) region-of-int ...

  6. 车牌检测识别--Towards End-to-End Car License Plates Detection and Recognition with Deep Neural Networks

    Towards End-to-End Car License Plates Detection and Recognition with Deep Neural Networks https://ar ...

  7. 批量残差网络-Aggregated Residual Transformations for Deep Neural Networks

    Aggregated Residual Transformations for Deep Neural Networks Facebook AI Research 大牛 Ross Girshick K ...

  8. DeepID3:Face Recognition with Very Deep Neural Networks

    参考文献:<DeepID3:Face Recognition with Very Deep Neural Networks> 1 网络结构 2 特征提取 3 人脸验证

  9. [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)...

    译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...

最新文章

  1. 【Linux+Mono+Asp.net公开课】视频下载
  2. 数据仓库专题18-数据建模语言IDEF(转载)
  3. UA SIE545 优化理论基础4 对偶理论简介3 强对偶
  4. VS2008 error PRJ0002 : 错误的结果 31 (从“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe”返回)。...
  5. [Letcode]第[34]题[JAVA][在排序数组中查找元素的第一个和最后一个位置][暴力][二分]
  6. QuickBI助你成为分析师——搞定数据源
  7. 【语音识别】基于matlab DWT算法0~9数字语音识别【含Matlab源码 1726期】
  8. 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器播放音乐代码
  9. 需求分析说明书SRS
  10. 批量生成PDF417码
  11. ASPEN hysys焓值、熵值转化换算
  12. 【工具类】数据脱敏工具类
  13. 一路山水到了这僻静的温柔乡
  14. Labjack系列-数据采集卡,USB数据采集卡与 Labview对接的编程操作
  15. Arduino ESP32通过心知天气获取城市三天的信息
  16. C语言求6阶余子式,usdt交易 -usdt交易V3.6.39
  17. LabVIEW中不同颜色连线的含义
  18. 关于使用vue.js的模板渲染时出现一瞬间的设置的模板的解决方案
  19. AGC012 - E: Camel and Oases
  20. 八点钟学院软件测试,急求普通话测试题,如果哪位同学有请转发好吗?

热门文章

  1. 唱歌的方法与技巧[收集]
  2. SpringBoot集成单点登录-“被挤下线”
  3. 计算机音乐最早出现,电脑音乐的发展历程与趋势
  4. 如何搭建一台属于自己的服务器
  5. windows开机自启执行命令
  6. do-exercise-淘宝网店
  7. Eclipse的九个常用快捷命令
  8. 魏可伟受邀参加 2023 开放原子全球开源峰会
  9. 嵌入式软件调试技术 读书笔记
  10. 谷歌浏览器一直转圈的问题解决