https://papers.nips.cc/paper/2020/file/ea3ed20b6b101a09085ef09c97da1597-Paper.pdf
Guided Adversarial Attack for Evaluating and Enhancing Adversarial Defenses | Papers With Code
对抗攻击的发展是对抗防御研究的基础。高效和有效的攻击对于可靠的防御评估和开发鲁棒模型是至关重要的。
先前的研究大多在约束条件下使用映射梯度通过最大化标准损失(交叉熵损失和边界损失)来生成对抗样本的方法,优于非凹函数的优化易陷入局部最优。
目标模型梯度信息
基于梯度对抗攻击方案存在的问题:沿着梯度方向添加扰动,不一定会攻击成功
解决方案:
加入初始随机噪声,增加了敌手朝不同方向移动的机会。然而,这种增益只有在攻击运行多次随机重启时才能看到,从而增加了寻找敌对扰动所需的计算预算。
另一种现有的方法为对手提供了更好的初始方向,即用多个目标攻击替换标准的非目标攻击。这使对手的初始方向多样化,通过多次随机重启,从而产生更强的攻击。虽然这是一种通用的方法,可以用来加强任何攻击(包括GAMA),但它不会随着目标类别数量的增加而有效地伸缩。
针对先前研究中目标函数寻优易陷入局部最优的问题,作者在目标函数中引用relaxation term对目标函数进行平滑。然后针对修改后的目标函数采用现存的基于梯度的白盒攻击方法,如PGD或FW构造对抗样本。
文章本质上是提出了一种寻找全局最优的优化方案。
针对非凹目标函数(交叉熵损失和边界损失)易陷入局部最优的问题, 作者通过添加Relaxation Term来平滑用于构造对抗样本的目标函数。文章使用的目标函数为"最大边界损失",即,
L = − f θ y ( x ~ ) + max j ≠ y f θ j ( x ~ ) L = - f_\theta ^y(\tilde x) + \mathop {\max }\limits_{j \ne y} f_\theta ^j(\tilde x) L=−fθy(x~)+j=ymaxfθj(x~)
为了解决上述目标函数,寻优时面临地局部最优问题,作者对上述目标函数添加Relaxation Term,
L = − f θ y ( x ~ ) + max j ≠ y f θ j ( x ~ ) + λ ∣ ∣ f θ ( x ~ ) − f θ ( x ) ∣ ∣ 2 2 L = - f_\theta ^y(\tilde x) + \mathop {\max }\limits_{j \ne y} f_\theta ^j(\tilde x) + \lambda ||{f_\theta }(\tilde x) - {f_\theta }(x)||_2^2 L=−fθy(x~)+j=ymaxfθj(x~)+λ∣∣fθ(x~)−fθ(x)∣∣22
由于权重因子 λ \lambda λ是线性衰减的,所以不会影响对目标函数的寻优。方案伪代码,如下所示,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pchlx50X-1653554013646)(C:\Users\HP-Desktop\AppData\Roaming\Typora\typora-user-images\image-20220526113804127.png)]
需要说明的是Relaxation Term的梯度是一个加权组合的每一类置信分数的扰动图像的梯度。每一项的权重由扰动图像和干净图像对应的类置信分数的差值决定。因此,如果一个给定的类别置信值梯度对应的方向已经偏离干净图像的初始类别置信值较大,则该方向被赋予更高的重要性。因此,当前梯度方向的权重考虑了前几步的累积效应,产生了类似动量的有利效应。这有助于将初始扰动更强地指向类,从而最大化相应类的置信度,同时也使优化对由局部梯度引起的伪随机偏差更具鲁棒性。
使用Relaxation Term对非凹目标函数进行平滑,避免寻优时陷入局部最优
攻击运行多次随机重启?
https://arxiv.org/pdf/2006.12792v2.pdf
[RayS: A Ray Searching Method for Hard-label Adversarial Attack | Papers With Code](https://paperswithcode.com/paper/guided-adversarial-attack-for-evaluating-and-1#code)
深度神经网络很容易受到敌对攻击。在不同的攻击设置中,最具挑战性也是最实用的是硬标签设置,攻击者只能访问目标模型的硬标签输出(预测标签)
先前的研究以牺牲巨大的查询量为代价构造高效的对抗样本
目标模型的输入和输出
文章将现存的攻击方案主要分为白盒攻击(white-box attacks)、黑盒攻击(black-boxs)和硬标签(hard-label attack)。
注意:如果想找区分白盒、灰盒和黑盒的攻击方案可以参考该文章
将寻找最近决策边界的连续问题转化为不要任何零阶梯度估计的离散问题。 使用二分搜索法注意查找每个射线方向d上的最优决策半径r,r即为要寻找的对抗扰动。
d维向量, x = [ x 1 , . . . , x d ] {\rm{x}} = [{x_1},...,{x_d}] x=[x1,...,xd],
0范数: ∣ ∣ x ∣ ∣ 0 = ∑ i 1 { x i ≠ 0 } ||{\rm{x}}|{|_0} = \sum\nolimits_i {1\{ {x_i} \ne 0\} } ∣∣x∣∣0=∑i1{xi=0},其中,1表示indicator function,即条件表达式成立则为1,否则为0
1范数: ∣ ∣ x ∣ ∣ 0 = ( ∑ i = 1 d ∣ x i ∣ 2 ) 1 / 2 ||{\rm{x}}|{|_0} = {(\sum\limits_{i = 1}^d {|{x_i}{|^2}} )^{1/2}} ∣∣x∣∣0=(i=1∑d∣xi∣2)1/2
∞ \infty ∞范数: ∣ ∣ x ∣ ∣ ∞ = max i ∣ x i ∣ ||{\rm{x}}|{|_\infty } = {\max _i}|{x_i}| ∣∣x∣∣∞=maxi∣xi∣
目标函数:
indicator function 难以优化,前任将上述公式转化如下:
其中, ℓ 为 CrossEntropy loss. 传统的hard-label 攻击中奖等是1转化为
这里g(d)代表从最初样本x沿射线方向d的决策边界半径,等式(3)的目的是寻找与x距离最短的决策半径。若$|{\rm{\hat r\hat d}}/||{\rm{\hat d}}|{|2}|{|\infty } \le \varepsilon $则攻击成功。
**先前的研究求解等式(3)通过零阶优化方法来估计g(d)的梯度,但是这种方案构造的对抗样本相比于黑盒攻击(灰盒)和白盒攻击构造的对抗性样本是低效的。**为此,作者直接搜索离x最近的决策边界,而无需估计任何梯度。由于在所有的搜索空间上搜索梯度的符号方向是不可行的,受他人的启发,作者只在 ∞ \infty ∞范数的顶点上获取决策边界半径。则等式(3)变为
其中, d ∈ { − 1 , 1 } d d \in {\{ - 1,1\} ^d} d∈{−1,1}d。d表示x的维度。该算法的伪代码如下图所示:
伪代码过程描述, 使用二分搜索法注意查找每个射线方向d上的最优决策半径。由于前人表明,不同维度上的梯度是线性相关的,作者受此启发,提出了基于分块的决策半径搜索法:
个人理解,算法1和算法2本质上每次只在一个方向上搜索决策半径,算法3是同时在多个方向上搜索决策半径。
目标模型:
MNIST:两个预训练的7层CNN: 4个卷积层,然后3个全连接层,每个卷积层后应用Max-pooling和RelU激活,在测试集上达到99.5%的准确率。
CIFAR-10:7层CNN结构,包括4个卷积层和另外3个全连接层,并配有Batchnorm和Max-pooling层,在测试集上的准确率为82.5%。
ImageNet:预训练ResNet-50模型和Inception V3模型,ResNet-50模型有76.2%的top-1准确率,Inception V3模型有78.0%的top-1准确率。
攻击方案:OPT attack、SignOPT attack-2020(Sign-OPT: A Query-Efficient Hard-label Adversarial Attack | Papers With Code)、HSJA-2019 attack(HopSkipJumpAttack: A Query-Efficient Decision-Based Attack | Papers With Code)
防御方案 Adversarial Training (AdvTraining-2018) Towards Deep Learning Models Resistant to Adversarial Attacks | Papers With Code和TRADES-2019(Theoretically Principled Trade-off between Robustness and Accuracy | Papers With Code)
未依赖模型的细节,只有访问了模型的输入和输出
所谓的目标函数(4)与后面搜素决策半径时有啥关系?
d是如何分块的?
d维度的相关性是如何计算的?