深度学习中的中毒攻击与防御

1.数据预处理防御:鉴于预处理器的目标是防止非法输入数据触发木马而不影响神经网络的正常功能, 因此作者在输入数据和神经网络之间放置一个自动编码器作为输入预处理器, 使得预处理器的输入和输出尺寸相同, 并将预处理器的输出作为神经网络的输入。

2.剪枝防御(Pruning Defense):剪枝技术早期用于减少DNN 的计算消耗。而中毒样本触发了在正常样本输入时处于休眠状态的神经元。剪枝防御通过消除纯净输入上处于休眠状态的神经元来减少后门网络的大小, 从而禁用中毒行为, 增强深度神经网络的安全性。

3.微调防御/重新训练(Fine-tuning):微调训练使用预训练的DNN 权重作为初始化, 并设置较小的学习率, 相比于从头训练能够缩短模型的训练时间。但在部分稀疏网络上进行微调和重训练是无效的, 因为中毒神经元不会被纯净的数据激活, 因此这些神经元的梯度接近0 并且在很大程度上不受微调训练的影响。因此常用梯度下降方法对至少有一个神经元激活的网络进行微调防御。

4.精细剪枝防御(Fine-pruning Defense):精细剪枝防御首先修剪神经网络中休眠的神经元, 然后用干净的数据集进行微调, 使涉及中毒行为的神经元权重被更新。在此过程中, 剪枝防御和微调防御起着互补作用, 剪枝防御可以删除休眠的神经元, 使得中毒攻击集中到较少的神经元中, 微调防御可以重新训练神经元, 消除中毒对深度神经网络模型的影响。

你可能感兴趣的:(深度学习中的中毒攻击与防御)