Fine-Pruning:防御针对深度神经网络的后门攻击
Fine-Pruning: Defending Against Backdooring Attacks on Deep Neural Networks
作者复现三种 DNN 后门攻击,提出 fine-pruning 防御,作者称可将部分攻击成功率降至 0%,干净输入精度仅降 0.4%。
用户将 DNN 训练外包给不可信第三方(MLaaS),第三方返回带后门的模型:干净输入上表现正常,含触发器时产生定向或随机误分类。
- DNN 训练常被外包给不可信第三方,攻击者可返回带后门的模型:干净输入正常、遇触发器误分类。此前针对真实模型的有效防御缺失。
- 先复现人脸、语音、交通标志三种后门攻击,评估剪枝与微调两种防御;再设计让干净与后门行为共用神经元的 pruning-aware 攻击;最后提出先剪枝再微调的 fine-pruning 组合防御。
- 单独剪枝或微调均挡不住 pruning-aware 攻击;fine-pruning 将人脸识别攻击成功率降至 0%,语音识别降至 0–2%,交通标志降至 28.8%–36.6%,干净精度最差降 0.2%(Table 1)。
- 作者指出实验均为 ReLU 卷积网络,不确定是否适用于 RNN/LSTM;无法保证攻击者找不到能抵抗 fine-pruning 的初始参数,提出加噪版本留作未来研究。实验仅覆盖三个任务、三种网络。
- 威胁模型
- 用户将 DNN 训练外包给不可信第三方(MLaaS),第三方返回带后门的模型:干净输入上表现正常,含触发器时产生定向或随机误分类。攻击者为强 white-box,完全控制训练过程和训练数据(但无验证集),可投毒、改训练流程甚至手工设权重。防御方持有干净验证集,可执行模型、剪枝或用干净数据微调。
- 被测模型
- DeepIDAlexNetFaster-RCNN (F-RCNN)
- 基准
- YouTube Aligned Face datasetspeech recognition dataset (digits 0-9)U.S. traffic signs dataset
- 指标
- classification accuracy on clean inputsbackdoor attack success rate
论文提出 fine-pruning 防御,将剪枝与微调结合,用于清除外包训练中植入深度神经网络的后门。作者复现人脸、语音和交通标志三类后门攻击,发现单独剪枝或微调都无法抵御了解防御的强攻击者;他们设计的剪枝感知攻击将干净输入与后门输入激活集中到同一批神经元,使剪枝失效。fine-pruning 在实验中削弱或消除后门,最差情况下干净输入准确率下降 0.2%,定向攻击中语音识别最差仍有 2% 攻击成功率。交通标志非定向攻击的成功率从 99% 降至 29%,面对剪枝感知攻击时从 90% 降至 37%。
推荐理由论文把剪枝与微调组合成 fine-pruning 防御,并在人脸、语音和交通标志三类后门任务上报告准确率损失与攻击成功率下降的对照结果。
深度解读
这篇论文试图解决什么问题?
如何防御外包训练中被植入后门的 DNN:作者提出并评估剪枝、微调及二者组合的 fine-pruning。
核心问题:防御外包训练场景下被植入后门(backdoor / neural trojan)的深度神经网络。
- 场景与重要性:DNN 训练成本高,常被外包给 MLaaS 等第三方;作者称攻击者可返回在干净输入上正常、遇触发器即定向或随机误分类的模型,且能完全控制触发器形式。
- 现有方法不足:作者称此前针对 DNN 后门的防御很少,Chen et al. 的有限重训练等对策被其本人认为无效,Liu et al. 的缓解措施只在 MNIST 上测过;作者称本文是首个在真实模型上完全有效的防御(论文原文表述)。
- 核心观察:基于 Gu et al. 的观察——后门利用网络中在干净输入上休眠的"后门神经元"(spare capacity),作者在三个攻击上复现了这一现象(Figure 4)。
- 论文方案:评估剪枝与微调两种防御,发现各自不足以对抗复杂攻击者;进而设计 pruning-aware 攻击,并提出剪枝+微调组合的 fine-pruning 防御。
- 威胁模型(Section 2.2):
- 攻击者目标:返回的模型在含触发器输入上产生定向或随机误分类,同时保持验证精度(否则用户不部署)。
- 攻击者知识:强 white-box,完全控制训练过程和训练数据,但无法访问用户的验证集。
- 攻击者能力:可添加任意数量投毒样本、修改干净样本、调整训练超参数,甚至手工设置权重。
- 受害系统与防御方:外包训练的用户;防御方持有干净验证集,可执行模型、剪枝神经元或用干净数据微调。
有哪些相关研究?
相关工作分三类:经典 ML 投毒攻击、DNN 后门攻击、以及此前有限的防御尝试。
经典机器学习上的投毒与规避攻击
- Barreno et al. (2006)——提出按完整性/可用性、探索性/因果性、定向/无差别三轴对 ML 攻击分类的框架。
- 早期工作——针对入侵检测系统和垃圾邮件过滤器的探索性攻击,以及针对垃圾邮件过滤和入侵检测的训练数据投毒攻击;Suciu et al. (2018) 提出统一建模框架和针对多种模型(含 CNN)的定向投毒攻击 StingRay。
- Liu et al. (2017)——通过恢复特征矩阵低秩子空间,在含噪和投毒数据下做鲁棒线性回归(防御方向)。
DNN 后门攻击(本文复现的三个攻击)
- Gu et al. (2017, BadNets)——交通标志识别上的后门攻击,本文复现其无差别(untargeted)攻击;其经验观察(后门激活休眠神经元)是本文剪枝防御的依据。
- Chen et al. (2017)——人脸识别上的定向投毒后门攻击(太阳镜触发器),本文复现。
- Liu et al. (2018, NDSS)——语音识别上的定向木马攻击,攻击者不能访问训练数据、只能改训练后的模型;本文复现其攻击但假设更强的攻击者。
- Muñoz-González et al. (2017) 与 Liu et al. (2017, Neural Trojans)——前者提出基于梯度的投毒数据生成方法,后者在 MNIST 玩具示例上研究神经木马并评估若干缓解技术。
已有防御尝试(论文点名批评)
- Chen et al. (2017)——考察了包括用留出验证集做有限重训练在内的对策,其本人结论为无效。
- Liu et al. (2018)——指出定向后门会不成比例地降低目标类精度,建议用作检测手段。
- Liu et al. (2017)——缓解措施只在 MNIST 上测试,作者认为 MNIST 不能代表真实计算机视觉任务。
基线与定位:本文没有对比防御基线方法,比较对象是"无防御 / 仅剪枝 / 仅微调 / fine-pruning"四种防御方策略,作用于复现的三个攻击。作者定位:据其所知,本文是首个在真实模型上完全有效的 DNN 后门防御,也是首个对后门攻击中攻防交互的系统分析(均为论文原文表述)。
论文如何解决这个问题?
先剪除干净输入上休眠的神经元,再用干净数据微调恢复精度,组合为 fine-pruning。
整体思路:利用"后门神经元在干净输入上休眠"的观察做剪枝(pruning);针对能绕过剪枝的 pruning-aware 攻击,再结合微调(fine-tuning),构成 fine-pruning 防御。
问题设定与形式化
- DNN 表示为参数化函数 FΘ : ℝN → ℝM,第 i 层计算为 ai = ϕi(wi ai−1 + bi);ReLU 输出大于零称"active",等于零称"dormant"。
- 防御方拿到攻击者返回的模型,只拥有干净验证集,不知道触发器形态,也不能改模型架构(攻击者不能改超参数,只能改权重)。
剪枝防御
- 流程:用验证集前向运行网络,记录每个神经元的平均激活;按平均激活升序逐个剪除神经元,每步记录精度;当验证集精度下降超过预定阈值时停止。
- 剪枝位置:只剪最后一个卷积层(DeepID 的 conv3、AlexNet 与 F-RCNN 的 conv5),理由是后层稀疏编码前层特征,剪后层对网络行为影响更大。
- 三阶段观察:先剪到干净与后门输入都不激活的神经元(无影响),再剪到只被后门激活的神经元(攻击成功率下降、干净精度不变),最后剪到干净输入的神经元(精度下降,防御终止)。
Pruning-aware 攻击(作者设计,用于检验防御)
- 四步(Figure 7):1) 在干净数据上训练;2) 剪除休眠神经元(数量为设计参数);3) 用投毒数据重训练剪枝后的网络,若容量不足则恢复一个神经元再训,直到干净精度与攻击成功率都满意;4) "de-prune":恢复所有被剪神经元及原权重,并降低其偏置使其在干净输入上保持休眠。
- 效果:干净与后门行为被压缩到同一组神经元上;被恢复的神经元充当"诱饵",防御方剪枝时先剪掉它们,后门行为不受影响。
Fine-tuning 与 fine-pruning
- 微调:用攻击者返回的权重初始化、较小学习率,在干净数据上继续训练;作者报告 AlexNet 微调一小时内收敛,而从零训练可超过六天。
- 微调失效原因(作者解释):基线攻击中后门神经元在干净输入上休眠,梯度为零,微调不会更新其权重。
- fine-pruning:先剪枝再微调。对基线攻击,剪枝去除后门神经元、微调恢复剪枝造成的精度损失;对 pruning-aware 攻击,剪枝只去掉诱饵神经元,但因后门与干净行为共用神经元,后续微调会更新编码后门的权重,从而消除后门。
成功判定与评测方式
- 指标:干净输入分类精度(cl)与后门攻击成功率(bd);定向攻击的成功率定义为被误分类为目标类的比例,无差别攻击(交通标志)定义为 1 − A_backdoor/A_clean。
- 对比设置:无防御、仅微调、fine-pruning 三种防御方策略 × 基线攻击、pruning-aware 攻击两种攻击者策略,在三个任务上评测(Table 1);并以"干净精度 − 攻击成功率"定义防御方效用做博弈分析(Table 2)。
论文做了哪些实验?
在三个任务上复现攻击并评测四种防御策略,fine-pruning 将多数攻击成功率降至 0–2%。
实验设置
- 被测网络:DeepID(人脸识别)、AlexNet(语音识别)、Faster-RCNN(交通标志检测),均为 ReLU 卷积网络。
- 数据集:YouTube Aligned Face(1283 人、每人 100 张,90% 训练);语音数据集(3000 训练样本、每数字 300,1684 测试样本);U.S. traffic signs(6889 训练、1724 测试图像)。
- 攻击复现:人脸攻击投毒 180 个人的图像,干净精度 97.8%、攻击成功率 100%;语音攻击添加 300 条投毒样本,干净精度 99%、成功率 77%;交通标志攻击为每张训练图附加一张投毒版本,干净精度 85%、成功率 99.2%。
- 防御方策略:无防御、仅剪枝、仅微调、fine-pruning;剪枝只剪最后卷积层,终止阈值为干净精度下降 4%;微调在干净数据上训练至收敛。
- 指标:干净输入分类精度(cl)与后门攻击成功率(bd),交通标志为无差别攻击,成功率按 1 − A_backdoor/A_clean 定义。
- 硬件:NVIDIA P40、P100、K80、GTX 1080 集群;论文未报告重复次数。
主结果
Table 1:三种防御策略下的干净精度(cl)与攻击成功率(bd),基线攻击与 pruning-aware 攻击各一组。
表格较宽,可左右滑动
任务 攻击 无防御 cl/bd 微调 cl/bd fine-pruning cl/bd 人脸识别 基线 0.978/1.000 0.978/0.000 0.978/0.000 人脸识别 pruning-aware 0.974/0.998 0.978/0.000 0.977/0.000 语音识别 基线 0.990/0.770 0.990/0.435 0.988/0.020 语音识别 pruning-aware 0.988/0.780 0.988/0.520 0.986/0.000 交通标志 基线 0.849/0.991 0.857/0.921 0.873/0.288 交通标志 pruning-aware 0.820/0.899 0.872/0.419 0.874/0.366 - 作者称 fine-pruning 在最差情况下干净精度仅降 0.2%,部分情况下略有提升。
- 作者称对定向攻击(人脸、语音),fine-pruning 在多数情况下将攻击成功率降至 0%,最差为语音基线攻击的 2%。
- 对无差别的交通标志攻击,作者指出 28.8% 与 36.6% 看似偏高,但无差别攻击中任何误分类都算攻击成功,防御难度更大。
剪枝防御的单独评测
- 测了什么:仅剪枝(最后卷积层)对三个基线攻击的效果(Figure 6a/c/e)。
- 结果:以干净精度下降 4% 为停止条件,人脸、语音、交通标志的攻击成功率分别从 99% 降至 0%、77% 降至 13%、98% 降至 35%;后门被禁用的剪枝比例阈值在 0.68× 到 0.82× 总神经元数之间。
- 作者解读:剪枝计算开销小、只需前向执行,但阈值对防御方不可知,且提示了 pruning-aware 攻击的可能。
Pruning-aware 攻击对剪枝的规避
- 测了什么:pruning-aware 攻击生成的模型在剪枝防御下的表现(Figure 6b/d/f),激活分布见 Figure 8。
- 结果:人脸模型上剪枝先降干净精度,当攻击成功率开始下降时干净精度已低于 23%;语音模型上要把攻击成功率压到 13%,干净精度需下降 55%(基线攻击只需 4%);交通标志上剪枝降低干净精度但攻击成功率保持高位。攻击将干净与后门激活压缩到最后卷积层 3%–15% 的神经元(交通、语音),人脸模型约 84% 神经元对两类输入都休眠。
- 作者解读:干净与后门行为可映射到同一组神经元,剪枝防御对复杂攻击者无效。
博弈分析
- 测了什么:以"干净精度 − 攻击成功率"为防御方效用,比较两种攻击 × 微调/fine-pruning 两种防御(Table 2 给出语音任务:微调对基线 0.555、对 pruning-aware 0.468;fine-pruning 对基线 0.968、对 pruning-aware 0.986)。
- 结果与作者解读:防御方最优策略恒为 fine-pruning;作者称语音与交通标志任务的效用矩阵得出相同结论(数值未给出)。
其他消融与分析
- 微调成本:作者报告微调在高端 GPU 上几分钟内收敛,AlexNet 微调一小时内完成,而从零训练可超过六天。
- 激活可视化:Figure 4 显示基线攻击后人脸网络最后卷积层存在仅被后门输入激活的神经元;Figure 8 显示 pruning-aware 攻击后两类输入激活同一组神经元。
- 例外:交通标志 pruning-aware 攻击在无防御时成功率为 89.9%,略低于基线攻击的 99.1%(Table 1),论文未解释原因。
有什么可以进一步探索的点?
作者指出架构覆盖与更强攻击两个开放问题;实验仅覆盖三个任务、三种 CNN。
作者指出的局限与后续方向
- 架构适用性(Section 4.1 Threats to Validity):三个攻击都基于 ReLU 激活的卷积网络;RNN、LSTM 等架构上的后门攻击尚未被充分研究,作者不能确定防御是否适用于所有深度网络。
- 无强保证(Section 4 Discussion):作者无法保证攻击者找不到一个初始参数 Θi,使其附近存在仍含后门的局部最小值,从而抵抗 fine-pruning。
- 加噪变体(Section 4 Discussion):作者提出更强但计算更贵的变体——微调前往参数中加噪,并认为"需要多少噪声"是值得未来研究的问题。
- 非最后定论(Section 4 Discussion):作者明确表示不能保证本防御是 DNN 后门攻防的最终答案。
实验覆盖范围
- 被测网络为 DeepID、AlexNet、Faster-RCNN 共 3 个,均为 ReLU 卷积网络(Section 4.1)。
- 评测任务为人脸识别、语音识别、交通标志检测共 3 个;攻击类型覆盖定向(人脸、语音)与无差别(交通标志)两种。
- 防御评测包含无防御、仅剪枝、仅微调、fine-pruning 四种策略,攻击者包含基线与 pruning-aware 两种(Table 1)。
- 剪枝仅作用于各网络最后一个卷积层(Section 3.1)。
- 论文未报告各实验的重复次数,也未报告微调所用的干净数据量与具体超参数。
总结一下论文的主要内容
针对外包训练中的 DNN 后门,作者提出剪枝+微调的 fine-pruning 防御并系统评测。
一篇关于 DNN 后门防御的论文(2018),研究外包训练场景:不可信第三方返回的模型在干净输入上正常、遇触发器即误分类。
- 问题:作者称此前针对真实模型的 DNN 后门防御基本空白,已有对策或被其作者认为无效、或只在 MNIST 上验证。
- 方法:复现人脸(DeepID)、语音(AlexNet)、交通标志(F-RCNN)三个后门攻击;基于"后门神经元在干净输入上休眠"的观察提出剪枝防御;再设计让干净与后门行为共用神经元的 pruning-aware 攻击绕过剪枝;最终提出先剪枝再用干净数据微调的 fine-pruning。
- 关键结果(Table 1):单独剪枝或微调无法同时对抗两种攻击者;fine-pruning 将人脸识别攻击成功率降至 0%(基线与 pruning-aware),语音识别降至 2%(基线)与 0%(pruning-aware),交通标志无差别攻击降至 28.8%(基线)与 36.6%(pruning-aware),干净精度最差仅降 0.2%。
- 博弈分析:以"干净精度 − 攻击成功率"为效用,语音任务上 fine-pruning 对两种攻击者的效用(0.968、0.986)均高于微调(0.555、0.468),作者称防御方最优策略恒为 fine-pruning(Table 2)。
- 作者结论:fine-pruning 在其评测的所有攻击上都能削弱甚至消除后门,是迈向安全外包训练的第一步;作者同时指出防御目前只验证于 ReLU 卷积网络,且不能排除存在抵抗 fine-pruning 的更强攻击。