基于邻域影响函数的深度学习输入集优先级测试方法和装置

文档序号:32750346发布日期:2022-12-31 00:19阅读:22来源:国知局
基于邻域影响函数的深度学习输入集优先级测试方法和装置

1.本发明属于人工智能中深度学习算法与深度学习测试优先级领域,具体涉及一种基于邻域影响函数的深度学习输入集优先级测试方法和装置。


背景技术:

2.深度学习旨在通过使用人工神经网络构建一种高级模式分类形式,该网络学习区分不同类别的样本并将新样本识别为正确的类别。随着大规模训练数据集的发布(例如, imagenet-100、yfcc100m等)和处理能力的进步(例如,gpu的加速),深度学习模型实现了更“更深”的数据转换层,并在诸多领域超越了人类专家的水平,包括自然语言处理、语音识别、自动驾驶等。与此同时,dl模型在安全关键应用中的质量也受到了关注,这需要更多的测试工作来解决可靠性问题。
3.测试被认为是软件质量保证的常见实践。但是,对于深度学习的测试不像传统的软件测试那么容易,因为传统软件依赖于程序员手动构建的程序逻辑,而深度学习是基于数据驱动的、拥有自主化学习能力的编程范式,这加剧了对深度学习的测试的困难。目前深度学习的测试处于起步阶段,从深度学习测试的角度而言,可以分为如下三个阶段:1)提出各种度量标准来衡量测试输入的充分性。此类测试方法借鉴了传统软件代码中的代码覆盖率的思想,以深度学习最小构建单位——神经元的激活角度设计一系列的覆盖性指标,以此来评估输入在深度学习模型中激活的充分性和对潜在空间的探索能力。2)设计生成多样化测试输入。此类测试方法试图通过样本变异、差分模糊测试等方法生成致使模型输出不一致的测试样本,以此来评估模型的鲁棒性。3)测试输入优先级排序。当模型应用于实际场景时,需要对不同场景下的多样化样本都能有很好的兼容能力,这就需要构建大量的测试输入来测试,一旦发现可能的错误及时对模型进行返厂加固。然而,测试输入的标记工作尝尝耗时耗力,在有限的时间内,无法对所有测试输入进行正确的标注,并且标注需要依赖特定领域的专家知识。基于这个事实,对测试输入按重要程度进行优先级排序显得尤为重要。
4.根据现有研究,对于采用测试优先级排序评估模型在多种环境中的鲁棒性的重要性虽然引起了广泛的关注,但目前很少有人致力于解决目前存在的问题。
5.针对上述问题,直观的做法是选取特定的策略对所有测试输入进行采样,通过多样化评估指标来判断样本的重要程度,以此进行优先级排序,以便能够在有限的时间内标记更多的在测试过程中致使深度学习模型产生输出不一致的测试输入,使得模型能够更早进行返厂调试。优先级排序可以大大提高深度学习模型测试的效率,缩短深度学习模型开发周期。有鉴于此,本发明提出了一种基于邻域影响函数的深度学习输入集优先级测试方法及其装置,旨在对大规模测试输入集合进行优先级排序,实现在有限时间内尽可能多的对模型输出不一致样本按重要性进行排序。


技术实现要素:

