【论文笔记】Pre-activation Distributions Expose Backdoor Neurons
Friday, January 12, 2024
本文共1253字
3分钟阅读时长
⚠️本文是作者P3troL1er原创,首发于https://peterliuzhi.top/posts/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/%E5%90%8E%E9%97%A8%E6%94%BB%E5%87%BB/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0pre-activation-distributions-expose-backdoor-neurons/。商业转载请联系作者获得授权,非商业转载请注明出处!
概述
本论文基于两种防御者的场景进行防御:
- 防御者在基于一个被毒化的数据集进行训练,希望训练出干净的模型
- 已经训练好了一个感染模型,防御者需要去除其中的毒化神经元
分别对这两种防御场景提出了两种防御方式:
- 基于differential entropy的毒化神经元检测
- 基于KL散度和BN层记忆的毒化神经元检测
而这两种防御方式都以作者提出的两种假设为前提
并证明论文提出的防御方式是SOTA的
相关工作
相关工作提到了Backdoor attacks、Backdoor defenses、Distributional properties in poisoned dataset。这三个相关工作说明本论文的性质是一篇为了抵抗后门攻击,利用毒化数据集的分布特性进行后门防御的文章。
三个重要定义
后门损失
神经元敏感度
后门神经元
简而言之,后门损失是使用分类器的输出计算的交叉熵损失,神经元敏感度是剪枝前后的后门损失的差值,通过后门神经元是神经元敏感度大于一个预定义阈值的神经元
Differential Entropy
离散随机变量的熵公式的连续版本
对熵而言,有一个基本事实:高斯分布的熵是最大的(对于分布在正无穷和负无穷间的实值分布而言)
Pre-activation
假设一个模型由线性和非线性函数构成,那么一个模型能定义如下:
我们将pre-activation定义为在经过非线性激活函数前第l层第k个神经元的最大值:
对pre-activation,有如下观察事实:
两个基本假设
假设一保证剪枝能够防御后门攻击
假设二保证本论文的理论有效
这个假设是基于经验(上面的观察事实)归纳所得,简而言之就是每一个pre-activation的分布都是高斯函数的混合,并且两个用于混合的高斯函数都遵循两个限制,并且这两个限制对良性神经元与后门神经元是不同的
场景一的防御:基于熵的剪枝
由上述假设,很容易推导出如下推论:
简而言之,意思就是后门神经元的pre-activation的differential entropy小于良性神经元的小于等于标准高斯分布的
原因是高斯分布的熵是最大的,而所有神经元都假设是高斯分布的混合,是近似于高斯分布的分布,但是后门神经元的偏离最大(由观察事实可知),所以这个等式成立
通过这个指标,我们就可以区分后门神经元和良性神经元,从而进行剪枝
场景二的防御:基于BN统计的KL散度剪枝
BN层会统计样本数据用于归一化并进行记忆:
因为毒化数据集会使pre-activation的分布严重偏离高斯分布,因此我们可以期望BN层中的统计数据也受到了偏移。
而如果此时我们拥有一小批良性数据,我们就可以获取未受偏移的统计数据
通过计算两个数据之间的KL散度(假设两个数据分布都遵循高斯分布):
我们能得到第二个推论:
意思是对后门神经元计算的KL散度要大于良性神经元的KL散度,后者趋于(等于)0
如何取阈值τ
场景一
意思是,l层的τ = l层的所有神经元的微分熵的均值 - 超参数u * l层l层的所有神经元的微分熵的标准差
场景二
意思是,l层的τ = l层的所有神经元的KL散度的均值 - 超参数u * l层l层的所有神经元的KL散度的标准差
实验结果
论文的方法有以下优势:
- Better performance
- Higher efficiency
- More robust to hyperparameter choosing
扫码阅读此文章
点击按钮复制分享信息
点击订阅