少女祈祷中...

摘要

提出的框架NAD(Neural Attention Distillation,神经注意力蒸馏):在一小部分干净数据集上,用一个老师模型来对学生模型进行微调,老师模型可以从学生模型中得到,最终我们需要的就是经过微调后的学生模型。

实验效果:通过5%的干净数据集,在不对模型性能(在干净数据上)造成明显下降的情况下,能够清除后门

提出的方法

吐槽:这有必要用一个节标题吗。。

image-20231113135818958

在带有后门的NN中,有些神经元会对带有后门模式的representation响应,而良性的神经元只会响应有意义的representation。NAD就是优化那些会对后门模式响应的神经元。最主要的问题是:怎么区分representation?

符号表示:

  • $F^l$:第l层的激活函数的输出结果

  • $\mathcal A$:注意力映射,将3维的激活函数输出转换为2维的注意力。

image-20231113144546505

下面对这几个映射函数做区分:

  • $\mathcal A_{sum}$:同时考虑了良性神经元和后门神经元
  • $\mathcal A_{sum}^p$:通过p次方,放大了良性神经元和后门神经元的差值
  • $\mathcal A_{mean}^p$:对良性神经元以及后门神经元的输出取均值

拿ResNet举例,在每一个残差块之后,增加一个注意力函数,来计算注意力。

回到我们的NAD,NAD loss可以表示为下面的式子:

image-20231113150718307

整个的loss表达式如下:

image-20231113151004953

符号表示:

  • $\mathcal L_{CE}(.)$:使用CE来优化学生模型分类的准确率
  • $\mathcal D$:一小部分干净的数据集
  • $\beta$:超参数,控制注意力蒸馏
  • $l$:第l个残差块

老师模型是通过学生模型在相同的干净数据集上微调得来的,具体怎么做需要看实验部分。