6.本发明的目的在于针对现有技术的不足,提供了一种基于邻域影响函数的深度学
习输入集优先级测试方法和装置。
7.本发明的目的是通过以下技术方案来实现的:一种基于邻域影响函数的深度学习输入集优先级测试方法,包括以下步骤:
8.(1)采集干净测试图像样本集,并对干净测试图像样本集进行攻击得到对抗性图像样本集;从干净测试图像样本集和对抗性图像样本集中选取95%的图像样本并混合,形成对抗测试图像样本集;将干净测试图像样本集中剩余5%的干净测试图像样本作为干净训练图像样本集,并将对抗性图像样本集中剩余5%的对抗性图像样本作为对抗训练图像样本集;
9.(2)将干净测试图像样本集按预设比例分为训练集和测试集,训练深度学习模型f;
10.(3)根据步骤(2)训练后的深度学习模型f构建对抗测试图像样本集中每一张对抗测试图像样本的隐藏层特征;计算每一张对抗测试图像样本与干净测试图像样本集中每一张干净测试图像样本之间的邻域影响函数,得到对应的邻域影响函数集合;并对邻域影响函数集合进行升序排列,挑选出前m个邻域影响函数值较大的干净测试图像样本集合以及前m个邻域影响函数值较小的干净测试图像样本集合,并通过隐藏层特征与前m个邻域影响函数值较大的干净测试图像样本集合以及前m个邻域影响函数值较小的干净测试图像样本集合计算每一张对抗测试图像样本的特征分布差异;
11.(4)使用干净训练图像样本集和对抗训练图像样本集训练二元分类器;将对抗测试图像样本集中每一张对抗测试图像样本的特征分布差异输入训练后的二元分类器,输出每一张对抗测试图像样本相对应的置信度,并计算每一张对抗测试图像样本的优先级值;
12.(5)根据优先级值的大小,实现对对抗测试图像样本集从小到大的优先级排序。
13.进一步地,所述步骤(1)具体包括以下子步骤:
14.(1.1)从mnist数据集、cifar-10数据集和imagenet数据集中选取h张图像作为干净测试图像样本集x:x={x1,x2,..,xi,...,xh},其中,xi表示第i张干净测试图像样本,i=1,2,

i,

n;并分类得到每张干净测试图像样本相应的类标,得到干净测试图像样本集x 的类标集合y:y={y1,y2,..,yi,...,yn};
15.(1.2)利用fgsm攻击、uap攻击、auna攻击和boundary攻击方式处理干净测试图像样本集x,得到对抗性图像样本集x
*
:x
*
={x1,x2,..,xj,...},其中,xj表示第j张攻击成功后的对抗性图像样本;
16.分别从干净测试图像样本集x和对抗性图像样本集x
*
中选取95%的图像样本并混合,形成对抗测试图像样本集x
t
;x
t
={x
′1,x
′2,..,x

t
,...},其中,x

t
表示第t张对抗测试图像样本;将干净测试图像样本集x中剩余5%的干净测试图像样本作为干净训练图像样本集x
val
: x
val
={x
val_1
,x
val_2
,..,x
val_a
,..,},其中,x
val_a
表示第a张干净训练图像样本;将对抗性图像样本集x
*
中剩余5%的对抗性图像样本作为对抗训练图像样本集x
adv
: x
adv
={x
adv_1
,x
adv_2
,..,x
adv_b
,..,},其中,x
adv_b
第b张对抗性图像样本。
17.进一步地,所述步骤(2)具体包括以下子步骤:
18.(2.1)将干净测试图像样本集x按预设比例7:3分为训练集和测试集,通过one-hot编码将干净测试图像样本集x中每张干净测试图像样本的标签转化为一维向量其格式,并计算深度学习模型f的交叉熵:
[0019][0020]
其中,y
′i表示干净测试图像样本xi的预测向量,yi表示干净测试图像样本xi的真实标签;上标j表示预测向量或真实标签向量中第j个分量;hi表示干净测试图像样本xi的交叉熵;
[0021]
(2.2)使用lenet-5模型对mnist数据集进行训练,使用vgg-16模型对cifar-10数据集进行训练,使用googlenet模型对imagenet数据集进行训练,通过采用小批量梯度下降的训练方法进行训练,使得交叉熵损失函数值最小来对深度学习模型f添加权重,直至训练完成,分类精度达到90%以上;所述交叉熵损失函数为:
[0022][0023]
其中,m为训练样本总数。
[0024]
进一步地,所述步骤(3)具体包括以下子步骤:
[0025]
(3.1)构建隐藏层特征:设n
l
={n
l1
,n
l2
,

}为步骤(2)训练后的深度学习模型f的隐藏层l的一组神经元;设φ
l
(x,n)表示一个功能函数,该函数代表在给定测试输入的图像样本x 时,训练后的深度学习模型f的隐藏层l神经元n所得到的神经元输出值;图像样本x的隐藏层特征activation
l
(x)的定义为:
[0026][0027]
其中,0《l《l,l表示训练后的深度学习模型f的总层数;
[0028]
(3.2)计算邻域影响函数:两张图像样本之间的邻域影响函数具体定义为:
[0029][0030]
其中,h是训练后的深度学习模型f的学习参数的海森矩阵,l(
·
)表示损失函数,θ是训练后的深度学习模型f的参数;xi表示任意一张干净测试图像样本,xi∈x;x

