一、研究背景与问题
现在深度学习网络(DNN)被广泛应用于各个领域,但是DNN已经被证明是会犯错的。那么为了让他不犯错首先要认识到什么会导致DNN犯错。
文章结合相关工作的缺陷,提出问题:我们要提出一种解释器,该解释器可以开发一个概念空间,用于诊断由于对抗性/语义攻击和数据漂移导致的模型故障,并指导高效的缓解措施。
二、相关工作与不足
现有工作的不足主要是两点:解释故障的低级抽象,以及缺乏解决不同故障的综合方法。
2.1 解释故障的低级抽象
这个名字看起来可能会比较难以理解。实际上就是说现在的错误检测器(?)解释的不好:
要么就太详细,老是在抠细节,但是深层次的原因却找不出来(Grad-CAM,使用热图(heat maps)来可视化图像特征对决策的影响,每个像素级别地展示每个实例(图像)中的重要性);
要么高层次的概念性解释方法在处理表格数据时效果不错,但它们在处理图像等高维数据时遇到了很大困难,也就是说处理复杂数据的时候无法解释(为什么无法解释?高维数据指的是有很多维度或特征的数据。图像数据就是典型的高维数据,因为每张图像可以有数千甚至数百万个像素,每个像素都可以看作是一个特征)。
那说到处理高维数据,很多人用自编码器去解决这个问题。确实,自编码器在处理高维数据时有明显的优势,如降维、自动特征学习和无监督学习等。但是因为自编码器创建的是输入到潜在空间的一对一映射它并不能捕捉一致性、全局特征等等,因此在构建全面的概念空间时存在挑战。(全局概念代码本可以确保编码器将高维输入映射到一组固定的、全局共享的概念,从而解决普通自编码器无法捕捉一致性和全局特征的问题,并且通过概念解释的方式,使得解释和诊断更加有效,这不仅能在不同的攻击和故障场景中应用,还能在更高的抽象层次上操作,提供对数据集中底层模式的洞察。)
2.2 缺乏解决不同故障的综合方法
具体就是就是现在攻击种类这么多最好能够有个通用框架来针对这些攻击都能防御到。比如解决对抗性扰动的方法要也能解决语义变化。
三、DNN-GP的目标
3.1 构造全局一致的概念空间
3.1.1 目标
前面说自编码器有缺陷的原因就是他的重点是重建每个输入样本,它可能忽略这些全局特征,从而难以在潜在空间中捕捉和表示它们,也就是说没办法保证全局一致。那么在全局一致的概念空间中,所有数据样本的特征都映射到同一个共享的概念集合中,也就是说不同的样本如果有相似的特征,它们在潜在空间中的表示将会是相似的,而不是散乱或独立的。(和之前LSH的方法很像)
3.2.2 实现方法
主要是两个思想:
(1)高维输入到低维概念空间的映射
(2)全局概念码本:这里用到了全局概念编码,用于防止了普通自动编码器生成的自由形式的潜在表示。通过码本,编码器被引导向一组固定的、全局共享的概念。每个概念在码本中基本上作为一个原型,涵盖了数据集中一簇相似的特征。
3.2 全面的诊断
3.2.1 目标
也就是说他能给出一个具有综合性的建议而不是就一个方面而言。
3.2.2 实现方法
3.3 提高模型的鲁棒性
3.3.1 目标
即通过利用DNN-GP的诊断洞察,制定概念策略来增强模型的鲁棒性。通过识别并检测恶意或异常样本,增强模型在面对各种攻击和故障场景时的稳定性和安全性。
3.3.2 实现方法
为了实现增强模型鲁棒性的目标,文章提出了具体的方法,通过将特征选择应用于潜在概念表示以检测恶意或异常样本,基于DNN-GP的诊断结果制定概念策略来缓解攻击影响,并结合全局概念代码本将探测样本与代码本中的概念对齐以构建概念空间,从而识别异常模式,同时分析潜在空间中的模式并通过向量量化重构将其转化为像素空间中的结构化模式,这些方法和策略具有模型和攻击无关的优势,从而提高了检测效率和模型的安全性。
四、DNN-GP框架
框架由四部分组成。
4.1 Probing Samples(探测样本)
探测样本是指用于分析深度神经网络(DNN)行为的特定输入数据。这些样本通过模拟各种故障情景生成,揭示模型的脆弱性和错误模式。文章中提到的探测样本主要包括三类:
(1)对抗攻击
- 白盒攻击(White-box Attacks):如快速梯度符号法(FGSM)、投影梯度下降法(PGD)、DeepFool、JSMA、Carlini & Wagner(C&W)和像素攻击(Pixel Attack)。
- 黑盒攻击(Black-box Attacks):如方块攻击(Square Attack)。
(2)语义攻击(Semantic Attacks)
例如对比度变化、旋转和颜色偏移等对图像进行的语义上的修改。
(3)数据漂移(Data Drifts):
- 例如MNIST-C和CIFAR-C数据集中的系统性数据变化。
4.2 概念空间映射
概念空间映射是指将高维输入数据(如图像)转换为低维的潜在表示空间,同时将这些潜在表示与全局概念标记对齐,从而实现数据的概念化表示。这需要以下两个步骤:
4.2.1 概念代码本的构建(Construction of Concept Codebook)
在大规模数据集中,不同样本可能会有较大的变异性。通过构建一个全局概念代码本,
(1)可以将所有样本映射到一组标准化的概念上,从而确保不同样本之间的表示是一致的。
(2)代码本中的每个概念标记都有明确的语义,这使得数据的潜在表示更加透明和可解释。研究人员和用户可以更容易地理解模型如何表示和处理数据。
(3)通过将连续的潜在表示映射到离散的概念标记,模型可以更有效地过滤掉数据中的噪声和异常值,从而提高鲁棒性。
向量量化变分自编码器(Vector Quantized Variational AutoEncoders, VQ-VAE)克服了自回归模型很慢(例如图片中因为把所有的像素都进行随机采样),并且割裂了类别之间的联系(例如事实上连续像素之间的差别是很小的,纯粹的分类问题捕捉到这种联系。更数学化地说,就是我们的目标函数交叉熵是−logpt−log𝑝𝑡,假如目标像素是100,如果我预测成99,因为类别不同了,那么pt𝑝𝑡就接近于0,−logpt−log𝑝𝑡就很大,从而带来一个很大的损失。但从视觉上来看,像素值是100还是99差别不大,不应该有这么大的损失)。VQ-VAE提出的解决方案是:先降维,然后再对编码向量用PixelCNN建模。
在文章中使用VQ-VAE来学习数据的离散概念表示,并构建一个全局概念词典或代码本(codebook)。
使用VQ-VAE模型构建一个全局概念代码本,以实现对数据的离散化表示,并通过优化损失函数训练模型,确保数据表示的一致性和可解释性。通过这种方法,能够更好地捕捉数据的全局特征,并增强模型的稳健性和解释性。
VQ-VAE由编码器(Encoder)、解码器(Decoder)和代码本(Codebook)三个部分组成。
具体而言步骤可以用下面这张流程图来解释:
如果实在不能够理解,我们就看下面这个例子:
4.2.2 概念对齐
这一步实际上就是对代码本的细化,确保代码本中的所有概念都被充分利用,并通过更精确的相似性度量来优化嵌入与概念的对齐,从而增强模型的诊断能力和表示效果。。采用了基于聚类的对齐和基于距离的相似性来寻找最近的向量。
(1)基于聚类的对齐
- 问题:在初步训练后,发现并不是所有代码本中的概念都被充分利用,这限制了诊断过程的效果。
- 解决方案:通过基于聚类的方法重新对齐代码本中的概念:
- 提取训练集中所有图像的嵌入表示。
- 使用k-means聚类算法(k等于代码本中的概念数量K)计算的聚类中心。
- 用这些新的聚类中心替换代码本中的现有概念。
- 在训练数据上进行第二轮训练,微调VQ-VAE模型。
- 效果:这种方法确保了代码本的概念与图像嵌入之间的可逆映射,提升了诊断过程的有效性。
(2)基于距离的相似性的对齐
- 问题:在选择每个嵌入的最近量化概念时,需要一个有效的相似性度量。
- 解决方案:引入Wasserstein距离作为相似性度量:
- 计算嵌入 与代码本中概念的Wasserstein距离。
- 使用较小的Wasserstein距离表示两个向量之间的更高相似性。
- 效果:Wasserstein距离能够反映两个分布的接近程度,即使它们的支持集不重叠或只有很少重叠,从而更准确地对齐嵌入与代码本概念。
4.3 故障的诊断
为了诊断DNN故障,需要知道造成故障的原因的特征以及正常情况下的样本运行应该是什么样的。所以这一步就是在提取特征。
文章提出利用索引矩阵Z和距离矩阵Zd。这些矩阵从样本的潜在表示中提取出来,分别捕捉最近概念的索引和嵌入向量与这些概念之间的对齐距离。通过组合这两个矩阵并提取统计特征(如均值、方差、最大值、最小值等),可以生成一个复合特征向量。然后,通过主成分分析(PCA)对复合特征向量进行降维,生成最终的基本特征向量。
具体而言有两个索引矩阵(Index Matrix)和距离矩阵(Distance Matrix)
- 索引矩阵Z:记录输入样本潜在表示中每个嵌入向量的最近概念索引。
- 距离矩阵Zd:记录这些嵌入向量与其匹配概念之间的对齐距离。
它整体的验证步骤是按照这样的思想来的:首先先证明对齐指标矩阵和对齐距离矩阵是能有效地区分攻击样本和原始样本的吗?然后证明如果是可以有效区分的,那从攻击样本和原始样本的区分中我们能发现哪些恶意模式?
具体的诊断过程分为以下四个步骤:
4.3.1 KS检验
目的:评估原始样本和攻击样本是否来自同一分布。
首先他需要确定:攻击样本和原始样本确实是不同分布的,才可以下面的步骤。不然如果攻击样本和原始样本本身是同分布的,那两个矩阵都是觉得样本是不同步的角度出发去发现模型的错误的,那就没有继续下去的必要了。所以作者使用了KS检验首先检验攻击样本和原始样本是否是同分布的。检验的结果是不同分布的,那么才进行下一步。
KS检验不依赖于数据的具体分布形式,因此称为非参数检验。他的原假设是样本来自相同的分布。给定两个经验累积分布函数和 ,分别表示两个样本的累积分布。
4.3.2 距离矩阵诊断
在确认攻击样本和原始样本分布的差异之后,接下来的任务是验证对齐索引矩阵和对齐距离矩阵是否能有效区分这两类样本。
利用三个指标来评估距离矩阵:
- 样本感知距离度量:计算单个样本中所有位置的平均距离,并对数据集中的这些平均距离进行统计分析。
- 位置感知距离度量:聚合数据集中所有样本在特定位置的距离值,并计算这些位置的统计特性。
- 谱特性指标:通过傅里叶变换分析距离矩阵的频率成分和能量强度,识别数据中的潜在异常。(傅里叶变换可以将矩阵中的空间信息分解为不同频率成分。)
(1)样本感知距离度量
对于一个样本的距离矩阵,我们计算矩阵中所有位置的平均距离。
(2)位置感知距离度量
聚合数据集中所有样本在特定位置的距离值。
(3)谱特性指标
4.3.3 概念索引矩阵诊断
1. 概念索引的意义
概念索引 是指输入数据通过编码器和向量量化过程后,对应到代码本中的某个特定概念的索引。每个概念索引代表一个特定的特征模式。
2. 原始数据与攻击数据的差异
原始数据 是指未经修改的正常样本数据,而攻击数据 是通过对抗攻击或其他方式故意修改过的数据。攻击数据的目的是让模型产生错误的预测或行为。
3. 索引矩阵的构建
通过VQ-VAE模型,原始数据和攻击数据都会被编码成潜在表示,并且通过向量量化映射到代码本中的概念索引。这些索引会记录在索引矩阵 ZZZ 中。
4. 揭示特定模式的原因
4.1 不同数据分布的概念索引使用
原始数据和攻击数据在概念索引上的使用可能存在显著差异。原始数据的概念索引分布通常反映了自然数据的特征模式,而攻击数据的概念索引分布可能被扰动,从而体现出特定的攻击模式。
原始数据:概念索引分布较为稳定,反映了数据的正常特征模式。
攻击数据:由于攻击手段的影响,某些概念索引的使用频率可能显著增加或减少,反映了攻击所带来的变化。
4.2 索引变化的检测
通过比较原始数据和攻击数据的概念索引矩阵,可以检测出哪些索引发生了频繁变化或使用增加。具体分析方法包括:
概念分布分析:通过统计每个概念索引在原始数据和攻击数据中的使用频率,可以揭示特定概念的使用模式。
频繁变化位置:识别那些在攻击数据中频繁变化的位置,可能指示这些位置是攻击的重点区域或脆弱点。
过渡模式分析:分析原始数据和攻击数据之间的概念索引过渡模式,可以进一步揭示攻击的特征。
5. 举例说明
假设我们有一个图像分类模型,原始图像和攻击图像经过编码器和向量量化后,生成如下索引矩阵:
原始图像的索引矩阵:
1 & 1 & 2 & 2 & 3 & 3 & 4 & 4 \\ 1 & 1 & 2 & 2 & 3 & 3 & 4 & 4 \\ 5 & 5 & 6 & 6 & 7 & 7 & 8 & 8 \\ 5 & 5 & 6 & 6 & 7 & 7 & 8 & 8 \\ 9 & 9 & 10 & 10 & 1 & 1 & 2 & 2 \\ 9 & 9 & 10 & 10 & 1 & 1 & 2 & 2 \\ 3 & 3 & 4 & 4 & 5 & 5 & 6 & 6 \\ 3 & 3 & 4 & 4 & 5 & 5 & 6 & 6 \end{bmatrix} \] - **攻击图像的索引矩阵**: \[ Z_{\text{attack}} = \begin{bmatrix} 1 & 1 & 2 & 2 & 3 & 3 & 4 & 5 \\ 1 & 1 & 2 & 2 & 3 & 3 & 4 & 5 \\ 5 & 5 & 6 & 7 & 7 & 7 & 8 & 8 \\ 5 & 5 & 6 & 7 & 7 & 7 & 8 & 8 \\ 9 & 10 & 10 & 10 & 1 & 1 & 2 & 2 \\ 9 & 10 & 10 & 10 & 1 & 1 & 2 & 2 \\ 3 & 4 & 4 & 4 & 5 & 5 & 6 & 6 \\ 3 & 4 & 4 & 4 & 5 & 5 & 6 & 6 \end{bmatrix} \] 通过比较这两个矩阵,可以看到某些位置的索引发生了变化。例如,在位置 \( (4, 4) \),原始图像的索引是7,而攻击图像的索引是7。这种变化可能是攻击导致的特定模式。
上面解释了为什么概念索引矩阵可以进行诊断。具体诊断有以下三种方法:
(1)概念分布
通过分析索引的使用情况,可以揭示原始样本和攻击样本中独特的模式。具体而言就是识别出哪些索引在原始样本和攻击样本中使用频率不同,从而找出独特的模式和差异。
(2)频繁变化位置
对于一个原始样本 xxx 及其攻击或故障对应样本 ,计算布尔差异矩阵(Boolean Difference Matrix, BBDD),以辨别两个索引矩阵在各个位置上的差异。
(3)过渡模式
分析原始样本和对抗样本之间每个位置的过渡模式,捕捉最常见的过渡对,并计算每个过渡源自特定原始索引的熵。
4.4 构建完全解决方案
根据诊断结果,方法会建议采取缓解策略,重点是识别基于潜在概念模式的异常或恶意样本。
实际上就是构建一个可以在下游任务重进行使用的模型。文中使用4.3中提取的特征训练One-Class SVM模型。One-Class SVM是一种无监督学习方法,用于识别异常样本。
Q:为什么选择One-Class SVM作为无监督检测的方法?
A:文中也提到其他无监督模型,如Local Outlier Factor(LOF)和Elliptic Envelope,但One-Class SVM已能实现先进的检测结果,并被用作效果的下限。
4.5 与其他方案的区别
DNN-GP的检测方法与其他基准方法的几个关键区别:
- DNN-GP是无监督的,不需要模型的白盒信息。
- 该方法轻量级,仅依赖于原始数据。
- 其设计既与故障无关,也与模型无关。(因为他用的是潜在空间的特征,是他自己去发现的数据正常情况下有啥特征;然后他也不需要知道模型的结构)
五、实验
5.1 实验设置与评估
5.1.1 分析目标
本文的评估设置旨在比较原始数据集和攻击数据集的诊断结果。原始数据集从原始验证集中随机抽取,用作参考点。攻击数据集包含经过扰动、变换或数据漂移后预期会显著改变目标模型输出的样本。评估的主要问题为下面两个问题:
- 索引矩阵和距离矩阵是否包含足够的区分信息来区分原始样本和攻击样本(对抗、语义或漂移样本)?
- 攻击样本是否在索引矩阵和距离矩阵中表现出独特的行为模式?
5.1.2 数据集
文章使用了三个图像分类任务中的基准数据集:
- MNIST
- CIFAR-10
- CelebA
5.1.3 评估对象
评估使用了卷积神经网络(CNN),包括不同层的普通CNN,以及ResNet-18和DenseNet-121标准模型。模型的详细配置在Git上:https://github.com/TASI-LAB/DNN-GP(但是现在好像还什么都没有)
5.1.4 攻击方法
包括FGSM、PGD、JSMA、DeepFool、CW攻击和Pixel Attack。
攻击方法 | 特点 | 优缺点 |
FGSM | - 基于梯度计算快速生成对抗样本 | + 计算速度快 - 对复杂模型效果有限 |
PGD | - 多次迭代投影生成对抗样本 | + 适用于复杂模型 - 计算复杂度高 |
JSMA | - 使用雅可比矩阵计算显著性图,逐步修改输入数据 | + 适用于目标攻击 - 计算复杂度高,适用范围有限 |
CW攻击 | - 通过优化方法生成最小扰动的对抗样本 | + 能生成最小扰动 - 计算复杂度高,优化过程复杂 |
DeepFool | - 通过迭代逼近决策边界生成对抗样本 | + 高效逼近决策边界 - 对不同模型需调整参数 |
Pixel攻击 | - 仅修改图像中的少量像素来生成对抗样本 | + 攻击效果明显 - 易被检测 |
颜色偏移攻击 | - 通过调整图像颜色生成对抗样本 | + 难以被检测 - 对模型效果不一致 |
对比度变化攻击 | - 通过调整图像对比度生成对抗样本 | + 难以被检测 - 对模型效果不一致 |
旋转攻击 | - 通过旋转图像生成对抗样本 | + 难以被检测 - 对模型效果不一致 |
数据漂移 | - 数据分布随时间发生变化,导致训练和测试数据分布不一致 | + 提高模型泛化能力 - 需不断更新和调整模型 |
5.1.5 检测基准
使用现有的检测基准进行比较,包括无监督的Z-Score、NIC、MagNet(基于重建误差)以及有监督的LID。默认设置与Cocox: Generating conceptual and counterfactual explanations via fault-lines(AAAI 2020,CCF-A,文章介绍了一种名为CoCoX的模型,该模型用于解释深度卷积神经网络(CNN)的决策。通过识别并修改图像中的最小语义特征(称为“可解释概念”),CoCoX可以生成概念性和反事实的解释。例如,它可以指出需要添加或删除哪些特征才能改变图像的分类结果,使得解释更加直观和易于理解。)相同。
5.2 对抗性攻击诊断
实验目标是解读支撑这些扰动的机制,并理解它们的概念含义。
5.2.1 KS检验
通过KS检验得到以下结果:
(1)不同对抗攻击方法的p值:表1展示了比较原始数据和攻击数据的基本特征分布的KS测试结果。每种对抗攻击类型在所有噪声水平下产生的p值都显著低于0.05。
(2)D统计量和噪声幅度的关系:随着对抗噪声强度的增加,D统计量显著增加,p值进一步降低。例如,当FGSM的噪声幅度从8/255变为32/255时,D统计量从0.002激增到0.036。
(3)跨数据集的一致性:MNIST和CelebA数据集上的结果也证实了这些发现,各种攻击类型和噪声水平下的p值都显著低于0.05。
根据这些结果可以得到以下结论:
(1)拒绝原假设:KS测试结果中的p值显著低于0.05,这表明可以拒绝原假设 ,即认为原始数据和扰动数据不共享相同的分布。
(2)对抗攻击有效:不同对抗攻击类型在各种噪声水平下都显著改变了数据的分布。无论对抗扰动的微妙程度如何,这些显著的分布差异都出现了。
(3)噪声强度的影响:随着对抗噪声强度的增加,数据分布与原始数据越来越不同。D统计量的增加和p值的降低进一步证明了这一点。
(4)跨数据集的一致性:在不同的数据集(CIFAR-10、MNIST、CelebA)上,对抗攻击的效果是一致的,各种攻击类型和噪声水平下的p值都显著低于0.05。这表明对抗攻击在广泛的数据集上都能显著改变数据分布。
5.2.2 距离矩阵诊断
通过分析距离矩阵来诊断DNN中的故障。主要关注两个方面:个体样本的分析和矩阵中特定位置的分析。
(1)个体样本分析
a.平均值和方差:对比原始数据集和攻击数据集的样本距离的平均值和方差,如图3所示。
直方图(Histogram)是一种显示数据分布的图表,通过将数据分成多个区间(称为“bin”)并计算每个区间内数据点的数量来表示数据的频率分布。以下是解读直方图的一些步骤和要点:
1. 轴的定义:
- X轴(横轴):表示样本距离的值。每个“bin”表示一个距离区间。
- Y轴(纵轴):表示在每个“bin”内的样本数量,即该区间内样本距离的频率。
2. 峰值(Peaks):
- 直方图中的峰值表示在某个距离区间内样本的集中程度。
- 明显分离的峰值:如果原始样本和攻击样本之间的距离在某个区间内集中,峰值会很明显。例如,FGSM-32/255攻击可能会产生明显的峰值,表明攻击样本和原始样本之间的距离分布有显著差异。
- 重叠的峰值:如果原始样本和攻击样本之间的距离没有显著变化,峰值可能会重叠。例如,CW攻击或Pixel攻击可能会导致峰值重叠,表明攻击样本和原始样本的分布较为相似。
3. 分布的形状:
- 观察直方图的形状可以了解数据分布的特征。
- 对称分布:如果直方图呈对称形状,说明数据分布较为均匀。
- 偏态分布:如果直方图呈现偏态(左偏或右偏),说明数据分布存在偏差。
4. 均值和方差:
- 均值:直方图的中心位置,可以通过观察直方图的峰值位置来大致估计。
- 方差:直方图的宽度,反映了数据分布的离散程度。宽的直方图表示数据分布较为分散,窄的直方图表示数据分布较为集中。
b.结果:明显扰动(如FGSM-32/255)在直方图中展示了清晰可分的峰值,而最小扰动(如CW)或像素扰动(如Pixel attack with 3 pixels change)则分布重叠,表明小扰动的攻击样本难以通过样本距离的平均值或方差与原始样本区分开来。
(2)位置分析
a.位置均值和方差:通过图4的热图展示潜在概念距离矩阵中各个位置的变化,较大的扰动导致均值增加,最小扰动的显著距离值位置比例较小。
具体步骤就是先对原始样本和攻击样本进行编码,得到它们在潜在空间中的表示,计算每个位置的距离,然后对每个位置上的距离值进行统计,计算均值和方差,绘制成热力图。
1.热图的定义
- 热图(Heatmap):是一种二维数据的可视化表示方法,通过颜色的变化来表示数值的大小。在图4中,热图用于显示潜在概念距离矩阵中各个位置的均值和方差。
2. 轴的定义
- X轴和Y轴(横轴和纵轴):分别表示样本在潜在概念空间中的位置。这些位置可能对应于潜在表示的维度。
- 颜色(Color):表示在该位置上的均值或方差。颜色越深(通常是红色或蓝色),表示该位置的均值或方差越大。
b.结果:位置变化的分析可以有效识别哪些位置更容易受到攻击或更具韧性。
(3)频谱特性分析
a.高频和低频能量分布:通过图5比较原始数据和攻击数据在高频和低频成分上的能量分布,显著扰动对整体结构和细节信息都有显著影响,而最小和像素攻击主要影响细节信息。
b.结果:高频成分放大了原始距离矩阵域中的差异,显示出攻击扰动在数据分布上的显著影响。
5.2.3 概念索引矩阵诊断
(1)概念分布图
通过识别原始和攻击样本中最频繁出现的索引,可以观察到显著的差异。
横坐标是概念索引,纵坐标是频率。例如,在FGSM、PGD、JSMA等攻击下,概念索引的使用频率发生了显著变化。
(2)常见位置分布
作者画了前20个频繁变化的概念索引。
(3)频繁变化位置热图
颜色较深的位置表示这些位置在对抗性攻击下发生了较大的变化。明显扰动导致所有位置的概念变化较大,而最小和像素扰动主要在概念热图的中心位置表现出较大的变化。这表明某些位置在对抗性攻击下更易受到影响。
(4)过渡模式熵
横坐标概念索引,纵坐标是熵。
这一步就是计算每个潜在概念的熵,熵低反映了原始样本和攻击样本之间概念的一致性,熵高则表示概念过渡较大。图展示了显著扰动的平均熵高于最小和像素扰动。高熵表示这些位置在攻击过程中概念变化频繁,表明这些概念更易受到攻击。
5.2.4 光谱特性度量
光谱特性度量是指通过将距离矩阵应用傅里叶变换,将其从空间域转换到频域,并分析频域中的能量分布。低频成分通常表示整体结构信息,而高频成分表示细节信息。
对于明显扰动(如FGSM-32/255),高频和低频成分的能量分布都发生了显著变化。这表明明显扰动对整体结构和细节信息都有显著影响。
对于最小化扰动(如CW攻击和Pixel攻击),主要影响高频成分,表示这些扰动主要影响数据的细节信息,对整体结构影响较小。
5.2.5 结论
对于明显的扰动(obvious perturbations),仅依赖对齐距离(alignment distance)就可以实现区分。这表明,当攻击样本与原始样本之间的距离差异显著时,通过对齐距离进行分析和诊断是有效的。
然而,对于最小化的扰动(minimized perturbations),仅依赖对齐距离来区分存在挑战。这表明在面对较小的扰动时,原始样本和攻击样本之间的距离差异不明显,因此需要更深入地探索对齐索引(alignment index)中的特征,以有效区分这些扰动。
5.3 语义攻击诊断
5.3.1 实验设置
语义攻击类型包括下面三种:
- 对比度变化(Contrast Change)
- 颜色偏移(Color Shift)
- 图像旋转(Rotation)
检测方法:
- 使用不同的检测器对语义攻击进行检测,包括MagNet、Z-score、NIC、LID、One-Class SVM等。
- 通过对齐距离和索引矩阵进行分析,识别和检测语义攻击。
诊断策略:
- 通过热图和频谱分析,识别语义攻击对潜在概念空间的影响。
- 通过Kolmogorov-Smirnov (KS) 测试评估原始数据和语义攻击数据之间的分布差异。
5.3.2 实验结果
检测性能:
- 表2展示了在CIFAR-10数据集上的语义攻击检测性能,包括检测率(Detection Rate, DR)和误报率(False Positive Rate, FPR)。
- 不同的检测器在不同攻击下的表现有所不同,DNN-GP在所有攻击设置下均表现出色,检测率接近100%,误报率低于5%。
诊断结果:
- 通过对齐距离和索引矩阵的分析,可以有效区分原始样本和语义攻击样本。
- 通过热图和频谱分析,识别出语义攻击对潜在概念空间的具体影响。
5.3.3 结论
语义攻击的影响:
- 语义攻击对模型的影响主要体现在潜在概念空间中的特定位置和特征上。
- 通过分析潜在概念空间,可以识别出语义攻击对数据的细微变化。
检测和诊断策略的有效性:
- 通过对齐距离和索引矩阵的分析,可以有效检测和诊断语义攻击。
- DNN-GP在语义攻击的检测中表现优异,检测率高,误报率低。
改进模型鲁棒性:
- 通过识别语义攻击的影响区域和特征,可以针对性地改进模型的鲁棒性。
- 提出了一系列有效的检测和诊断方法,为提高模型的安全性提供了有力支持。
5.4 提高模型鲁棒性的实验
我们首先对DNN-GP的性能进行基准测试,然后在自适应攻击和数据漂移下进行DNN-GP评估。
这里就开始使用SVM去进行训练了。特征就是前面说的,包括样本感知距离度量、位置感知距离度量和光谱特性度量。
5.4.1 特征处理步骤
-
提取对齐距离矩阵和对齐索引矩阵:
- 对于每个样本,计算其在潜在概念空间中的对齐距离矩阵和对齐索引矩阵。
-
计算样本感知距离度量(Sample-aware Distance Metrics):
- 对于每个样本,计算其对齐距离矩阵的均值和方差。
- 这些均值和方差作为样本的特征输入到SVM中。
-
计算位置感知距离度量(Position-aware Distance Metrics):
- 对数据集中所有样本的对齐距离矩阵中的每个位置,计算其距离值的均值和方差。
- 将这些位置感知的统计特征作为输入特征。
-
计算光谱特性度量(Spectral Characteristic Metrics):
- 对每个样本的对齐距离矩阵应用2D傅里叶变换,将其转换到频域。
- 计算频域中低频和高频区域的能量总和,分别作为特征输入到SVM中。
5.4.2 特征向量构建
-
样本感知特征(Sample-aware Features):
- 对于每个样本,构建一个特征向量,包括:
- 对齐距离矩阵的均值
- 对齐距离矩阵的方差
- 对于每个样本,构建一个特征向量,包括:
-
位置感知特征(Position-aware Features):
- 对于每个样本,构建一个特征向量,包括:
- 每个位置的对齐距离均值(全局)
- 每个位置的对齐距离方差(全局)
- 对于每个样本,构建一个特征向量,包括:
-
光谱特征(Spectral Features):
- 对于每个样本,构建一个特征向量,包括:
- 低频能量总和
- 高频能量总和
- 对于每个样本,构建一个特征向量,包括:
5.4.3 具体处理过程
-
提取和计算特征:
- 从每个样本的对齐距离矩阵和对齐索引矩阵中提取相关特征。
- 使用统计方法(均值、方差)和频谱分析(傅里叶变换)计算特征值。
-
构建特征向量:
- 将每个样本的所有特征组合成一个特征向量。
-
输入到SVM中:
- 将构建好的特征向量输入到One-Class SVM中进行训练。
- One-Class SVM根据这些特征向量构建一个超平面,将正常样本和异常样本分开。
5.4.4 结果
-
有效性:
- 通过索引和距离矩阵的分析,可以有效区分原始样本和攻击样本。
- DNN-GP在所有攻击设置下均表现出色,检测率高,误报率低。
-
适用性:
- DNN-GP方法在不同的数据集和攻击类型上都表现出良好的适用性,证明了其在不同场景下的鲁棒性和有效性。
-
诊断和缓解策略:
- 通过对索引和距离矩阵的深入分析,可以识别攻击样本的独特行为模式,为进一步的诊断和缓解策略提供支持。
5.5 实验结论
-
诊断与检测的有效性:DNN-GP(Deep Neural Network General Practitioner)在对抗性攻击、语义攻击和数据漂移等场景下,展示了高效的诊断与检测能力。通过分析潜在概念空间的对齐距离和索引矩阵,可以有效区分原始样本与攻击样本。
-
模型鲁棒性增强:基于诊断洞察,提出的概念策略显著增强了模型的鲁棒性。通过特征选择和向量量化重构等方法,可以识别和缓解恶意样本对模型的影响。
-
模型和攻击无关的缓解措施:DNN-GP的方法具有模型和攻击无关的特点,能够在不同的攻击和故障场景下表现出色,避免了当前解释方法容易受到对抗性操纵的漏洞。
六、未来愿景
-
扩展应用场景:未来的研究可以探索将DNN-GP应用到更多样化的场景中,例如自然语言处理、语音识别等领域,以验证其在不同数据类型和任务中的有效性。
-
优化诊断和缓解策略:进一步优化DNN-GP的诊断和缓解策略,例如引入更多先进的特征选择算法和优化向量量化重构方法,以提高检测精度和鲁棒性。
-
实时检测与响应:研究如何将DNN-GP的方法应用于实时系统中,实现对恶意样本的快速检测与响应,从而提高系统的安全性和可靠性。
-
跨模型通用性:探索DNN-GP在不同深度学习模型之间的通用性,验证其在各种网络架构下的适用性,并研究如何根据不同模型的特点进行适配和优化。
具体而言,我觉得这个可以尝试用在恶意软件分类上作为一种防御模式,或者说是概念漂移检测一类的。因为这里他主要说的是数据漂移而不是概念漂移。一个变得是P(X|Y)