[paper]Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks
本文提出了两种特征压缩方法:
- 减少每个像素的颜色位深度
- 使用空间平滑来减少各个像素之间的差异
特征压缩通过将与原始空间中许多不同特征向量相对应的样本合并为单个样本,从而减少了对手可用的搜索空间。通过将DNN模型对原始输入的预测与对压缩输入的预测进行比较,特征压缩可以很好的检测出对抗样本。本方法对于计算资源要求不高,可以与其他防御措施互补,并且可以结合联合检测框架使用。
Our approach, which we call feature squeezing, is driven by the observation that the feature input spaces are often unnecessarily large, and this vast input space provides extensive opportunities for an adversary to construct adversarial examples. Our strategy is to reduce the degrees of freedom available to an adversary by “squeezing” out unnecessary input features. The key idea is to compare the model’s prediction on the original sample with its prediction on the sample after squeezing, as depicted in Figure 1. If the original and squeezed inputs produce substantially different outputs from the model, the input is likely to be adversarial. By comparing the difference between predictions with a selected threshold value, our system outputs the correct prediction for legitimate examples and rejects adversarial inputs.
特征压缩核心思想:特征输入空间通常不需要太大,因为过大的特征输入空间会为对手生成对抗样本提供更多可能。 策略是通过“压缩”不必要的特征来降低对手生成对抗样本的自由度。 关键思想是将模型对原始样本的预测与压缩后对样本的预测进行比较。如果原始输入和压缩后的输入产生了与模型实质上不同的输出,则输入可能是对抗性的。 通过将预测之间的差异与选定的阈值进行比较,系统会为合法样本输出正确的预测,并拒绝对抗样本的输入。
本文证明,通过预测非自适应对抗样本的正确标签,特征压缩可以显著增强模型的鲁棒性,同时保留合法输入的准确性,从而可以准确的检测静态对抗样本。
主要贡献是通过研究了特征压缩的两个方法:减少颜色位深度以及局部和非局部空间平滑实验表明,特征压缩可帮助DNN模型对11种不同的对抗样本攻击(不了解防御的情况)进行防御。 特征压缩是其他对抗防御的补充,因为不会改变基础模型,并且可以很容易地与其他防御(例如对抗训练)组合在一起。
L ∞ L_\infty L∞范数表示所有维度上最大变化的的度量。
L ∞ L_\infty L∞范数攻击表示可以改变所有像素,但对每个像素上的最大改变是受限的。
L 2 L_2 L2范数对应于 x x x和 x ′ x^{'} x′之间的欧几里得距离。
在图像许多像素上添加大量微小的变化时,该距离可以保持很小。
L 0 L_0 L0表示 x x x和 x ′ x^{'} x′之间变化的像素总数,而不是摄动量。
较大的位深度会使显示的图像更接近自然图像,但是通常不需要太大的色彩深度来解释图像(人们识别大多数黑白图像没有问题)。本文使用三种流行的图像分类数据集(MNIST,CIFAR-10和ImageNet)研究了位深度压缩。实验发现即使将原始图像的位深度从8位(每个RGB通道)减少到更小,也不会显著降低人类对图像的可识别性。但如果位深度小于4,确实会造成一些人类可观察到的损失。这是因为即使减少到每个通道相同的位数,我们也会丢失更多的彩色图像信息。经过实验发现位深度压缩到4位足以消除许多对抗样本,同时保留了对正常图像的准确性。即证明了降低位深度确实可以在不损害分类精度的情况下减小对抗样本生成的可能性。
局部平滑利用相邻像素来平滑每个像素。 通过选择加权相邻像素的不同机制,可以将局部平滑方法设计为高斯平滑,均值平滑或中值平滑方法。中值平滑在应对根据 L 0 L_0 L0范数的生成的对抗样本时特别有效。
本文使用的是中值平滑。中值平滑是在图像的每个像素上运行一个滑动窗口,其中中心像素被窗口内相邻像素的中值代替。 中值平滑没有减少图像中像素的数量,而是将像素值分布在附近的像素上。边缘上的像素采用反射填充。 中值平滑实质上是通过使相邻像素更相似来将特征进行压缩。中值平滑特别有效地去除图像中稀疏出现的黑白像素(被称为椒盐噪声),同时很好地保留对象的边缘。
非局部平滑不同于局部平滑,因为它可以在更大的区域而不是相邻的像素上平滑相似的像素。对于给定的图像色块,非局部平滑可在图像的较大区域中找到几个相似的色块,并用这些相似色块的平均值替换中心色块。假设噪声的平均值为零,对相似色块进行平均将在保留对象边缘的同时消除噪声。与局部平滑类似,在平均操作中,有几种可能的方式可以对相似的色块进行加权,例如高斯,均值和中位数。
本文使用高斯核的一种变体。非局部平滑方法的参数通常包括搜索窗口大小(用于搜索相似块的较大区域),块(patches)大小和滤波器强度。
实验结果: