对抗训练是一类常用的对抗攻击防御方法,其通过将对抗样本纳入训练过程,从而有效抵御对抗攻击。然而,对抗训练模型的鲁棒性通常依赖于网络容量的提升,即对抗训练所获得的网络为防御对抗攻击而大幅提升网络的模型容量,对其可用性造成较大约束。为解决以上问题,提出一种基于剪枝技术和鲁棒蒸馏融合的轻量对抗攻击防御方法。该方法以对抗鲁棒准确率为优化条件,在对预训练的鲁棒对抗模型进行分层自适应剪枝压缩的基础上,再对剪枝后的网络进行基于数据过滤的鲁棒蒸馏,实现鲁棒对抗训练模型的有效压缩,降低其模型容量。
分层自适应剪枝
传统剪枝策略一般分为两类:预定义剪枝策略、基于全局阈值的剪枝策略。首先,预定义剪枝策略通常依赖于人工设定的剪枝率,但往往达不到最优的剪枝效果。其次,基于全局阈值的剪枝策略在使用中具有一定的局限性,如该方法会造成层崩塌,即该层的卷积核几乎被剪完,从而使模型性能骤降。针对以上问题,本文提出一种分层自适应的剪枝策略,其创新点在于依据模型各层输出的软标签信息与模型最终的软标签输出进行比较,进而指导各层剪枝率的分配(如图 1 所示),使网络结构能够适应鲁棒性的需要。
计算每一层与最后一层输出概率向量的KL距离,如果差值越小说明第i层及以后的卷积核或者通道越不重要,需要加大该层的剪枝率。
基于数据过滤的鲁棒蒸馏
现有鲁棒蒸馏方法并未对所有干净样本数据进行区分,且通常将全部样本直接进行训练。该做法易对模型的鲁棒性产生不利的影响,从而使其目标损失逐渐偏离鲁棒目标的优化。针对以上问题,本文对现有鲁棒蒸馏方法进行改进,提出基于数据过滤的鲁棒蒸馏机制。具体而言,本文通过对原始干净样本中被错误识别的样本进行过滤,提高教师网络中鲁棒知识迁移的有效性,其具体步骤如下。