“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。
地址:https://www.zhihu.com/people/yun-yun-14-18
最新研究表明,用于图像识别任务的卷积神经网络往往表现出一致的“对抗性缺陷”:对抗攻击算法可以生成很小的输入噪声误导这些模型,并且同一对抗噪声往往可以同时误导在同一数据集上训练出的不同模型,即在模型间“迁移”。本文提出利用集成模型提升深度学习鲁棒性的DVERGE方法。我们通过提取集合模型的子模型学到的“非鲁棒特征”确定其缺陷所在,并进一步通过多样化子模型的缺陷使其面对对抗性噪声输出不同的结果。这一新颖的多样性描述与优化方式使DVERGE得到了超出其他集成学习方法的迁移攻击鲁棒性。对抗性攻击的研究使人对卷积神经网络的鲁棒性表示怀疑,这些攻击通常称为对抗性示例,对抗性示例中包括经过精心设计,人类所无法感知的输入扰动,但会引发CNN模型中引发错误分类。如上图所示,原图可以被正确识别为熊猫,而在增加一个随机噪声后,深度学习模型就把上图识别为长臂猿,而人类对俩个图均可以正常识别。而类似的对抗性攻击如何是实在现实世界的应用中的?先前有研究证明了对抗性示例在CNN模型上有可移植性(transferability),其中针对任意模型生成的对抗性示例很大概率误导使用相同数据集训练的其他未指定的深度学习模型。先前研究推测标准图像分类数据集中存在鲁棒和非鲁棒特征。人们可能会通过“对人类有意义的”鲁棒特征来理解图像,而这些特征通常对较小的附加噪声不敏感,而深度学习模型更倾向于学习非鲁棒特征。非鲁棒特征与输出标签高度相关,有助于提高模型精度,但在视觉上没有意义,并且对噪音敏感。对非鲁棒特征的这种依赖会导致对抗性漏洞(adversarial vulnerability),而对抗性示例会利用该漏洞来误导CNN模型。此外经验表明,在同一数据集上独立训练的CNN模型倾向于捕获相似的非鲁棒特征。
02
目前大部分研究使用对抗训练提高CNN模型对抗攻击的鲁棒性。对抗训练可在每个训练步骤中将在线生成的对抗示例对自身的CNN模型损失降至最低。对抗攻击通常会在某种约束S的作用下,将扰动项加到原始输入x上,以形成对抗示例xadv=x+δ,攻击目标是在输入xadv上最大化CNN模型输出与标签y的差异,记为Lθ攻击的目标可表示为xadv=x+argmaxδ∈SLθ(x+δ,y)。约束S用来保证对抗示例与原始输入在视觉上无法区分,通常将其定义为‖δp‖<ε。本工作使用L∞范数作为约束。尽管最近的研究表明,对抗训练鼓励模型捕获数据集中的鲁棒特征,但该过程既困难又成本高。鲁棒特征的学习会损害模型的准确性,并且需要更大更深的模型以补偿增加的复杂性。然而,学习健壮的特征很困难,因此对抗训练通常会导致测试数据的泛化误差显着增加。有研究通过集成方法(如bagging和boosting)提升模型鲁棒性。直观地讲,该方法可以抵御黑盒传输攻击,因为只有当多个子模型收敛到相同的错误预测时,攻击才能成功。由于训练过程不排除非鲁棒性特征,这样的集成也可以实现较高的精度。人们探索了各种集成训练方法,如多样化输出logits分布或最小化每个子模型的输入梯度方向之间的余弦相似度。但实验结果表明,这些多样性测度并不能很有效地诱导子模型之间的输出多样性,因此相应的集成很难达到期望的鲁棒性。
03
我们寻求一种有效的训练方法,减轻攻击的转移性,同时保持高干净的准确性(非噪声的样本)。考虑到使用对抗训练可以有效地使模型利用鲁棒特征但会降低模型准确率,而集成方法可以使得模型精度较高但可能有攻击传递性,我们设计了一种有效的训练方法将二者结合,该方法即可以减轻攻击的可传递性,同时又能保持较高的准确性。
在深入研究子模型中对抗性易损性成因的基础上,提出提取每个子模型学习到的对应于对抗性实例易损性的特征,并利用提取的特征之间的重叠度来度量子模型之间的多样性。由于对抗性例子利用了子模型的脆弱性,子模型之间的小重叠表明,在一个子模型上成功的对抗性例子不太可能欺骗其他子模型。我们提出了通过“缺陷”多样化构建鲁棒集成深度学习模型(Diversifying Vulnerabilities for Enhanced Robust Generation of Ensembles, DVERGE)。•DVERGE可以成功地隔离和分散每个子模型中的漏洞,从而几乎消除了攻击的可传递性;•DVERGE可以显著提高抵御黑盒传输攻击的鲁棒性,而不会显着影响精度;•在同等评价条件下,随着集成子模型数量的增加,DVERGE所引起的多样性不断提高鲁棒性。研究表明深度学习模型捕获的非鲁棒性特征对附加噪声高度敏感,这是CNN模型中对抗性脆弱的主要原因。基于这一观察结果,我们提出基于提取的非鲁棒特征来隔离CNN模型的脆弱性。以在数据集D上训练的CNN模型fi为例。我们考虑一个目标输入标签对(x,y)和另一个随机选择的独立源(xs,ys)∈D。fi的第i层对输入图像x的蒸馏特征对应于源图像xs,可以用特征蒸馏目标(1)近似表示:其中,表示第fi1个隐藏层激活之前的输出。然后可以使用PGD对这个受限优化目标进行优化。提取的特征在视觉上类似于xs而不是x,但是模型归类为类别y。视觉相似性与分类结果之间的这种不匹配表明xfi1反映了对x进行分类时fi的对抗漏洞。因此,我们将两个模型fi和fj之间的漏洞多样性(vulnerability diversity)定义为(2):Lf(x,y)表示输入标签对(x,y)的模型f的交叉熵损失。由于提取的特征具有与输入图像相同的尺寸,因此我们可以用这个公式评估基于此数据集训练的任意架构的模型。由于Xfi1(x,xs)在视觉上与y不相关,因此fi只有在x的非鲁棒特征上的缺陷与fj的缺陷重叠时,交叉熵损失很小。反之亦然。因此,上述公式有效地衡量了两个模型之间的重叠缺陷。由于对抗攻击在漏洞多样性高的模型之间转移的可能性较小,我们在整体训练过程中将d(fi,fj)作为目标,在使原始交叉熵损失最小的情况下,使集合中各子模型之间的多样性(3)最大:由于d(fi,fj)的公式没有上界,直接使其最大化可能最终导致发散。因此,我们将训练目标(4)修改为:此外,应注意,由于x’fil蒸馏图像接近于xs,因此Lfi(x’fil(x,xs),y)的最小化可以有效地有助于Lfi(xs,ys)的最小化。先前的对抗训练研究也表明,没有必要在目标中包含原始的数据损失。因此,我们将式(4)进一步简化为(5):它被用于训练DVERGE中的各个子模型。上式中的目标可以理解为训练子模型fi,并为其他子模型生成对抗性示例。但是,DVERGE从根本上不同于对抗训练。对抗训练过程不断地训练模型对自身进行白盒攻击,并迫使模型捕捉数据集的鲁棒特性。在DVERGE中,如果fi利用与其他子模型不同的一组特征(包括非稳健特征),则可以最小化该公式。由于非健壮特征在数据集中的分布要比健壮特征更为普遍,因此与对抗训练相比,捕获和集成一些非健壮特征可使DVERGE达到更高的纯净准确率。算法1显示了用于训练N个子模型集合的伪代码。我们首先根据原始的数据集对所有子模型进行随机初始化和预训练;然后,对于每一个batch的数据,我们随机采样另一个batch的源数据,并使用它们按照等式(1)的目标提取非鲁棒特征。然后采用循环训练,其中对每个子模型执行单个随机梯度下降步骤,并使用来自其他所有子模型的蒸馏图像及其源标签,如公式(5)中的目标所述。对所有B批次的训练数据都执行此训练过程,并对E epochs重复此训练。每个epoch中随机选择用于特征蒸馏的层i,以避免过拟合特定层的特征。该训练过程可以有效地增加集成内每对子模型之间的缺陷的多样性,并阻止集成内子模型的传输攻击。因此,整体的黑盒鲁棒性得到改善。
04
我们将DVERGE与各种方法进行了比较,包括Baseline、ADP和GAL。为了进行公平的比较,我们使用ResNet-20作为子模型,并对每个子模型的softmax层之后的输出概率求平均,以得出最终预测。所有评估均在CIFAR-10数据集上进行。DVERGE的目标是引导子模型捕获各种非鲁棒特征,并最小化子模型之间的脆弱性重叠,从而降低整体中的攻击传递性。为了验证我们的方法,我们通过随机选择1,000个测试样本来测量多样性和可移植性,所有子模型最初都对这些样本提供了正确的预测。我们利用上述计算多样性的公式计算两模型的多样性,并对所有对子模型进行平均,得到整个集合的多样性度量。在衡量可传递性时,我们使用步长为的ε/50步PGD生成非目标对抗示例。可传输性由攻击成功率来衡量,攻击成功率将任何错误分类都计为成功。与多样性相似,平均成对攻击成功率被用来表示集成内的可移植性水平。如下图所示,从图中可以清楚地看出,随着训练的进行,多样性增加,可转移性降低。这一趋势通过经验证明,最小化DVERGE目标可以有效地导致集成中更高的多样性和更低的对抗可转移性。下图展示了具有三个子模型的集成模型的转移性,这些子模型在与前述相同的条件下进行了测试。第i行与第j列交点处的数字表示由第i个子模型生成并在第j个子模型上测试的对抗样本的转移成功率。当i=j时,该数字成为白盒攻击成功率。非对角线数字越大,表示子模型之间的可传递性越大。与其他集成方法相比,DVERGE将可传递性抑制到了更低的水平。在成功破坏一个子模型的所有对抗示例中,只有3-6%可能导致对其他子模型的错误分类。尽管ADP和GAL还努力提高多样性以提高鲁棒性,但它们不能有效地阻止对抗性转移。ADP在子模型之间展现出60%到70%的攻击转移。在GAL方面,三个子模型中的两个仍然极为脆弱,在这些子模型中,超过80%的对抗性示例可以在第一和第二子模型之间成功转移。我们的评估表明,阻止攻击转移并非易事,并且应用适当的多元化指标至关重要。因此,我们提倡使用DVERGE作为减轻整体攻击传递性的更有效方法。我们在两种威胁模型下评估了集合的鲁棒性:黑盒传输对抗模型(攻击者不能访问模型参数,依赖代理模型生成可转移的对抗示例)和白盒攻击模型(攻击者可以完全访问模型的所有内容)。如图5所示,无论是黑盒攻击还是白盒攻击,DVERGE在各种攻击强度下具有更高的鲁棒性,并有最小的精度损失。图6表明,随着集成子模型数量的增加,DVERGE能够持续提高鲁棒性。虽然DVERGE在集成方法中获得了最高的鲁棒性,但它对扰动强度较大的白盒攻击和传输攻击的鲁棒性仍然很低。这一结果是意料之中的,因为DVERGE的目标是分散对抗性脆弱性,而不是完全消除它。换句话说,漏洞不可避免地存在于子模型中,并且可以被更大的攻击捕获,提高集成鲁棒性的一种直接方法是通过对抗训练来增强DVERGE。实验结果如下:上图表明,DVERGE + AdvT目标有利于整体捕获更强大的功能。与AdvT相比,DVERGE + AdvT鼓励该集成模型学习各种非鲁棒性特性以及非鲁棒性特性,从而带来更高的准确率和更高的抵御传输攻击的鲁棒性。与仅执行DVERGE相比,强制包含鲁棒性特性导致DVERGE + AdvT牺牲了一定的准确性。
05
在这项工作中,我们提出了DVERGE,一种集成训练方法,该方法分离并多样化每个子模型中的对抗脆弱性,以提高对传输攻击的整体鲁棒性,而不会显著降低精度。我们证明了CNN模型中的对抗多样性可以通过蒸馏的非鲁棒特征成功表征,从中我们可以测量两个模型之间的脆弱多样性。
实验结果表明,以DVERGE为目标进行训练可以有效地提高子模型之间的脆弱性多样性,从而阻止集成模型内部的转移攻击。这样,DVERGE可以将子模型之间转移攻击的成功率从60%以上降低到不足6%。我们进一步证明了DVERGE可以通过对抗训练来增强,它可使集成模型达到更高的准确度和鲁棒性。本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“源头活水”历史文章
更多源头活水专栏文章,
请点击文章底部“阅读原文”查看
分享、在看,给个三连击呗!