t
表示任意一张对抗测试图像样本,x

t
∈x
t

[0031]
(3.3)对于任意一张对抗测试图像样本x

t
,计算x

t
与干净测试图像样本集x中每一张干净测试图像样本之间的邻域影响函数,得到对抗测试图像样本x

t
的邻域影响函数集合: {i
loss
(x1,x

t
),i
loss
(x2,x

t
),

,i
loss
(xi,x

t
),

,i
loss
(xn,x

t
)};对抗测试图像样本x

t
的邻域影响函数集合进行升序排列,挑选出前m个邻域影响函数值较大的干净测试图像样本集合其中,表示与抗测试图像样本x

t
之间的邻域影响函数最大的干净测试图像样本,表示第m个与抗测试图像样本x

t
之间的邻域影响函数较大的干净测试图像样本;并挑选出前m个邻域影响函数值较小的干净测试图像样本集合其中,表示与抗测试图像样本x

t
之间的邻域影响函数最小的干净测试图像样本,表示第m个与抗测试图像样本x

t
之间的邻域影响函数较小的干净测试图像样本;
[0032]
(3.4)获得特征分布差异:对于任意一张对抗测试图像样本x

t
,计算对抗测试图像样本 x

t
的隐藏层特征activation
l
(x

t
)与x
helpful_t
以及x
harmful_t
之间的特征分布差异
features(x
t
),定义如下:
[0033]
features(x
t
)=(features
helpful
(x
t
,x
helpful_t
),features
harmful
(x
t
,x
harmful_t
));
[0034]
其中,其中,
[0035]
(3.5)重复步骤(3.1)-(3.4),计算对抗测试图像样本集x
t
中每一张对抗测试图像样本的特征分布差异。
[0036]
进一步地,所述步骤(4)具体包括以下子步骤:
[0037]
(4.1)分别计算干净训练图像样本集x
val
和对抗训练图像样本集x
adv
中每一个图像样本的特征分布差异,得到干净训练图像样本集x
val
的特征分布差异集合: {features(x
val_1
),features(x
val_2
),

,features(x
val_a
),

}以及对抗训练图像样本集x
adv
的特征分布差异集合:{features(x
adv_1
),features(x
adv_2
),

,features(x
adv_b
),

};对于干净训练图像样本集x
val
,定义该集合每一张图像样本的标签为[1,0],得到干净训练图像样本集x
val
的标签集合;对于对抗训练图像样本集x
adv
,定义该集合每一张图像样本的标签为[0,1],得到对抗训练图像样本集x
adv
的标签集合;
[0038]
(4.2)构建二元分类器,所述二元分类器由两层神经网络构成,一层神经网络为输入层,另一层神经网络为输出层;训练构建的二元分类器:将干净训练图像样本集x
val
的特征分布差异集合以及其标签集合和对抗训练图像样本集x
adv
的特征分布差异集合以及其标签集合输入至二元分类器,训练过程中的训练参数为:交叉熵损失函数,sgd优化器,学习率lr=0.0001, sgd优化器的参数momentum=0.9、每类批处理量batch size=64、训练迭代的次数epoch=10,训练完毕后二元分类器f
meta
(
·
);
[0039]
(4.3)对于任意一张对抗测试图像样本x

t
,给定训练好的二元分类器f
meta
(
·
)的一个输入 features(x

t
),二元分类器f
meta
(
·
)输出x

t
的置信度并计算对抗测试图像样本x

t
的优先级值的表达式如下:
[0040][0041]
(4.3)重复步骤(4.2),计算对抗测试图像样本集x
t
中每一张对抗测试图像样本的优先级值,得到优先级值集合
[0042]
进一步地,所述步骤(5)具体为:优先级排序则定义为:
[0043]
x

t
={x

t
,rank(ψ)};
[0044]
其中,rank(
·
)表示对集合的从小到大排序,最终实现对对抗测试图像样本集x
t
从小到大的优先级排序,得到从小到大排序后的集合x

t

[0045]
本发明还提供了一种基于邻域影响函数的深度学习输入集优先级测试装置,包括:
[0046]
收集模块,用于采集干净测试图像样本集,并对干净测试图像样本集进行攻击得到对抗性图像样本集;从干净测试图像样本集和对抗性图像样本集中选取95%的图像样本并混合,形成对抗测试图像样本集;将干净测试图像样本集中剩余5%的干净测试图像样本作为干净训练图像样本集,并将对抗性图像样本集中剩余5%的对抗性图像样本作为对抗训练图像样本集;
[0047]
预训练模块,用于将干净测试图像样本集按预设比例分为训练集和测试集,训练深度学习模型f;
[0048]
构建邻域影响特征模块,用于根据训练后的深度学习模型f构建对抗测试图像样本集中每一张对抗测试图像样本的隐藏层特征;计算每一张对抗测试图像样本与干净测试图像样本集中每一张干净测试图像样本之间的邻域影响函数,得到对应的邻域影响函数集合;并对邻域影响函数集合进行升序排列,挑选出前m个邻域影响函数值较大的干净测试图像样本集合以及前m个邻域影响函数值较小的干净测试图像样本集合,并通过隐藏层特征与前m个邻域影响函数值较大的干净测试图像样本集合以及前m个邻域影响函数值较小的干净测试图像样本集合计算每一张对抗测试图像样本的特征分布差异;
[0049]
优先级值计算模块,用于使用干净训练图像样本集和对抗训练图像样本集训练二元分类器;将对抗测试图像样本集中每一张对抗测试图像样本的特征分布差异输入训练后的二元分类器,输出每一张对抗测试图像样本相对应的置信度,并计算每一张对抗测试图像样本的优先级值;
[0050]
排序模块,用于根据优先级值的大小,实现对对抗测试图像样本集从小到大的优先级排序。
[0051]
本发明还提供了一种基于邻域影响函数的深度学习输入集优先级测试装置,包括一个或多个处理器,用于实现上述基于邻域影响函数的深度学习输入集优先级测试方法。
[0052]
一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,用于实现上述基于邻域影响函数的深度学习输入集优先级测试方法。
[0053]
本发明的有益效果是:在有限时间内,仅需要对排序靠前的样本进行定标,实现缩短测试时间的功能。提出了一种基于邻域影响函数的深度学习输入集优先级测试方法及其装置。在真实深度学习模型上的实验结果表明,该方法具有良好的适用性,能够有效的对测试级进行优先排序,在最短的时间内筛选出最可能导致模型出现潜在错误的样本。
附图说明
[0054]
图1为一种基于邻域影响函数的深度学习输入集优先级测试方法框图;
[0055]
图2为实施例2提供的一种基于邻域影响函数的深度学习输入集优先级测试装置的结构示意图;
[0056]
图3为实施例3提供的一种基于邻域影响函数的深度学习输入集优先级测试装置的示意图。
具体实施方式
[0057]
为了使本发明的目的、技术方案及优点更加明白清楚,结合附图和实施例,对本发明进一步的详细说明,应当理解,此处所描述的具体实施例仅仅用以解释本发明,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均在本发明保护范围。
[0058]
实施例1
[0059]
如图1,本发明提供了一种基于邻域影响函数的深度学习输入集优先级测试方法,包括以下步骤:
[0060]
(1)采集干净测试图像样本集,并对干净测试图像样本集进行攻击得到对抗性图像样本集;从干净测试图像样本集和对抗性图像样本集中选取95%的图像样本并混合,形成对抗测试图像样本集;将干净测试图像样本集中剩余5%的干净测试图像样本作为干净训练图像样本集,并将对抗性图像样本集中剩余5%的对抗性图像样本作为对抗训练图像样本集;
[0061]
所述步骤(1)具体包括以下子步骤:
[0062]
(1.1)从mnist数据集、cifar-10数据集和imagenet数据集中选取h张图像作为干净测试图像样本集x:x={x1,x2,..,xi,...,xh},其中,xi表示第i个干净测试图像样本, i=1,2,

i,

n;并分类得到每张干净测试图像样本相应的类标,得到干净测试图像样本集x 的类标集合y:y={y1,y2,..,yi,...,yn};
[0063]
所述mnist数据集、cifar-10数据集和imagenet数据集常用于图像分类。
[0064]
(1.2)利用fgsm攻击、uap攻击、auna攻击和boundary攻击方式处理干净测试图像样本集x,得到对抗性图像样本集x
*
:x
*
={x1,x2,..,xj,...},其中,xj表示第j个攻击成功后的对抗性图像样本;
[0065]
分别从干净测试图像样本集x和对抗性图像样本集x
*
中选取95%的图像样本并混合,形成对抗测试图像样本集x
t
;x
t
={x
′1,x
′2,..,x

t
,...},其中,x

