ICLR2021——神经注意力蒸馏(NEURAL ATTENTION DISTILLATION):去除DNN中的后门触发器

NEURAL ATTENTION DISTILLATION: ERASING BACKDOOR TRIGGERS FROM DEEP NEURAL NETWORKS

这篇论文发布在ICLR2021。
https://arxiv.org/abs/2101.05930
作者
本文提出一种新型的防御框架:Neural Attention Distillation(NAD),用于去除DNN中的后门。
NAD使用一个教师模型知道后门学生模型在一个小型的干净数据集子集上进行微调,使教师模型和学生模型的中间层注意力与教师网络的注意力一致。教师模型可以通过在同一个干净数据子集上进行微调获得。
NAD可以使用5%的干净训练数据有效删除后门触发器。
作者认为,注意力图可以作为一种评估后门防御机制性能的直观的方式。因为注意图能够突出显示网络拓扑中的后门嵌入区域。

方法

做法是这样的。
首先,使用干净的数据集子集,对原始的后门模型进行微调。这一模型被用于作为教师模型;
其次,使用后门模型作为学生模型,和教师模型,使用干净的数据集子集,对学生模型进行微调。这一过程需要最小化教师模型和学生模型的激活图差异。

ICLR2021——神经注意力蒸馏(NEURAL ATTENTION DISTILLATION):去除DNN中的后门触发器_第1张图片

关键点之一是如何定义损失函数:

注意力表示

给定一个神经网络,她的第 l l l层的输出为:
F l ∈ R C × H × W F^l\in \mathbb{R}^{C\times H\times W} FlRC×H×W
其中C是channel,H是height,W是weight。
将中间层的输出做一个注意力变换,将激活输出映射到一个注意力表示。
R C × H × W → R H × W \mathbb R^{C\times H\times W} \to \mathbb R^{H\times W} RC×H×WRH×W
这种映射关系,相当于集合了各个channel的信息。简单的一个映射方式是直接加和,或者平均。还有就是类似于范数的定义方式。
在这里插入图片描述

注意力蒸馏损失

损失函数的定义如下所示。在衡量两个模型的距离的时,还需要对其进行归一化。
在这里插入图片描述
整体的损失函数就是这样了。
在这里插入图片描述

实验

下图,随着Data Size的提升,也就是用于清洗的干净数据集子集占训练集的百分比。相比其他方式,后门样本的攻击成功率下降。而原始任务的精度也表现较好。
ICLR2021——神经注意力蒸馏(NEURAL ATTENTION DISTILLATION):去除DNN中的后门触发器_第2张图片
从后门样本可视化的结果来看,后门去除效果也变好了。触发器占输出的比重降低较明显,attention map变得更加分散。
ICLR2021——神经注意力蒸馏(NEURAL ATTENTION DISTILLATION):去除DNN中的后门触发器_第3张图片

结论

为什么神经注意力蒸馏能够去除后门?
对神经网络直接进行微调并不能够有效地去除后门样本。但是使用教师模型,这种触发的擦除效应可以从教师网络中积累继承,从而产生更加干净的学生模型。

你可能感兴趣的:(dnn,深度学习,神经网络)