CN113762335B - 一种基于不确定性的智能系统测试数据生成方法 - Google Patents
一种基于不确定性的智能系统测试数据生成方法 Download PDFInfo
- Publication number
- CN113762335B CN113762335B CN202110851977.4A CN202110851977A CN113762335B CN 113762335 B CN113762335 B CN 113762335B CN 202110851977 A CN202110851977 A CN 202110851977A CN 113762335 B CN113762335 B CN 113762335B
- Authority
- CN
- China
- Prior art keywords
- sample
- test data
- neuron
- function
- original input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明提供的一种基于不确定性的智能系统测试数据生成方法,对传统CNN分类器模型进行重构,结合D‑S证据理论进行的不确定性推理得到信息冲突值,然后基于冲突值和神经元覆盖率引导测试数据生成。从生成更多样的测试数据和提高测试充分性的角度出发,通过综合增大样本特征之间的冲突值可以产生对抗样本诱导模型误分类和提高神经元覆盖率有助于提高测试的充分性两个方面的内容,结合了模型的结构、参数、样本特征之间的冲突以及神经元覆盖率指标,是一种新的测试数据生成方法。与DeepXplore相比,不需要使用多个神经网络模型交叉引证,与DLFuzz相比,能生成更多的测试数据。
Description
技术领域
本发明涉及媒体通信技术领域,尤其涉及一种基于不确定性的智能系统测试数据生成方法。
背景技术
基于对抗性的测试数据生成方法本质上是通过对抗样本生成技术来生成使模型产生误分类的对抗样本,从而使模型暴露缺陷。下面首先对对抗样本生成技术进行总结:
对抗样本是指通过故意向原始数据集中添加一些人无法察觉的细微干扰,导致模型以高置信度错误输出的测试样本。近年来,根据不同的优化方法,产生了多种对抗样本的生成算法。按照全像素添加扰动和部分像素添加扰动进行分类,从全像素添加扰动的研究来看,Szegedy等人首次证明了对抗样本的存在,并尝试求解使得神经网络误分类的最小扰动的方程,提出L-BFGS算法。该算法通过寻找最小的损失函数添加项,计算使得模型误分类的扰动来构造对抗样本。之后Szegedy等人发现可通过对模型进行对抗训练来提高深度神经网络的鲁棒性,从而提高模型抵御对抗样本攻击的能力。GoodFellow等人开发了快速梯度迭代法(FGSM),该方法在白盒环境下,通过求出模型对输入的导数,然后使用符号函数得到其具体的梯度方向,接着将不同强度的扰动添加到该输入中来产生对抗样本。由于FGSM是一步迭代,精确度欠佳,不能够很好地控制生成对抗样本时的噪声,因此在FGSM算法的基础上,Kurakin等人使用多步迭代的方式生成对抗样本,提出了BIM 方法,获得了较高的攻击成功率。Madry等人提出了FGSM的另一个变体方法PGD攻击,即投影梯度下降方法,该方法是一种迭代攻击,是最强的一阶攻击。DeepFool算法是基于超平面分类的一种攻击方法,在二分类问题中,超平面是实现分类的基础,那么要改变某个样本x的分类,最小的扰动就是将x移动到超平面上,这个样本到超平面的距离就是所添加扰动的最小值,多分类也类似于此。该方法与FGSM、JSMA相比,能够获得更小的扰动。
从仅给部分像素添加扰动来看,Papernot等人从攻击者的目标和背景知识两个方面来构建攻击模型,提出限制L0范数的方法JSMA来进行对抗攻击。该方法并不用对整张图像进行扰动,而只是改变某几个像素值,即可实现目标攻击。为了能够更好地提供对抗攻击,Su等人提出了一种极端的单像素对抗攻击方法One Pixel Attack。该方法不需要知道模型的任何参数或梯度信息,是黑盒攻击算法,它仅仅改变图像中的一个像素值就可以实现对抗攻击。
诸如FGSM、JSMA等方法,都是通过对特定的原始样本添加不同的扰动来生成单个对抗样本,Moosavi-Dezfooli等人提出了一种用于计算通用扰动的算法UAP,即将同一个扰动添加到不同的原始样本中,均可以使模型将其误分类。通用的对抗扰动具有很强的迁移性,不仅是跨数据集的,而且是跨模型的,对现实世界产生了很大的安全隐患。
不同于FGSM、PGD等方法,Carlini和Wagner等人提出了一种基于优化的CW方法,该方法同时兼顾高攻击准确率和低对抗扰动的两个方面,并实现了限制L∞、L2和L0 范数的三种对抗攻击。Zhao等人认为,传统的对抗样本是不自然的,在真实数据中几乎不存在,并基于GAN提出了一种生成更加自然、真实、清晰的对抗样本生成方法,这种方法可用来衡量模型的鲁棒性。
基于覆盖的测试数据生成方法是从软件工程的角度出发,借鉴传统软件测试中的语句覆盖、路径覆盖、符号覆盖等思想,将覆盖的想法迁移到深度学习模型测试中,以最大化覆盖率为目标来生成测试数据。Pei等人根据传统测试中代码覆盖率的思想以及深度学习模型由多个神经层构建的特点,提出了神经元覆盖率测试准则,并设计构建了DeepXplore方法,该方法将多个具有相似功能的深度学习系统作为交叉引证,避免了对错误行为的手工标记。
Guo等人结合神经元覆盖率和模糊测试的思想,提出了一种差分模糊测试框架DLFuzz 来指导深度学习系统暴露不正确的行为。DLFuzz以最大化原始输入与变异输入之间的预测差异和神经元覆盖率为目标,不断对输入进行细微的变异,从而生成测试数据。该方法为最大化神经元覆盖率,提出了四种有助于增加神经元覆盖范围的神经元选择策略。通过与 DeepXplore进行比较,DLFuzz可实现更大的神经元覆盖率且生成图像的扰动更小。
Tian等人提出了一种系统化的技术,证明可以使用不同逼真的图像转换来生成可增加神经元覆盖率的测试数据,并设计了DeepTest方法。DeepTest方法专注于通过在种子图像上应用更改亮度、更改对比度、平移、缩放等变换来模拟现实世界现象。DeepTest在自动驾驶汽车领域取得了良好的实验效果。
Sun等人结合传统软件测试中符号执行的思想,提出了第一种用于深度学习系统的 Concolic测试方法,并设计了DeepConcolic工具。Concolic测试是自动生成测试数据的有效方法,通过在具体执行和符号分析之间进行交替来提高覆盖率。实验结果表明,DeepConcolic不仅可以获得较高的神经元覆盖率,同时可以生成较多的测试数据。
上述基于对抗性的测试数据生成技术和基于覆盖准则的测试数据生成技术均未涉及结合预测不确定性中得到的冲突值给出生成测试数据的方法。
发明内容
本发明的实施例提供了一种基于不确定性的智能系统测试数据生成方法,用于解决现有技术中存在的技术问题。
为了实现上述目的,本发明采取了如下技术方案。
一种基于不确定性的智能系统测试数据生成方法,包括:
S1基于原始输入样本,通过DeepConflict算法,对原始输入样本进行一次或多次变异操作,获得中间变异样本;
S2将该中间变异样本和原始输入样本输入到待测卷积神经网络中,获得测试数据。
优选地,步骤S1包括:
S11构建种子集合,将一个原始输入样本加入到该种子集合中;该种子集合还用于保存对神经元覆盖率和样本特征证据间的冲突值有增益的中间变异样本;
S12遍历该种子集合中的所有样本,通过联合优化目标函数计算该所有样本的梯度方向;
S13将该梯度方向添加到该个原始输入样本,获得中间变异样本。
优选地,联合优化目标函数为
obj=λ1fn(x)+λ2fclt(x) (1);
式中,x表示原始输入样本,fn(x)表示神经元覆盖率函数,fclt(x)表示冲突值计算函数,λ1和λ2为超参数。
优选地,冲突值计算函数fclt(x)通过如下过程计算获得:
通过式
通过式
计算证据之间的冲突值计算函数fclt(x);式中η+和η-分别通过式
和式
计算获得;式中,k=1,…,K,K为分类任务中类别的个数,j=1,…,J,J为最后一个隐藏层的神经元个数,φj(x)为最后一个隐藏层第j个神经元的激活值,将输入样本判断为l类的置信度,将输入样本判断为非l类的置信度,exp()是以自然对数为底的指数函数;
通过式
(11)计算获得对分类{θk}的总置信度m({θk}),式中,η=(1-k)-1。
优选地,冲突值计算函数fclt(x)的过程还包括:
通过式
计算获得无法进行分配的信任度m(Θ)。
优选地,神经元覆盖率函数fn(x)通过式
计算获得;式中,N={n1,n2,……}表示DNN的所有神经元,T={x1,x2,……}表示所有测试输入,out(n,x)返回给定测试输入x时DNN中神经元n的输出值,t表示神经元被激活的阈值。
步骤S2包括:
S21将该中间变异样本输入到待测卷积神经网络中,获得与该中间变异样本对应的原始输入样本的预测结果;
S22基于该预测结果,计算该中间变异样本与对应的原始输入样本之间的距离和神经元覆盖率;
S23若该距离和神经元覆盖率分别满足预设阈值,则将该距离和神经元覆盖率加入到种子集合并执行步骤S24,否则针对该原始输入样本返回执行步骤S1;
S24判断待测卷积神经网络对该中间变异样本的分类结果与相对应的原始输入样本的分类结果是否相同,若相同则将该中间变异样本加入到测试数据集合,若不相同则针对该原始输入样本返回执行步骤S1。
由上述本发明的实施例提供的技术方案可以看出,本发明提供的一种基于不确定性的智能系统测试数据生成方法,对传统CNN分类器模型进行重构,结合D-S证据理论进行的不确定性推理得到信息冲突值,然后基于冲突值和神经元覆盖率引导测试数据生成。从生成更多样的测试数据和提高测试充分性的角度出发,通过综合增大样本特征之间的冲突值可以产生对抗样本诱导模型误分类和提高神经元覆盖率有助于提高测试的充分性两个方面的内容,结合了模型的结构、参数、样本特征之间的冲突以及神经元覆盖率指标,是一种新的测试数据生成方法。与DeepXplore相比,不需要使用多个神经网络模型交叉引证,与DLFuzz相比,能生成更多的测试数据。本发明提供的方法,将证据理论的思想应用于测试数据生成领域,引入预测不确定性中冲突值的计算和神经元覆盖率指标进行联合优化的思想,可以有效提高测试数据生成的质量,从而生成更多的测试数据,进一步发现神经网络模型的脆弱性;在测试数据生成的现有技术下,本发明是冲突值引导的测试数据生成方法,由于目前还没有使用预测不确定性中的冲突值来设计测试数据生成方法,因此本发明为测试数据生成的研究领域提供了方向。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于不确定性的智能系统测试数据生成方法的处理流程图;
图2为本发明提供的一种基于不确定性的智能系统测试数据生成方法的DeepConflict算法结构示意图;
图3为传统分类器结构图;
图4为本发明提供的一种基于不确定性的智能系统测试数据生成方法的DS分类器的结构示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
参见图1,本发明提供一种基于不确定性的智能系统测试数据生成方法,包括如下步骤:
S1基于原始输入样本,通过DeepConflict算法,对原始输入样本进行一次或多次变异操作,获得中间变异样本;
S2将该中间变异样本和原始输入样本输入到待测卷积神经网络中,获得测试数据。
该测试数据用于测试训练后的神经网络模型,测试模型是否能对测试数据进行正确分类,即是否能正确识别目标图像。
本发明从生成更多样的测试数据和提高测试充分性的角度出发,通过综合增大样本特征之间的冲突值可以产生对抗样本诱导模型误分类和提高神经元覆盖率有助于提高测试的充分性两个方面的内容,结合了模型的结构、参数、样本特征之间的冲突以及神经元覆盖率指标,是一种新的测试数据生成方法。与DeepXplore相比,不需要使用多个神经网络模型交叉引证,与DLFuzz相比,能生成更多的测试数据。
在本发明提供的实施例中,DeepConflict算法是一种对冲突值和神经元覆盖率进行联合优化来生成测试数据的新方法,兼顾样本特征之间的冲突值和测试充分性,如图2所示,展示了DeepConflict的基本结构。
变异算法是DeepConflict的核心内容,该算法通过求解最大化样本特征间冲突值和神经元覆盖率的联合优化问题来完成。变异算法流程如表1所示。
表1变异算法
DeepConflict算法中,共包含三个关键步骤:
(1)优化目标:在寻找扰动生成变异样本时,算法通过求解最大化样本特征证据之间的冲突值以及神经元覆盖率的联合优化问题来完成,联合优化目标公式定义为式(1),通过梯度上升的方法来使其最大化。
obj=λ1fn(x)+λ2fclt(x) (1);
其中fn(x)表示神经元覆盖率函数,fclt(x)表示冲突值计算函数,λ1和λ2为超参数,用于平衡这两个目标,n为Neuron coverage的首字母。obj为联合优化目标的计算值,获得了该计算值后可以通过常规的方式进一步获得梯度方向。
(2)变异过程:当给定一个输入样本x,DeepConflict会创建一个种子集合,用于保存对神经元覆盖率和样本特征证据间的冲突值有增益的中间变异样本,初始种子集合中只有x一个样本。接着DeepConflict遍历种子集合中的每个样本,通过联合优化目标函数计算这些样本的梯度方向,并将处理后的梯度方向作为扰动添加至原始样本中生成变异样本。
在生成变异样本后,将其输入待测卷积神经网络得到该样本的预测结果,并计算该变异样本与原始样本之间的距离和神经元覆盖率,当变异样本的神经元覆盖率满足要求并且与原始样本的距离足够小时(通过比对预设阈值),将其加入种子集合。
接着判断模型对变异样本与相对应的原始样本的分类结果,若分类不相同则认为待测卷积神经网络暴露了错误,此时将变异样本加入测试数据集合,然后退出迭代对下一个样本进行处理,否则继续本轮迭代。
在变异过程中,为了保证生成图像的质量,同时确保图像中添加的扰动人眼不可见,对每个样本的迭代次数以及变异样本与原始样本之间的距离加以限制,当不满足其中任意一个条件时,都会结束该样本的变异过程,开始对下一个样本进行变异。
(3)神经元选择策略:选择合适的神经元选择策略能够帮助最大化神经元覆盖率,最大化神经元覆盖率有助于发现模型更多的错误行为,从而有助于提高生成的测试数据的质量。DeepConflict算法借鉴了DLFuzz中的四种启发式策略来选择更有可能提高覆盖率的神经元,四种策略分别为:选择过去测试中经常覆盖的神经元、选择过去测试中很少覆盖的神经元、选择权重最高的神经元和选择激活阈值附近的神经元。
在本发明提供的实施例中,神经元覆盖率函数fn(x)通过式
计算获得;式中,N={n1,n2,……}表示DNN的所有神经元,T={x1,x2,……}表示所有测试输入,out(n,x)返回给定测试输入x时DNN中神经元n的输出值,表示针对任意的,在式中为针对任意属于T的测试输入x,t表示神经元被激活的阈值。
在本发明提供的优选实施例中,DeepConflict算法利用D-S证据理论可以进行不确定性推理和决策的特点进行设计,D-S证据理论(Dempster-Shafer Evidential Theory)也称D-S理论,最早是Dempster在利用上下限概率来解决多值映射问题方面所做的工作,他试图使用一个概率范围而不是一个确定的概率值来描述不确定性。Dempster的学生Shafer对证据理论做了进一步的工作,引入信任函数概念,形成了一套基于“证据”和“组合”来处理不确定性、不精确以及不准确信息推理问题的数学方法。
证据理论将概率论中对事件的单点赋值扩展为对事件集合赋值,弱化了相应的公理系统,满足了比概率更弱的要求,可看作一种广义的概率论。在D-S证据理论中,分别使用基本概率函数、信任函数、似然函数来描述知识的精确度和估计信任度,即可以从不同角度刻画命题的不确定性。D-S证据理论采用集合来表示命题,通过建立命题与集合的对应关系,把命题的不确定性转化为集合的不确定性。
D-S证据理论的样本空间、基本函数和证据之间的组合规则如下:
(1)样本空间
设Θ为变量X的所有可能取值的有限集合,也称为样本空间,Θ中元素两两互斥,则由Θ中所有子集构成的集合称为幂集,记为2Θ。当Θ中的元素个数为N时,其幂集中元素的个数为2N,并且幂集中每个元素A都对应着一个关于X的命题,称该命题为“X的取值在A中”。例如A={黑,白}表示X是黑色或者X是白色。
(2)基本函数
D-S证据理论中,有基本概率分配函数(mass)、信任函数(belief)和似然函数(plausibility)三个重要的概念[17],下面分别对其进行介绍。
1)基本概率分配函数(mass)
在样本空间Θ上的基本概率分配是把Θ的任意一个子集都映射为[0,1]上的函数m,称为 mass函数,并且满足公式(1)。
此时称m是2Θ上的概率分配函数,m(A)称为A的基本概率数,m(A)表示依据当前的证据对假设集合A的信任程度。当A真包含于Θ且A由单个元素组成时,m(A)表示对A的精确信任度;当A真包含于Θ且A由多个元素组成时,m(A)也表示对A的精确信任度,但却不知道这部分信任度该分给A中的哪些元素;当A=Θ时,m(A)是对Θ的各个真子集进行信任度分配之后剩下的部分,该部分代表无法进行分配的置信度,即不知道该将其分配给哪个真子集。
在D-S证据理论中,满足以下形式的mass函数称为简单(simple)mass函数:m(A)=s, m(Θ)=1-s。对于简单mass函数,变量w:=-ln(1-s)叫做证据的权重。那么,此简单bpa用证据权重w可表示为:Aw。
3)信任函数(belief)
在样本空间Θ上基于基本概率分配函数的信任函数定义为:对任意的A包含于Θ,均满足公式(2-2)。
Bel(A)表示在当前证据下,对假设集合A的信任程度。Bel(A)的值等于A的所有子集的基本概率之和。当A为单一元素组成的集合时,Bel(A)=m(A)。当B包含于A时,如果有命题“X在B中成立”,则必定有命题“X在A中成立”,因此信任函数又称为下限函数。
4)似然函数(plausibility)
在样本空间Θ上基于基本概率分配函数的似然函数定义为:对任意的A包含于Θ,均满足公式(2-3)。
在基本函数部分中,还有一个比较重要的概念是信任区间。在D-S证据理论中,对于样本空间Θ中的某个假设A,根据基本概率分配能够分别计算出A的信任函数Bel(A)和似然函数Pl(A),通过Bel(A)和Pl(A)组合成的区间[Bel(A),Pl(A)],称为信任区间,用于表示对某个假设的确认程度,可分别称Bel(A)和Pl(A)为对假设A信任度的下限和上限。Pl(A)-Bel(A) 表示既不信任A,也不信任的程度,即对于A是真是假不确定的程度。
(3)证据之间的组合规则
在实际问题中,对于相同的证据,由于来源不同,可能会得到不同的概率分配函数,这时,在D-S证据理论框架下,两组独立的mass函数可以通过正交和进行数据融合。假设m1和m2是两个不同的概率分配函数,融合公式为式(2-4)。
其中C值的计算方式如式2-5所示:
当C≠0时,则正交和m也是一个概率分配函数,当C=0时,则不存在正交和m,此时称作m1与m2相矛盾。
目前,D-S证据理论被广泛应用于统计模式识别中,研究的方向有分类器融合、证据校准和分类器设计。在分类器设计领域,Denoeux基于D-S证据理论证明多项式逻辑回归模型以及它的非线性扩展(即神经网络分类器)可以将输入或更高层的特征转换成D-S质量函数,然后利用D-S证据理论的组合规则进行信息推理,从而辅助基于不确定性信息的精准决策。
在多分类决策问题中,假设有类别集合Θ={θ1,…,θK},K表示类别的个数,各个类别之间相互独立;特征集合为J表示特征的个数,特征间相互独立。传统的分类器一般通过最小化损失函数来学习特征和参数β0k和βk,之后使用softmax 将输入映射为0-1之间的实数,输出对各个类别的判别概率,并归一化保证和为1。如图3展示了传统分类器结构。
D-S分类器通过将输入或高层神经元的特征输出转化为质量函数,然后进行组合计算和似然转化,最后输出对各个类别的信任程度。如图4展示了本发明优选实施例提供的D-S 分类器结构。
当仅仅考虑输出分类,二者是等效的,但D-S决策视图奠定了一个潜在的质量函数,相比概率输出,归一化的组合质量函数输出更具有信息量,在特征组合的过程中,可计算得到特征之间的冲突以及无效的信息量。
使用fclt(x)来表示证据之间的冲突值,计算公式为式(8),其中η+和η-的计算方法为公式(9)和公式(10)。式中,k=1,…,K,K为分类任务中类别的个数,j=1,…,J,J为最后一个隐藏层的神经元个数,φj(x)为最后一个隐藏层第j个神经元的激活值,将输入样本判断为l 类的置信度,将输入样本判断为非l类的置信度,exp()是以自然对数为底的指数函数。L 为求和、连乘运算临时用的变量。
使用m({θk})表示根据D-S证据理论的组合规则计算所得到的对分类{θk}的总置信度,其计算公式为式(11),其中η=(1-k)-1。
使用m(Θ)表示无法进行分配的信任度,计算公式为式(12)。
使用D-S证据理论进行证据组合的过程中,fclt(x)值可以表示出证据之间的冲突性, m(θ)可以表示无法进行分配的信任度,这些值能够辅助理解深度神经网络的不确定性,在本发明用于测试数据的生成工作方面起到了良好的指导作用。
在本发明提供的优选实施例中,使用到了基于神经网络结构化覆盖准则的测试数据生成方法DLFuzz。DLFuzz旨在扩大神经元覆盖范围并且为DL系统生成更多的对抗输入,打破黑盒测试技术的资源消耗限制和白盒测试技术的交叉引用障碍,利用细微的扰动来确保输入和突变输入之间的不可见差异。
变异算法是DLFuzz算法的主要组成部分。该算法通过求解最大化神经元覆盖率和错误行为个数的联合优化问题来完成。DLFuzz还利用了与DeepXplore相同的神经元覆盖定义和计算方法[1]。输出值大于设定阈值的神经元被视为激活(覆盖)。
DLFuzz通过优化输入以最大化预测误差来建立扰动,这与在训练DNN时优化权重以最小化预测误差是相反的。它很容易通过定制损失函数,通过梯度上升使损失最大化的方式实现。DLFuzz的优化目标objDLFuzz定义如下:
c是输入的原始分类标签,ci(i=0,1,……,k)是置信度刚好低于c的前k类标签之一;最大化第一部分将引导输入越过原始类别的决策边界,并位于其他前k个类别的决策空间中。此类修改后的输入更有可能被错误分类。在第二部分中,ni是要激活的目标神经元。选择这些神经元时要考虑多种改善神经元覆盖率的策略。超参数λ用于平衡这两个目标。
首先,DLFuzz迭代地选择值得激活的神经元以覆盖更多的逻辑,并通过应用微小扰动来引导DL系统暴露不正确的行为,从而改变测试输入。在突变过程中,DLFuzz保留了使神经元覆盖率更高的突变输入,并限制了微小扰动的不可见性,保证了原始输入和突变输入的预测结果相同。通过这种方式,,DLFuzz能够获取稀有输入,当突变输入的预测结果与原始输入不一致时,可以通过差分测试自动识别错误行为,即触发错误。
综上所述,本发明提供的一种基于不确定性的智能系统测试数据生成方法,对传统 CNN分类器模型进行重构,结合D-S证据理论进行的不确定性推理得到信息冲突值,然后基于冲突值和神经元覆盖率引导测试数据生成。从生成更多样的测试数据和提高测试充分性的角度出发,通过综合增大样本特征之间的冲突值可以产生对抗样本诱导模型误分类和提高神经元覆盖率有助于提高测试的充分性两个方面的内容,结合了模型的结构、参数、样本特征之间的冲突以及神经元覆盖率指标,是一种新的测试数据生成方法。与 DeepXplore相比,不需要使用多个神经网络模型交叉引证,与DLFuzz相比,能生成更多的测试数据。本发明提供的方法,将证据理论的思想应用于测试数据生成领域,引入预测不确定性中冲突值的计算和神经元覆盖率指标进行联合优化的思想,可以有效提高测试数据生成的质量,从而生成更多的测试数据,进一步发现神经网络模型的脆弱性;在测试数据生成的现有技术下,本发明是冲突值引导的测试数据生成方法,由于目前还没有使用预测不确定性中的冲突值来设计测试数据生成方法,因此本发明为测试数据生成的研究领域提供了方向。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (1)
1.一种基于不确定性的智能系统测试数据生成方法,其特征在于,包括:
S1基于原始输入样本,通过DeepConflict算法,对原始输入样本进行一次或多次变异操作,获得中间变异样本;具体包括:
S11构建种子集合,将一个原始输入样本加入到该种子集合中;该种子集合还用于保存对神经元覆盖率和样本特征证据间的冲突值有增益的中间变异样本;
S12遍历该种子集合中的所有样本,通过联合优化目标函数计算该所有样本的梯度方向;
S13将该梯度方向添加到该个原始输入样本,获得中间变异样本;
所述联合优化目标函数为
obj=λ1fn(x)+λ2fclt(x) (1);
式中,x表示原始输入样本,fn(x)表示神经元覆盖率函数,fclt(x)表示冲突值计算函数,λ1和λ2为超参数;
所述冲突值计算函数fclt(x)通过如下过程计算获得:
通过式
通过式
计算证据之间的冲突值计算函数fclt(x);式中η+和η-分别通过式
和式
计算获得;式中,k=1,...,K,K为分类任务中类别的个数,j=1,...,J,J为最后一个隐藏层的神经元个数,φj(x)为最后一个隐藏层第j个神经元的激活值,将输入样本判断为1类的置信度,将输入样本判断为非1类的置信度,exp()是以自然对数为底的指数函数;
通过式
(11)计算获得对分类{θk}的总置信度m({θk}),式中,η=(1-k)-1;
所述冲突值计算函数fclt(x)的过程还包括:
通过式
计算获得无法进行分配的信任度m(Θ);
所述神经元覆盖率函数fn(x)通过式
计算获得;式中,N={n1,n2,……}表示DNN的所有神经元,T={x1,x2,……}表示所有测试输入,out(n,x)返回给定测试输入x时DNN中神经元n的输出值,t表示神经元被激活的阈值;
S2将该中间变异样本和原始输入样本输入到待测卷积神经网络中,获得测试数据;具体包括:
S21将该中间变异样本输入到待测卷积神经网络中,获得与该中间变异样本对应的原始输入样本的预测结果;
S22基于该预测结果,计算该中间变异样本与对应的原始输入样本之间的距离和神经元覆盖率;
S23若该距离和神经元覆盖率分别满足预设阈值,则将该距离和神经元覆盖率加入到所述种子集合并执行步骤S24,否则针对该原始输入样本返回执行步骤S1;
S24判断待测卷积神经网络对该中间变异样本的分类结果与相对应的原始输入样本的分类结果是否相同,若相同则将该中间变异样本加入到测试数据集合,若不相同则针对该原始输入样本返回执行步骤S1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110851977.4A CN113762335B (zh) | 2021-07-27 | 2021-07-27 | 一种基于不确定性的智能系统测试数据生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110851977.4A CN113762335B (zh) | 2021-07-27 | 2021-07-27 | 一种基于不确定性的智能系统测试数据生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113762335A CN113762335A (zh) | 2021-12-07 |
CN113762335B true CN113762335B (zh) | 2022-05-13 |
Family
ID=78787968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110851977.4A Active CN113762335B (zh) | 2021-07-27 | 2021-07-27 | 一种基于不确定性的智能系统测试数据生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113762335B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114565051A (zh) * | 2022-03-03 | 2022-05-31 | 余姚市亿盛金属制品有限公司 | 基于神经元影响程度的产品分类模型的测试方法 |
CN115098862B (zh) * | 2022-06-06 | 2023-12-08 | 中国船舶集团有限公司系统工程研究院 | 水面无人系统智能算法模型安全可信评估方法及装置 |
CN115374898B (zh) * | 2022-08-02 | 2023-04-25 | 清华大学 | 神经网络测试方法、装置、设备及存储介质 |
CN116185843B (zh) * | 2023-01-16 | 2023-12-08 | 天航长鹰(江苏)科技有限公司 | 基于神经元覆盖率引导的两阶段神经网络测试方法及装置 |
CN116361190B (zh) * | 2023-04-17 | 2023-12-05 | 南京航空航天大学 | 一种基于神经元相关性指导的深度学习变异测试方法 |
CN116204844B (zh) * | 2023-04-28 | 2023-07-04 | 西南石油大学 | 一种基于不确定性的电气设备异常数据清洗方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428818A (zh) * | 2020-04-22 | 2020-07-17 | 浙江工业大学 | 基于神经通路激活状态的深度学习模型测试方法与装置 |
WO2020198704A1 (en) * | 2019-03-28 | 2020-10-01 | Phase Genomics, Inc. | Systems and methods for karyotyping by sequencing |
CN111753985A (zh) * | 2020-06-28 | 2020-10-09 | 浙江工业大学 | 基于神经元覆盖率的图像深度学习模型测试方法与装置 |
CN112434808A (zh) * | 2020-11-27 | 2021-03-02 | 杭州新州网络科技有限公司 | 全栈式的前向型神经网络深度学习系统安全分析与检测方法 |
CN112800876A (zh) * | 2021-01-14 | 2021-05-14 | 北京交通大学 | 一种用于重识别的超球面特征嵌入方法及系统 |
CN112926052A (zh) * | 2021-02-23 | 2021-06-08 | 尚蝉(浙江)科技有限公司 | 基于遗传算法的深度学习模型安全漏洞测试和修复方法、装置和系统 |
-
2021
- 2021-07-27 CN CN202110851977.4A patent/CN113762335B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020198704A1 (en) * | 2019-03-28 | 2020-10-01 | Phase Genomics, Inc. | Systems and methods for karyotyping by sequencing |
CN111428818A (zh) * | 2020-04-22 | 2020-07-17 | 浙江工业大学 | 基于神经通路激活状态的深度学习模型测试方法与装置 |
CN111753985A (zh) * | 2020-06-28 | 2020-10-09 | 浙江工业大学 | 基于神经元覆盖率的图像深度学习模型测试方法与装置 |
CN112434808A (zh) * | 2020-11-27 | 2021-03-02 | 杭州新州网络科技有限公司 | 全栈式的前向型神经网络深度学习系统安全分析与检测方法 |
CN112800876A (zh) * | 2021-01-14 | 2021-05-14 | 北京交通大学 | 一种用于重识别的超球面特征嵌入方法及系统 |
CN112926052A (zh) * | 2021-02-23 | 2021-06-08 | 尚蝉(浙江)科技有限公司 | 基于遗传算法的深度学习模型安全漏洞测试和修复方法、装置和系统 |
Non-Patent Citations (2)
Title |
---|
Going deeper with convolutions;Szegedy C,et al.;《Proceedings of the IEEE conference on computer vision and pattern recognition》;20151231;全文 * |
深度学习中的对抗样本问题;张思思 等;《计算机学报》;20191231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113762335A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113762335B (zh) | 一种基于不确定性的智能系统测试数据生成方法 | |
Wicker et al. | Feature-guided black-box safety testing of deep neural networks | |
Jeong et al. | Ood-maml: Meta-learning for few-shot out-of-distribution detection and classification | |
Melis et al. | Is deep learning safe for robot vision? adversarial examples against the icub humanoid | |
CN110188358B (zh) | 自然语言处理模型的训练方法及装置 | |
US11593589B2 (en) | System and method for interpretable sequence and time-series data modeling | |
US11741356B2 (en) | Data processing apparatus by learning of neural network, data processing method by learning of neural network, and recording medium recording the data processing method | |
CN111046673B (zh) | 一种用于防御文本恶意样本的对抗生成网络的训练方法 | |
Stoean et al. | Support vector machines and evolutionary algorithms for classification | |
CN113254927B (zh) | 一种基于网络防御的模型处理方法、装置及存储介质 | |
Li et al. | On the learning property of logistic and softmax losses for deep neural networks | |
Langford et al. | Enhancing learning-enabled software systems to address environmental uncertainty | |
CN107491735B (zh) | 人类行为识别的标签和交互关系联合学习方法 | |
US11468322B2 (en) | Method for selecting and presenting examples to explain decisions of algorithms | |
Everett et al. | Certified adversarial robustness for deep reinforcement learning | |
Tuna et al. | Closeness and uncertainty aware adversarial examples detection in adversarial machine learning | |
Jarecki et al. | Naïve and robust: Class‐conditional independence in human classification learning | |
Abaimov et al. | Understanding machine learning | |
de Melo et al. | Using complexity measures to evolve synthetic classification datasets | |
Yusof et al. | Evaluation of Student's Performance and Learning Efficiency based on ANFIS | |
Smart | Genetic programming for multiclass object classification | |
Hedayati et al. | Comparison and evaluation of intelligence methods for distance education platform | |
Tang | Differentiating Human and Machine Intelligence with Contextualized Embeddings | |
Tsuneda et al. | GANs with Suppressed Mode Collapse Using Intrinsic Rewards | |
US20220027743A1 (en) | Method and device for learning a strategy and for implementing the strategy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |