基本信息
原文名称 NPC: Neuron Path Coverage via Characterizing Decision Logic of Deep Neural Networks
原文作者 XIAOFEI XIE、TIANLIN LI、JIAN WANG、LEI MA、QING GUO、FELIX JUEFEI-XU、YANG LIU
原文链接 https://arxiv.org/abs/2203.12915
发表期刊 ACM Transactions on Software Engineering and Methodology (TOSEM), 2022
一、 引言
深度学习在很多领域已经产生了诸多应用,如:图片分类、语音识别等。然而,在实际环境尤其是重要领域中,神经网络的性能和质量需要系统性地测试来验证。借鉴传统软件的经验,目前提出了多种结构化覆盖度量,以期衡量深度神经网络的充分性。可是由于神经网络天然的黑盒特性,这些现有的结构化度量缺少可解释性的原理支撑,且其于神经网络决策逻辑间的关系不明。此外,最近的研究揭露在结构化度量和神经网络缺陷检测能力之间不存在相关性,需要重新思考一个更合适的度量指标。
本文基于DNN决策逻辑提出了一种可解释性的度量指标。参考传统程序测试中的控制流图,本文基于DNN决策逻辑提取了决策图,决策图中的一条路径即代表DNN中的一种决策逻辑。同时,本文从控制流和数据流两个角度对DNN决策图进行分析,并提出了两种路径覆盖指标。路径覆盖率越高,探索到的DNN决策逻辑也就越多。通过大量实验证明:1.决策图中的路径可有效代表DNN中的决策逻辑。2.本文提出的覆盖度量可区分对抗样本集和自然样本集,且与输出公正性强相关。
二、 概述
研究目标
本篇文章聚焦分类神经网络的测试,分类器为
本文创新点
01
设计 Neuron Path Coverage-NPC,可解释性强、能够很好地体现DNN的决策结构。
02
基于Layer-Wise Relevance Propagation机器学习解释技术提取DNN中的关键决策路径(Critical Decision Paths-CDPS),然后对CDP进行类内聚类和路径合并得到抽象路径Abstract CDP,依此构建DNN的决策图。
03
基于决策图,从控制流和数据流两个角度,提出了两种DNN决策图覆盖度量基于结构的覆盖(Structure-based Neuron Path Coverage-SNPC)、基于激活值的覆盖(Activation-based Neuron Path Coverage-ANPC)。路径指标之间的关系如下图1所示。
04
针对本文研究设计了综合且详细的实验方案,以评估所提出的关键路径、覆盖度量的有效性。
图1 路径指标关系图
三、 本文详细工作
文章详细工作框架图如图2所示。其中各个部分的详细内容如下:
01
为每一个训练集中的样本提取CDP。提取出来的CDP代表模型学习到的决策逻辑。
02
对给定的初始输入,会计算初始输入提取的CDP 与 之前在训练样本中提取的CDP 之间的距离,以此作为覆盖度量。
03
计算与所有样本的CDP之间的距离代价过大,为了提高效率,对训练样本的CDP进行聚类和抽象。具有相似决策逻辑的样本可能具有相似的CDP。对于具有相同类别的样本,将其CDP分为了k 簇,具有相似决策路径的样本会被聚类到同一个簇中。比如黄猫和黄猫、棕猫和棕猫。
04
对于簇中的CDP聚合为一个抽象CDP,这个抽象CDP就代表了该簇中所有样本的决策路径。
05
最终基于抽象CDP,提出了基于距离的覆盖度量,用来衡量测试在多大程度上覆盖了一个新的决策路径。具体来讲,首先会提取给定输入的抽象CDP;计算新的CDP和相应簇的抽象CDP之间相似性;考虑抽象CDP中神经元的激活值,并计算输入样本与簇中样本(沿CDP)激活向量之间的距离。最后,综合考虑相似度/距离,并且将 相似度/距离 分为 m个buckets,计算多少个buckets的得到了覆盖。
图2 本文工作总览图
四、 Layer-Wise Relevance Propagation
LRP 是一种机器学习解释性技术,为输入特征赋予不同的分数—相关性,该分数表明对应特征对模型最终预测结果的贡献度。基本的理念可以理解为 要找出单个像素对图片分类结果的贡献度。详细的LRP计算过程可以阅读参考文献[1]。
预测函数
(一)相关性分数的计算
具体来讲,分类器
其中
各层之间的相关性分数可以通过层与层之间反向传播(从
其中
其中
下图3中展示了LRP的计算过程,左半部分分类器将图片识别为狗。为了解释为什么分类器将图片识别为狗,LRP从输出层开始计算相关性分数,最终输入层输入向量中的每一维度的相关性分数都可以被计算得出。图3中不同的颜色代表不同的相关性分数,红色越深的代表相关性分数越大。
图3 LRP总体概述图
五、 关键决策路径 Critical Decision Path-CDP
根据 LRP 计算出来各层各个神经元的相关性分数,基于这些相关性分数,定义
CDP定义:如公式4所示,初始输入
图4 关键路径示意图
如图4所示,黄色路径和红色路径分别代表 猫和狗的决策路径。通过实验发现,相似的初始(都是猫)输入趋向于拥有相似的CDP而不同输入(一个是猫一个是狗)则拥有不同的CDP。
由于一层中可能出现多个关键神经元,会使用𝑎来控制挑选更为重要的,𝑎的值越小挑选的神经元的个数也就越少。没有被选为CDP的神经元被称为 Non-Critical-Decision Path(NCDP)。其中CDP 宽度 = 每层中被选为CDP神经元的比例
对于不同的输入,CDP宽度会不同,即使是拥有相同的参数a。
对于每一个输入而言,挑选的 CDP 需要对预测产生较大的影响,与此同时NCDP产生的影响要尽可能的小。只有宽度尽可能的小,CDP 才能精准的代表不同的决策逻辑。
实验证明,合适宽度的CDP可以更好地揭示不同的预测过程。即预测为同一类别的输入具有相似的CDP,反之则具有不同的CDP。
六、 路径抽象
(一)聚类
Intra-Class Path Clustering,将所有神经元的状态组成一个向量,如果该神经元包含在CDP里面,标记为1,否则标记为0。然后使用𝐾-Means clustering把具有相同预测结果的CDP分为
(二)路径聚合
对于每一个簇中的CDP,将采用路径聚合的方式聚合为一个抽象的CDP。用聚合后的抽象CDP来代表这个簇的决策逻辑。
具体来说,对于
(三)决策图
定义 分类器
七、 神经元路径覆盖
从控制流角度:基于结构的神经元路径覆盖Structure-based Neuron Path Coverage SNPC
从数据流角度:基于激活值的神经元路径覆盖Activation-based Neuron Path Coverage ANPC
(一)基于结构的神经元路径覆盖
Structure-based Neuron Path Coverage SNPC
假设输入
01
计算
02
将相似度分为多个 buckets,计算覆盖了多少个buckets ---覆盖率 。
具体来讲,现在有两个路径
然后把整个相似度的空间分为
对于一个给定的测试集来讲,其
图5 SNPC计算公式
SNPC越高,就意味着DNN中更多的逻辑被探索到了。然而SNPC只考虑了控制流,对于某些样本来讲可能还是过于粗糙。为了更精细化,又提出了数据流角度考虑的基于激活值的神经元路径覆盖Activation-based Neuron Path 。
(二)基于激活值的神经元路径覆盖
Activation−based Neuron Path Coverage ANPC
01
考虑抽象CDP神经元的输出值,然后计算两个CDP输出值组成的向量之间的距离。
02
将距离分为m个buckets,计算覆盖了多少个buckets---覆盖率。
给定了一个输入
计算
对于输入
引进一个上界
对于一个测试集,基于激活值的神经元路径覆盖Activation-based Neuron Path Coverage的定义如下图6所示:
图6 ANPC计算公式
从定义上看,SNPC是根据路径相似度计算的距离,而ANPC是通过神经元的激活值计算的距离。
八、 实验部分
(一)CDP是否体现DNN决策
实验方法
通过消除掉CDP中神经元的值,观察预测结果是否发生改变。
两个预期
当CDP中神经元的值被消除时,预测结果发生极大的改变。
当NCDP中神经元的值被消除时,预测结果受到的影响程度很小。
评价指标
inconsistency rate:
X是整个测试集;
表1 消除CDP和NCDP中神经元后的平均宽度和不一致率
𝛼 的值越小,每层中被挑选为CDP的神经元的数目也就越少。
Inc.C 是消除CDP中神经元后的不一致性。
Inc.NC是消除NCDP中神经元后的不一致性
表2 消除CDP中不同权重比例的神经元后的平均不一致率
此外本文还考虑到了Width的影响。Width代表的每层神经元中被挑选为CDP的平均比例。
表3 类内和类间CDP的平均相似度
Intra 是同类中CDP的平均相似度。
Inter 是类间CDP的平均相似度。
随着width的增加,平均相似度也在增加,如果CDP太宽了,会导致两个输入之间的差异性减少。如果CDP太窄了,可能会遗漏掉一些重要神经元。
结论
CDP在模型的预测过程中起到了关键作用,而NCDP没有。CDP跟模型内部的决策逻辑高度相关。
(二)路径抽象的有效性
和第一个实验类似,同样将抽象CDP/NCDP中的神经元消除,然后观察inconsistency的变化。
对于每一个包含一组训练样本𝑋的聚类,可以根据𝑋的所有CDP计算出它的抽象CDP。为了评估路径抽象的精度,对于每个输入𝑥∈𝑋,我们消除了相同的抽象CDP中的神经元,并评估平均不一致率。
路径抽象的效果接近于不抽象的效果,且可以减少大量计算量。
表4 消除抽象CDP和抽象NCDP中神经元后的平均宽度和不一致率
Inc.C 是消除抽象CDP中神经元后的不一致性。K是分类的簇数
Inc.NC是消除抽象NCDP中神经元后的不一致性。 𝛽 神经元的权重阈值
同一类的样本可能具有不同的决策逻辑,通过路径抽象,可以区分这些差异。
表5 聚类/不聚类的平均相似度
#Clus 是聚类的簇总数
#Intra_Cla 同一类别中CDP的平均相似度,没有聚类
#Inter_Cla 不同类别中CDP的平均相似度,没有聚类
#Intra_Clus 相同簇中CDP的平均相似度
#Inter_Clus 同一类中不同簇的CDP的平均相似度
结论
通过聚合每一个簇中的CDP,抽象CDP对于预测过程依然具有重要作用。此外,抽象CDP可以区分不同决策逻辑,在同一个簇中的输入有相似的决策路径,在同一类的不同簇中有不同的决策行为。
(三)缺陷检测的敏感程度
样本集构建
任意挑选1000个在测试集中的良性样本,将其中相同的部分按照相同大小替代为自然错误的样本,或者对抗样本。
错误率设置为1%,2%, 3%, 5%, 7%, 10%
评价指标
对于每一个测试集𝑠∈𝑆,计算它的覆盖范围改变与最初的测试集S0相比,关于覆盖准则𝐶𝑜𝑣,即Δ={𝐶𝑜𝑣(𝑠)−𝐶𝑜𝑣(𝑠0)|𝑠∈𝑆}。对于每一个𝑠∈𝑆,将覆盖率的变化归一化如下:
Baseline
• Neuron Coverage (NC)
• 𝑘-Multisection Neuron Coverage (KMNC)
• Neuron Boundary Coverage (NBC)
• Likelihood-based Surprise Coverage (LSC)
• Distance-based Surprise Coverage (DSC)
• Importance-Driven Coverage (IDC)
当引入更多的错误的时候,覆盖率总体呈增加趋势。
图7 覆盖率变化图
结论
总的来说,ANPC和SNPC对不同的错误比其他覆盖标准更敏感。不同的覆盖标准可以达到相似的增长趋势,说明它们之间存在一定的相关性。
(四)NPC是否与输出公正性相关?
随意挑选了两个不同大小 size 100/500 的种子测试集。
基于这两个种子测试集,采用了Fabrice Harel-Canada等人[2]的方法,产生了一些新的样本加入到测试集中。
对于测试集,计算覆盖率与输出公正性之间的关联性-皮尔逊积矩相关系数。
计算输出公正性。
表6 覆盖度量和输出公正性的相关性
结论
总体而言,ANPC和SNPC与输出公正性呈正相关。模型和测试集的大小会影响相关性。
(五)NPC的效率问题
因为提取训练集的CDP和抽象CDP可以离线操作,所以只比较了计算覆盖率的部分。总体而言SNPC和ANPC的计算开销大于其他对比指标,但计算开销总体在可接受范围内。
表7 时间开销
九、 总结
本文设计 Neuron Path Coverage-NPC,可解释性强、能够很好地体现DNN的决策结构。基于Layer-Wise Relevance Propagation机器学习解释技术提取DNN中的关键决策路径(Critical Decision Paths-CDPS),然后对CDP进行类内聚类和路径合并得到抽象路径Abstract CDP,依此构建DNN的决策图。然后根据基于决策图,从控制流和数据流两个角度,提出了两种DNN决策图覆盖度量Structure-based Neuron Path Coverage-SNPC、Activation-based Neuron Path Coverage-ANPC,并针对本文研究设计了综合且详细的实验方案,以评估所提出的关键路径、覆盖度量的有效性。思路总结如图8所示:
图8 本文思路总结
参考文献
[1]
S. Bach, A. Binder, G. Montavon, F. Klauschen, K.-R. Müller, and W. Samek, “On Pixel-Wise Explanations for Non-Linear Classifier Decisions by Layer-Wise Relevance Propagation,” PLoS ONE, vol. 10, no. 7, p. e0130140, Jul. 2015, doi: 10.1371/journal.pone.0130140.
[2]
Fabrice Harel-Canada, Lingxiao Wang, Muhammad Ali Gulzar, Quanquan Gu, and Miryung Kim. 2020. Is Neuron Coverage a Meaningful Measure for Testing Deep Neural Networks?. In Proceedings of the 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ACM.
[3]
T. Li, J. Wang, L. Ma, Q. Guo, F. Juefei-Xu, and Y. Liu, “NPC: Neuron Path Coverage via Characterizing Decision Logic of Deep Neural Networks.” arXiv, Mar. 26, 2022. Accessed: Mar. 06, 2023. [Online]. Available: http://arxiv.org/abs/2203.12915
[4]
Y. Liu, P. Yang, P. Jia, Z. He, and H. Luo, “MalFuzz: Coverage-guided fuzzing on deep learning-based malware classification model,” PLoS ONE, vol. 17, no. 9, p. e0273804, Sep. 2022, doi: 10.1371/journal.pone.0273804.