迈向评估神经网络的鲁棒性
Towards Evaluating the Robustness of Neural Networks
作者提出 L0/L2/L∞ 三种对抗样本攻击,在防御性蒸馏网络上以 100% 成功率找到对抗样本,作者称蒸馏几乎不增加鲁棒性。
攻击者目标是对图像分类器做 targeted misclassification;假设攻击者完全掌握网络结构与全部参数,以 white-box 方式使用;可修改输入图像像素(受 Lp 距离约束);受害系统为 MNIST/CIFAR 上的防御性蒸馏网络及 ImageNet 上的 Inception v3。
- 防御性蒸馏被提出用于提升神经网络对对抗样本的鲁棒性,原论文报告它把既有攻击的成功率从 95% 降到 0.5%。作者要检验蒸馏是否真的消除了对抗样本,还是只让现有攻击失效。
- 作者把对抗样本生成写成带盒约束的优化问题,系统比较 7 种目标函数与 3 种盒约束处理方式,选出基于 logits 的目标函数配 tanh 变量替换,再分别为 L2、L0、L∞ 设计攻击,并用高置信度对抗样本做迁移测试。
- 在 MNIST、CIFAR-10、ImageNet 上,三种攻击对未蒸馏与蒸馏网络均 100% 成功;L0/L2 攻击的扰动比此前攻击低 2×–10×(作者称);蒸馏温度与平均扰动距离的相关系数为 −0.05;高置信度对抗样本可从普通网络迁移到蒸馏网络。
- 作者未专门设 Limitations 节;作者指出所用 Lp 距离都不是人眼感知相似度的完美度量,把构造更好的距离度量留作未来工作。实验只覆盖 MNIST、CIFAR-10、ImageNet 三个图像任务和防御性蒸馏一种防御。
- 被测模型
- MNIST modelCIFAR modelInception v3
- 基准
- MNISTCIFAR-10ImageNet
- 指标
- 攻击成功率(success probability)平均对抗扰动距离(L0/L2/L∞)迁移成功率
Nicholas Carlini 与 David Wagner 提出针对 L0、L2、L∞ 三种距离度量的新对抗样本攻击,在防御蒸馏和未蒸馏的神经网络均以 100% 概率成功找到对抗样本。防御蒸馏此前能把现有攻击的成功率从 95% 降到 0.5%,但挡不住这些更强的攻击。在 MNIST、CIFAR-10 和 ImageNet 上,新攻击生成的对抗样本失真低于此前最佳结果,其中 L0 和 L2 攻击失真低 2 到 10 倍;作者称其 L0 攻击是首个能在 ImageNet 上实现定向误分类的已发表攻击。在 Inception v3 上,仅翻转每个像素的最低位即可改变图像分类;作者还用高置信度对抗样本的可迁移性测试击破防御蒸馏,并将攻击代码公开在 http://nicholas.carlini.com/code/nn_robust_attacks,建议作为评估未来防御的基准。
推荐理由作者用三个新攻击以100%成功率击破了防御蒸馏,说明评估图像模型的新防御需要用更强的攻击作基准。
相关热点
0 个事件 · 2 条新闻提到
提到这篇论文的新闻
- Nicholas Carlini Writing引用了论文编号或链接Nicholas Carlini 回顾《Towards Evaluating the Robustness of Neural Networks》五年后的反思
to me that it's been five years since I wrote “Towards Evaluating the Robustness of Neural Networks” (with my at-the-time advisor) and they asked if I had any thoughts on this paper.
- Nicholas Carlini Writing引用了论文编号或链接Nicholas Carlini 给出评估对抗样本防御的建议
Among other papers, see Towards Evaluating the Robustness of Neural Networks, Adversarial Examples Are Not Easily Detected: Bypassing Ten Detection Methods, and Obfuscated Gradients Give a False Sense
深度解读
这篇论文试图解决什么问题?
防御性蒸馏能否真正消除对抗样本?作者用更强攻击检验,结论是不能。
核心问题:防御性蒸馏(defensive distillation)是否真的提升了神经网络对对抗样本的鲁棒性,还是仅仅让当时的攻击算法失效。
- 问题场景:神经网络在图像识别等任务上效果好,但对任意输入 x 和目标类别 t,都能找到与 x 相近却被判为 t 的对抗样本,作者认为这限制了神经网络在安全攸关场景(如自动驾驶、恶意软件分类)的应用。
- 现有方法的不足:作者称许多早期防御尝试失败或只带来有限的鲁棒性提升;防御性蒸馏是当时少数给出较强安全保证的防御,原论文报告它把既有攻击的成功率从 95% 降到 0.5%。
- 核心假设:评估鲁棒性有两条路——证明下界或构造攻击给出上界;作者认为若攻击不够强,上界就没有意义,因此需要更强的攻击来检验防御。
- 论文提出什么:针对 L0、L2、L∞ 三种距离度量的三个新攻击算法;一个基于高置信度对抗样本迁移性的防御评估测试;对攻击目标函数选择的系统评估。
- 威胁模型:
- 目标:targeted misclassification——让 x′ 被判为指定类别 t,且 x′ 与 x 在某种 Lp 距离下接近。
- 知识:攻击者完全掌握网络架构与全部参数,以 white-box 方式使用;作者称这是保守且现实的假设(已有工作表明黑盒下可训练替代模型再迁移)。
- 能力:修改输入图像像素,扰动受 L0/L2/L∞ 距离约束。
- 受害系统:MNIST/CIFAR-10 上的防御性蒸馏网络,以及 ImageNet 上的 Inception v3。
有哪些相关研究?
相关工作分三类:既有攻击算法、防御性蒸馏及其后续分析、对抗样本成因的解释。
既有攻击算法(本文的对比基线)
- Szegedy et al. [46]——用 box-constrained L-BFGS 生成 L2 对抗样本,并提出最小化 c·‖x−x′‖² + loss 的替代优化形式。
- Goodfellow et al. [11] 的 fast gradient sign(FGSM)——针对 L∞ 的单步攻击,设计目标是快而非扰动最小;Kurakin et al. [26] 的 iterative gradient sign 是其多步改进。
- Papernot et al. [38] 的 JSMA——针对 L0 的贪心攻击,基于 saliency map 逐像素修改;Moosavi-Dezfooli et al. [34] 的 Deepfool——针对 L2 的 untargeted 攻击。
防御性蒸馏
- Hinton et al. [19]——提出模型蒸馏,用大模型的 soft labels 训练小模型。
- Papernot et al. [39]——把蒸馏改造为防御(defensive distillation),用高温度训练、测试时回到温度 1,报告既有攻击成功率从 95% 降到 0.5%;本文即检验该防御。
- Papernot and McDaniel [36]——后续工作,在 L∞ 度量下论证蒸馏安全。
对抗样本成因与迁移性
- Goodfellow et al. [11]、Warde-Farley and Goodfellow [47]——提出线性假设(linearity hypothesis),认为对抗样本源于网络的局部线性性质而非高度非线性的"盲点"。
- Szegedy et al. [46]、Goodfellow et al. [11]、Papernot et al. [37]——迁移性:一个模型上的对抗样本常对另一个模型(甚至随机森林)也有效;[37] 用替代模型实现黑盒攻击。
基线与基准:本文基线为上述 L-BFGS、FGSM、Iterative Gradient Sign、JSMA(JSMA-Z/JSMA-F 两版)、Deepfool;基准为 MNIST、CIFAR-10、ImageNet。
作者将本文定位为:提供比上述攻击更强的攻击作为评估防御的基线,并建议任何新防御至少先检验能否抵抗这些攻击、能否打破迁移性。
论文如何解决这个问题?
把对抗样本生成写成优化问题,系统选择目标函数与盒约束处理,再按 L2/L0/L∞ 分别设计攻击。
整体思路:沿用 Szegedy et al. 的优化框架,但系统地搜索最优的目标函数与约束处理方式,构造出在三种 Lp 度量下都更强的攻击,并用它们攻击防御性蒸馏。
问题形式化
- 给定图像 x 与目标类 t,求解 minimize D(x, x+δ) 使得 C(x+δ)=t 且 x+δ ∈ [0,1]ⁿ,D 为 L0、L2 或 L∞ 距离。
- 由于约束 C(x+δ)=t 高度非线性,改写为 minimize D(x, x+δ) + c·f(x+δ),其中 f 满足 C(x+δ)=t 当且仅当 f(x+δ) ≤ 0。
目标函数的系统选择
- 作者列出 7 个候选目标函数 f1–f7,分别基于交叉熵损失、softmax 输出 F 或 logits Z 的间隔(如 f6(x′) = (max_{i≠t} Z(x′)_i − Z(x′)_t)₊)。
- 在 MNIST 与 CIFAR 上评估全部 21 种组合(7 目标 × 3 盒约束处理),每个 c 用 20 次二分搜索选定、每次跑 10,000 步 Adam;两个数据集上排序一致。
- 结果:基于 logits 的 f6/f7 最好,最好与最差目标函数之间质量差 3 倍;此前文献最常用的交叉熵损失(f1)表现最差。作者解释:f1/f4 的梯度在初始点附近极小、在对抗样本附近极大,不存在全程适用的常数 c。
盒约束与常数 c
- 比较三种处理 [0,1] 盒约束的方式:projected gradient descent、clipped gradient descent、change of variables(引入 w,令 δ_i = ½(tanh(w_i)+1) − x_i)。
- 对最好的目标函数,三种方式差别不大;作者采用 change of variables,并用 Adam 优化器(作者称三种求解器解质量相同,但 Adam 收敛更快)。
- 常数 c 用改进的二分搜索选取:取使 f(x*) ≤ 0 的最小 c;作者报告这样得到的解 70% 的时间在最优解的 5% 以内、98% 的时间在 30% 以内。
- 离散化:连续求解后把像素四舍五入到 {0,…,255},必要时用逐像素贪心搜索恢复质量;作者称该贪心搜索从未失败。
三个攻击算法
- L2 攻击:minimize ‖½(tanh(w)+1) − x‖² + c·f(½(tanh(w)+1)),其中 f(x′) = max(max{Z(x′)i : i ≠ t} − Z(x′)t, −κ),κ 控制误分类置信度(本文攻击取 κ=0,κ>0 用于迁移实验)。另加多起点梯度下降:在已找到的最优解半径内随机采样新起点,减少陷入坏局部最小值的概率。
- L0 攻击:L0 不可微,改用迭代消除:每轮在允许像素集上跑 L2 攻击,按 g_i·δ_i(梯度×扰动)找出最不重要的像素并固定,直到 L2 攻击失败;c 从 10⁻⁴ 起每次翻倍直到成功,超过 10¹⁰ 则中止。用 warm-start(从上轮解出发)加速。
- L∞ 攻击:直接优化 ‖δ‖∞ 会在两个次优解间振荡,改为迭代式:最小化 c·f(x+δ) + Σ(δ_i − τ)₊,τ 初始为 1,每轮若所有 δ_i < τ 则 τ 乘以 0.9,否则终止;c 同样用翻倍策略。
成功判定与迁移测试
- 成功:产生被分为目标类的合法图像(含离散化后处理),不论扰动大小;失败:完全无法成功。
- 迁移测试:在普通模型上用大 κ 生成高置信度对抗样本,检验其是否迁移到蒸馏模型;作者主张任何防御都必须打破迁移性。
论文做了哪些实验?
在 MNIST/CIFAR-10/ImageNet 上对比既有攻击,并攻击 T=100 的蒸馏网络,三种攻击均 100% 成功。
实验设置
- 被测模型:MNIST 与 CIFAR-10 各一个 CNN(架构与超参数和原始蒸馏论文 [39] 相同,Table I/II;MNIST 准确率 99.5%,CIFAR-10 80%);ImageNet 用预训练 Inception v3(top-5 准确率 96%)。
- 数据集:MNIST、CIFAR-10(各取测试集前 1,000 张);ImageNet 取 1,000 张初始分类正确的图像。
- 基线:L-BFGS、Deepfool、Fast Gradient Sign、Iterative Gradient Sign、JSMA-Z、JSMA-F(JSMA 用 CleverHans 实现,作者称做了 50× 加速且不影响准确率)。
- 指标:攻击成功率(找到目标类对抗样本的比例)与平均扰动(L0 改动像素数 / L2 / L∞,像素范围 [0,1]);成功率不足 100% 时均值只对成功样本计算。
- 目标类选择:best-case(最易攻击的错误类)、average-case(随机错误类)、worst-case(最难攻击的错误类);ImageNet 上 best/worst-case 用 100 个随机目标类近似。
- 蒸馏设置:温度 T=100(原论文认为最有效的值),教师与蒸馏网络同架构。
主结果
未蒸馏网络上的攻击对比(据 Table IV、Table V;数值为平均扰动,成功率均为 100% 除非注明):
表格较宽,可左右滑动
攻击 MNIST best CIFAR best ImageNet untargeted Our L0 8.5 5.9 48 JSMA-Z 20 20 0% 成功 JSMA-F 17 25 0% 成功 Our L2 1.36 0.17 0.32 Deepfool 2.11 0.85 0.91 Our L∞ 0.13 0.0092 0.004 FGS 0.22 0.015(99%) 0.004 IGS 0.14 0.0078 0.004 - 作者称在全部三个数据集、三种度量上,本文攻击找到的对抗样本扰动都不大于既有攻击,且从不失败;L0/L2 攻击的扰动比此前最好的攻击低 2×–10×。
- ImageNet 上 JSMA 因计算量固有地无法运行(作者报告其总是失败);本文 L0 攻击在 ImageNet 上以 100% 成功率完成 targeted 攻击,作者称这是首个能在 ImageNet 上做 targeted misclassification 的 L0 攻击。
- 作者提醒不同模型间的数值不可直接比较(如 ImageNet 像素数是 MNIST 的 114 倍)。
对防御性蒸馏的攻击
- 测了什么:把三种攻击用于 T=100 的蒸馏网络(Table VI)。结果:三种攻击在 MNIST 与 CIFAR 上均 100% 成功;与 Table IV 相比,L0/L2 扰动略升(如 MNIST best-case L2 从 1.36 到 1.7),L∞ 大致持平。
- 既有攻击为何失败:作者分析,蒸馏使 logits 增大约 T 倍(实测 L1 范数均值从 5.8 升到 482),softmax 输出与梯度在 32 位浮点下舍入为 0,导致 L-BFGS、Deepfool、JSMA-F、FGS 失效;JSMA-Z 则因 logits 被放大 T 倍而放大其固有的次优性。
- 作者解读:蒸馏只让既有攻击失败,并未消除对抗样本,作者称其相对未蒸馏网络只提供边际价值。
温度与迁移性实验
- 温度影响:在 MNIST 上以不同温度(1 到 100)训练蒸馏模型。用 JSMA 复现了原论文"温度越高攻击越难"的现象;但用本文 L2 攻击时,温度与平均对抗距离的相关系数为 ρ = −0.05(Figure 8)。作者称升温只是让旧攻击更常失败,并不提升鲁棒性。
- 迁移性:两个各用一半 MNIST 训练集的模型之间,迁移成功率随 κ 从 0 到 20 线性上升,κ ≈ 20 时趋于近 100%(Figure 9);把第二个模型换成 T=100 的蒸馏模型,对抗样本仍能迁移,但达到 100% 成功需要 κ = 40(Figure 10)。
- 作者解读:高置信度对抗样本迁移测试可作为评估防御的通用方法,即使防御完全阻断梯度流也适用。
其他消融与分析
- 目标函数选择:21 种组合在 1,000 个 MNIST 随机样本上评估,f6 配 change of variables 在 best/average/worst-case 下平均 L2 分别为 1.94/3.47/6.03、成功率均 100%(Table III)。
- 常数 c 敏感性:c < 0.1 时攻击很少成功,c > 1 后效果变差但总能成功(Figure 2,f6,MNIST)。
- 合成数字:从全黑/全白图像出发生成各数字的最小扰动(Figure 6/7);作者称此前 JSMA 的同类实验中类别 0、2、3、5 可辨认目标数字,本文攻击生成的均不可辨认。
- 运行时间:作者未给精确数字,称所有攻击在单个实例上都不超过几分钟;本文 L0 攻击比优化后的 JSMA 慢 2×–10×,L2/L∞ 攻击比既有攻击慢 10×–100×(iterative gradient sign 为 10×)。
有什么可以进一步探索的点?
作者未设局限章节;明确写出的后续方向是构造更好的人眼感知距离度量。
作者指出的局限与后续方向
- 距离度量:作者写道没有任何一种距离度量是人眼感知相似度的完美度量,构造并评估好的距离度量是一个重要研究问题,留作未来工作(Section II-D)。
- 未解释的现象:对 FGS 做"logits 除以 T"的修正后蒸馏仍然有效,作者写道无法解释这一现象(Section VIII-A)。
- 论文未专门设 Limitations 或 Future Work 章节,除上述两条外未列出其他局限。
实验覆盖范围
- 被测模型为 MNIST CNN、CIFAR-10 CNN(均与原始蒸馏论文同架构)和预训练 Inception v3,共 3 个;防御只评测了防御性蒸馏一种(T=100,及温度扫描 1–100)。
- 评测规模为 MNIST/CIFAR-10 各取测试集前 1,000 张,ImageNet 取 1,000 张初始分类正确的图像;ImageNet 的 best/worst-case 用 100 个随机目标类近似。
- 任务类型限于 targeted 攻击;论文明确不考虑 untargeted 攻击(Section II-C),Deepfool 因是 untargeted 攻击只在部分格子有数值。
- 领域限于图像分类;论文提到语音、恶意软件等场景但未在其实验中评测。
- 论文未报告各攻击的精确运行时间(作者认为不公平的比较不如不比较),也未报告攻击的查询次数。
总结一下论文的主要内容
三个更强攻击在蒸馏网络上 100% 成功,作者据此认为蒸馏只让旧攻击失效而非消除对抗样本。
这是一篇对抗样本攻击论文:作者检验当时被看好的防御——防御性蒸馏——是否真正提升了神经网络的鲁棒性。
- 问题:蒸馏原论文报告既有攻击成功率从 95% 降到 0.5%,但作者认为弱攻击给出的鲁棒性上界没有意义。
- 方法:把对抗样本生成形式化为带盒约束的优化,系统比较 7 种目标函数与 3 种约束处理后选出基于 logits 的目标函数配 tanh 变量替换,构造 L2、L0、L∞ 三个攻击;威胁模型为 white-box、攻击者掌握全部参数。
- 主结果:在 MNIST、CIFAR-10、ImageNet 上,三个攻击对未蒸馏网络均 100% 成功,L0/L2 扰动比此前攻击低 2×–10×(作者称);对 T=100 的蒸馏网络三种攻击仍 100% 成功,扰动仅略升(Table VI)。
- 温度实验:蒸馏温度与平均对抗距离相关系数 ρ = −0.05,作者称升温只是让旧攻击失败,不提升鲁棒性。
- 迁移实验:高置信度对抗样本(κ 最大到 40)可从普通网络迁移到蒸馏网络,作者主张防御评估应同时检验能否抵抗强攻击和能否打破迁移性。
- 作者结论:蒸馏相对未蒸馏网络只提供边际价值;作者建议其攻击成为后续防御评估的基线,并把更好的人眼感知距离度量留作未来工作。