前言
原文链接:A lightweight unsupervised adversarial detector based on autoencoder and isolation forest
概要
介绍了一种基于自动编码器和隔离森林的轻量级无监督对抗检测器,旨在提高深度神经网络的安全性和鲁棒性。该检测器不针对特定攻击类型,也不修改神经网络,因此与其他防御方法兼容。通过训练一个浅层自动编码器来学习良性示例的流形,并利用隔离森林算法作为警报模型,该检测器能够有效识别对抗性示例。实验结果表明,该检测器在 CIFAR-10 和 ImageNet 数据集上对多种对抗攻击具有更好的鲁棒性,且仅占用 1.08 MB 的存储空间,可实时高效地检测对抗性示例。然而,仍有一小部分对抗性示例能够逃脱检测,这仍然是一个待解决的问题。
论文方法
使用了基于自动编码器和孤立森林的方法来设计轻量级无监督对抗检测器。自动编码器用于学习数据的表示和重建,孤立森林则用于检测异常值,结合两者的特点,构建了一种适用于各种对抗攻击的无监督对抗检测器。
why 使用这些方法(解决的问题)
需要训练额外的模型 额外储存空间 --> 无监督 轻量级
==> 浅层自动编码器 + 孤立森林
对抗性检测分三类:
1.样本统计:利用自动编码器的重建误差来估计测试示例和良性示例流形之间的统计距离,无法识别小扰动
2.辅助分类器
3.输入变化:(比如压缩解压那种)输入变换策略应该遵循一个基本标准,即这些变换应该足够轻微,不会改变良性示例的分类结果,该标准限制了显着扰动的对抗性示例的检测性能
综上,样本统计策略对于检测显着扰动的对抗样本是有效的,而输入转换策略对于检测轻微扰动的对抗样本是有效的
那么,如何又检测轻微扰动,又检测显着扰动?
作者提出了 AEAE
- 显着扰动:自动编码器学习良性特征 + 重建误差
- 轻微扰动:自动编码器去噪
- 区分扰动级别:孤立森林
AEAE(基于自动编码器的对抗样本)探测器
流程图
可以看到,自动编码器扮演了两个角色。
训练阶段
包括两个训练过程:
1,在良性示例上训练自动编码器以提取其特征;2,在良性特征上训练隔离森林模型,用于识别对抗性示例。
1.在良性示例上训练自动编码器(AE),最小化重建误差(这里使用均方误差 MSE)
2.计算输入数据 x 与重构数据 $ae(x)$ 之间的重建误差(这里使用 MSE),用于衡量输入数据与良性示例之间的差异。
3.将 x 和 $ae(x)$ 输入目标 DNN 分类器 $𝑓(⋅)$,对两张图片都生成预测向量$𝑝𝑥$ 和 $𝑝{𝑎𝑒(𝑥)}$
4.这里对 CIFAR-10 数据集根据 Kullback–Leibler (𝐾-𝐿)散度(相对熵)测量两个预测向量之间的距离 PD。
K-L 散度的定义如下:
其中,𝐾𝐿 是图像 𝑥 的预测分布向量 $𝑝𝑥$ 与其重建版本 $𝑎𝑒(𝑥)$ 的预测向量 $𝑝{𝑎𝑒(𝑥)}$ 的不同程度度量,𝐾𝐿 值是概率 $𝑝𝑥$ 和 $𝑝{𝑎𝑒(𝑥)}$ 之间的对数差值的期望。
5.使用 ImageNet 数据集时,由于分类过多,预测向量长度太长,以至于使用 𝐾-𝐿 散度,两个预测向量之间的距离 𝑃𝐷 并不明显。因此,对于 ImageNet 图像,作者通过比较 DNN 在 𝑥 和 $𝑎𝑒(𝑥)$ 上的预测标签来提出预测距离。
ImageNet 的预测距离 𝑃𝐷 形式化为等式:
其中,$𝑎𝑟𝑔𝑚𝑎𝑥(⋅)$ 返回最大值的索引。当自动编码器改变输入的预测标签时,预测距离 𝑃𝐷 设置为1;否则,𝑃𝐷 设置为 0。
6.为每个良性图像构造一个二元组特征 $𝑏𝑓 = (𝑀𝑆𝐸, 𝑃𝐷)$ ,在获得的特征集上训练隔离森林模型 $𝐷_{𝑏𝑓}$,用作警报模型,来区分良性示例和对抗性示例。
隔离森林:
异常点更有可能被孤立在靠近根部,而正常点更有可能被孤立在树的较深端。
为了消除随机化的不利影响,隔离森林为数据集构建了 𝑖 树的集合(树的数量默认值为 100)。如图1所示,𝑖 树中的每个节点代表一个实例,到根节点的路径长度与其异常值相关。例如,红色节点距离根节点最近,因此很有可能被判断为异常。深蓝色节点距离根节点较近,因此会被判断为潜在异常。浅蓝色节点作为叶子节点,距离根节点较远,因此大概率会被判断为正常样本。隔离机制为异常样本产生明显更短的路径,为正常样本产生更长的路径。当随机树森林共同为特定样本产生较短的路径长度时,它们很可能是异常的。
检测阶段
两种训练有素的模型都用于检测对抗性示例,检测对抗样本时不再需要训练模型。
1.将图像输入自动编码器,生成其重建图像。
2.计算该图像与其重建版本之间的 𝑀𝑆𝐸 和 𝑃𝐷 值来生成该图像的二元组特征。
3.使用训练有素的隔离森林模型的 IsolationForest.predict 方法来接受二元组特征。如果二元组特征是异常值,则IsolationForest.predict 方法返回 1,并且该图像被认为是对抗性的;否则,IsolationForest.predict 方法返回 0,并且图像被视为良性。
AEAE 检测伪代码
实验结果
重构能力
优缺点
优点
1.训练模型时未使用对抗性示例,使该检测器不针对特定攻击,具有更好的泛化性。
2.该检测器不修改神经网络的结构或参数,因此不会导致精度损失。
3.自动编码器执行两个角色,使该检测器成本较低。
4.该检测器独立于神经网络,并与其他防御和检测互补。
缺点
1.仍有一些对抗性示例无法被检测到,如 DeepFool 和 C&W。
2.𝐴𝐸𝐴𝐸 可能会受到图像噪声的影响。具有自然噪声的良性图像可能会被识别为对抗性示例并导致误报。