t
表示第t个对抗测试图像样本;将干净测试图像样本集x中剩余5%的干净测试图像样本作为干净训练图像样本集xval: x
val
={x
val_1
,x
val_2
,..,x
val_a
,..,},其中,x
val_a
表示第a个干净训练图像样本;将对抗性图像样本集x
*
中剩余5%的对抗性图像样本作为对抗训练图像样本集xadv: x
adv
={x
adv_1
,x
adv_2
,..,x
adv_b
,..,},其中,x
adv_b
第b个对抗性图像样本。
[0066]
所述fgsm攻击利用深层神经网络的设计的高维线性,计算对抗扰动。所述uap攻击通过生成偏移到最远决策边界的最小扰动进行攻击。所述auna攻击通过叠加正态分布高斯噪声进行攻击。所述boundary攻击通过生成模拟决策置信度的变化的扰动进行攻击。为了尽可能保证攻击后的图像尽可能隐蔽,在对从mnist数据集、cifar-10数据集和imagenet 数据集中选取的图像的最大像素改变量不超过8/255,仅保留攻击成功的样本。
[0067]
(2)将干净测试图像样本集按预设比例分为训练集和测试集,训练深度学习模型f;
[0068]
所述步骤(2)具体包括以下子步骤:
[0069]
(2.1)将干净测试图像样本集x按预设比例7:3分为训练集和测试集,通过one-hot编码将干净测试图像样本集x中每个干净测试图像样本的标签转化为一维向量其格式,并计算深度学习模型f的交叉熵;如[0,0,1,0,0,0]表示的样本的标签为6个类别中的第3个;
所述交叉熵的表达式如下:
[0070][0071]
其中,y
′i表示干净测试图像样本xi的预测向量,yi表示干净测试图像样本xi的真实标签;上标j表示预测向量或真实标签向量中第j个分量;hi表示干净测试图像样本xi的交叉熵;
[0072]
(2.2)使用lenet-5模型对mnist数据集进行训练,使用vgg-16模型对cifar-10数据集进行训练,使用googlenet模型对imagenet数据集进行训练,通过采用小批量梯度下降的训练方法进行训练(批量设置为32),使得交叉熵损失函数值最小来对深度学习模型f 添加权重,直至训练完成,分类精度达到90%以上。所述交叉熵损失函数为:
[0073][0074]
其中,m为训练样本总数。
[0075]
(3)根据步骤(2)训练后的深度学习模型f构建对抗测试图像样本集中每一张对抗测试图像样本的隐藏层特征;计算每一张对抗测试图像样本与干净测试图像样本集中每一张干净测试图像样本之间的邻域影响函数,得到对应的邻域影响函数集合;并对邻域影响函数集合进行升序排列,挑选出前m个邻域影响函数值较大的干净测试图像样本集合以及前m个邻域影响函数值较小的干净测试图像样本集合,并通过隐藏层特征与前m个邻域影响函数值较大的干净测试图像样本集合以及前m个邻域影响函数值较小的干净测试图像样本集合计算每一张对抗测试图像样本的特征分布差异;
[0076]
深度学习的预测很大程度上受训练数据的影响,在模型训练过程中,隐藏层将拟合训练数据的特征分布,而对抗攻击产生攻击必须将测试输入样本的特征分布移向偏移训练数据特征分布的“坏”空间。对于测试输入对于训练数据的特征分布的影响可以通过构建隐藏层的领域特征和计算邻域影响值进行评估。
[0077]
所述步骤(3)具体包括以下子步骤:
[0078]
(3.1)构建隐藏层特征:设n
l
={n
l1
,n
l2
,

}为步骤(2)训练后的深度学习模型f的隐藏层l的一组神经元;设φ
l
(x,n)表示一个功能函数,该函数代表在给定测试输入的图像样本x 时,训练后的深度学习模型f的隐藏层l神经元n所得到的神经元输出值;图像样本x的隐藏层特征activation
l
(x)的定义为:
[0079][0080]
其中,0《l《l,l表示训练后的深度学习模型f的总层数。
[0081]
隐藏层输出表示为样本输入时隐藏层神经元的激活值向量。
[0082]
(3.2)计算邻域影响函数:两张图像样本之间的邻域影响函数具体定义为:
[0083][0084]
其中,h是训练后的深度学习模型f的学习参数的海森矩阵,l(
·
)表示损失函数,θ是训练后的深度学习模型f的参数;xi表示任意一张干净测试图像样本,xi∈x;x

t
表示任意一张对抗测试图像样本,x

t
∈x
t

[0085]
邻域影响函数可以通过指出哪些样本有益于深度学习的预测,以及哪些样本是有
害的,即抑制了深度学习的预测。
[0086]
(3.3)对于任意一张对抗测试图像样本x

t
,计算x

t
与干净测试图像样本集x中每一张干净测试图像样本之间的邻域影响函数,得到对抗测试图像样本x

t
的邻域影响函数集合: {i
loss
(x1,x

t
),i
loss
(x2,x

t
),

,i
loss
(xi,x

t
),

,i
loss
(xn,x

t
)};对抗测试图像样本x

t
的邻域影响函数集合进行升序排列,挑选出前m个邻域影响函数值较大的干净测试图像样本集合其中,表示与抗测试图像样本x

t
之间的邻域影响函数最大的干净测试图像样本,表示第m个与抗测试图像样本x

t
之间的邻域影响函数较大的干净测试图像样本;并挑选出前m个邻域影响函数值较小的干净测试图像样本集合其中,表示与抗测试图像样本x

t
之间的邻域影响函数最小的干净测试图像样本,表示第m个与抗测试图像样本x

t
之间的邻域影响函数较小的干净测试图像样本。
[0087]
(3.4)获得特征分布差异:对于任意一张对抗测试图像样本x

t
,计算对抗测试图像样本 x

t
的隐藏层特征activation
l
(x

t
)与x
helpful_t
以及x
harmful_t
之间的特征分布差异features(x

t
),定义如下:
[0088]
features(x

t
)=(features
helpful
(x

t
,x
helpful_t
),features
harmful
(x

t
,x
harmful_t
));
[0089]
其中,其中,
[0090]
(3.5)重复步骤(3.1)-(3.4),计算对抗测试图像样本集x
t
中每一张对抗测试图像样本的特征分布差异。
[0091]
(4)使用干净训练图像样本集和对抗训练图像样本集训练二元分类器;将对抗测试图像样本集中每一张对抗测试图像样本的特征分布差异输入训练后的二元分类器,输出每一张对抗测试图像样本相对应的置信度,并计算每一张对抗测试图像样本的优先级值;
[0092]
所述步骤(4)具体包括以下子步骤:
[0093]
(4.1)分别计算干净训练图像样本集x
val
和对抗训练图像样本集x
adv
中每一个图像样本的特征分布差异,得到干净训练图像样本集x
val
的特征分布差异集合: {features(x
val_1
),features(x
val_2
),

,features(x
val_a
),

}以及对抗训练图像样本集x
adv
的特征分布差异集合:{features(x
adv_1
),features(x
adv_2
),

,features(x
adv_b
),

};对于干净训练图像样本集x
val
,定义该集合每一张图像样本的标签为[1,0],得到干净训练图像样本集x
val
的标签集合;对于对抗训练图像样本集x
adv
,定义该集合每一张图像样本的标签为[0,1],得到对抗训练图像样本集x
adv
的标签集合;
[0094]
(4.2)构建二元分类器,所述二元分类器由两层神经网络构成,一层神经网络为输入层,另一层神经网络为输出层;训练构建的二元分类器:将干净训练图像样本集x
val
的特
征分布差异集合以及其标签集合和对抗训练图像样本集x
adv
的特征分布差异集合以及其标签集合输入至二元分类器,训练过程中的训练参数为:交叉熵损失函数,sgd优化器,学习率lr=0.0001, sgd优化器的参数momentum=0.9、每类批处理量batch size=64、训练迭代的次数epoch=10,训练完毕后二元分类器f
meta
(
·
);
[0095]
构建二元分类器,用于评估测试样本的优先级;构建的二元分类器的输入层由输入的数据的尺寸大小决定;输出层有两个神经元构成。
[0096]
(4.3)对于任意一张对抗测试图像样本x

t
,给定训练好的二元分类器f
meta
(
·
)的一个输入 features(x

t
),二元分类器f
meta
(
·
)输出x

t
的置信度并计算对抗测试图像样本x

t
的优先级值的表达式如下:
[0097][0098]
值越小,表明该图像样本越容易触发训练后的深度学习模型f的错误,因此也越需要进行优先测试。
[0099]
(4.3)重复步骤(4.2),计算对抗测试图像样本集x
t
中每一张对抗测试图像样本的优先级值,得到优先级值集合
[0100]
(5)优先级排序根据优先级值的大小,实现对对抗测试图像样本集从小到大的优先级排序;
[0101]
所述步骤(5)具体为:优先级排序则定义为:
[0102]
x

t
={x

t
,rank(ψ)};
[0103]
其中,rank(
·
)表示对集合的从小到大排序,最终实现对对抗测试图像样本集x
t
从小到大的优先级排序,得到从小到大排序后的集合x

t

[0104]
综上所述,对于现有的手动对于测试输入定标的方法,本发明提出的一种基于邻域影响函数的深度学习输入集优先级测试方法,在用于分类真实分类数据集mnist、cifar-10和 imagenet的lenet-5、vgg-16和googlenet等深度学习模型上,本发明方法具有良好的试用性,能够有效的对fgsm攻击、uap攻击、auna攻击和boundary攻击所产生的样本上具有优先级排序能力。本发明在各个数据集10000张测试样本上平均故障检测百分比(apfd) 值大于0.95以上(最大值为1,且值越接近1表明排序效果越准确),并且对于现有排序方法 deepgini具有更高的相应速度,如表1所示。
[0105]
表1:本发明优先级测试的响应速度
[0106][0107]
实施例2
[0108]
如图2所示,本发明还提供了一种基于邻域影响函数的深度学习输入集优先级测试装置,包括:
[0109]
收集模块,用于采集干净测试图像样本集,并对干净测试图像样本集进行攻击得到对抗性图像样本集;从干净测试图像样本集和对抗性图像样本集中选取95%的图像样本并混合,形成对抗测试图像样本集;将干净测试图像样本集中剩余5%的干净测试图像样本作为干净训练图像样本集,并将对抗性图像样本集中剩余5%的对抗性图像样本作为对抗训练图像样本集。
[0110]
预训练模块,用于将干净测试图像样本集按预设比例分为训练集和测试集,训练深度学习模型f。
[0111]
构建邻域影响特征模块,用于根据训练后的深度学习模型f构建对抗测试图像样本集中每一张对抗测试图像样本的隐藏层特征;计算每一张对抗测试图像样本与干净测试图像样本集中每一张干净测试图像样本之间的邻域影响函数,得到对应的邻域影响函数集合;并对邻域影响函数集合进行升序排列,挑选出前m个邻域影响函数值较大的干净测试图像样本集合以及前m个邻域影响函数值较小的干净测试图像样本集合,并通过隐藏层特征与前m个邻域影响函数值较大的干净测试图像样本集合以及前m个邻域影响函数值较小的干净测试图像样本集合计算每一张对抗测试图像样本的特征分布差异。
[0112]
优先级值计算模块,用于使用干净训练图像样本集和对抗训练图像样本集训练二元分类器;将对抗测试图像样本集中每一张对抗测试图像样本的特征分布差异输入训练后的二元分类器,输出每一张对抗测试图像样本相对应的置信度,并计算每一张对抗测试图像样本的优先级值。
[0113]
排序模块,用于根据优先级值的大小,实现对对抗测试图像样本集从小到大的优先级排序。
[0114]
实施例3
[0115]
与前述一种基于邻域影响函数的深度学习输入集优先级测试方法的实施例相对应,本发明还提供了一种基于邻域影响函数的深度学习输入集优先级测试装置的实施例。
[0116]
参见图3,本发明实施例提供的一种基于邻域影响函数的深度学习输入集优先级测试装置,包括一个或多个处理器,用于实现上述实施例中的一种基于邻域影响函数的深度学习输入集优先级测试方法。
[0117]
本发明一种基于邻域影响函数的深度学习输入集优先级测试装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明一种基于邻域影响函数的深度学习输入集优先级测试装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0118]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的
实现过程,在此不再赘述。
[0119]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0120]
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种基于邻域影响函数的深度学习输入集优先级测试方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、 sd卡、闪存卡(flash card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
[0121]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1