【技术实现步骤摘要】
基于邻域影响函数的深度学习输入集优先级测试方法和装置
[0001]本专利技术属于人工智能中深度学习算法与深度学习测试优先级领域,具体涉及一种基于邻域影响函数的深度学习输入集优先级测试方法和装置。
技术介绍
[0002]深度学习旨在通过使用人工神经网络构建一种高级模式分类形式,该网络学习区分不同类别的样本并将新样本识别为正确的类别。随着大规模训练数据集的发布(例如, ImageNet
‑
100、YFCC100M等)和处理能力的进步(例如,GPU的加速),深度学习模型实现了更“更深”的数据转换层,并在诸多领域超越了人类专家的水平,包括自然语言处理、语音识别、自动驾驶等。与此同时,DL模型在安全关键应用中的质量也受到了关注,这需要更多的测试工作来解决可靠性问题。
[0003]测试被认为是软件质量保证的常见实践。但是,对于深度学习的测试不像传统的软件测试那么容易,因为传统软件依赖于程序员手动构建的程序逻辑,而深度学习是基于数据驱动的、拥有自主化学习能力的编程范式,这加剧了对深度学习的测试的困难。目前深度学习的测试处于起步阶段,从深度学习测试的角度而言,可以分为如下三个阶段:1)提出各种度量标准来衡量测试输入的充分性。此类测试方法借鉴了传统软件代码中的代码覆盖率的思想,以深度学习最小构建单位——神经元的激活角度设计一系列的覆盖性指标,以此来评估输入在深度学习模型中激活的充分性和对潜在空间的探索能力。2)设计生成多样化测试输入。此类测试方法试图通过样本变异、差分模糊测试等方法生成致使模型输出不一致的测试 ...
【技术保护点】
【技术特征摘要】
1.一种基于邻域影响函数的深度学习输入集优先级测试方法,其特征在于,包括以下步骤:(1)采集干净测试图像样本集,并对干净测试图像样本集进行攻击得到对抗性图像样本集;从干净测试图像样本集和对抗性图像样本集中选取95%的图像样本并混合,形成对抗测试图像样本集;将干净测试图像样本集中剩余5%的干净测试图像样本作为干净训练图像样本集,并将对抗性图像样本集中剩余5%的对抗性图像样本作为对抗训练图像样本集;(2)将干净测试图像样本集按预设比例分为训练集和测试集,训练深度学习模型f;(3)根据步骤(2)训练后的深度学习模型f构建对抗测试图像样本集中每一张对抗测试图像样本的隐藏层特征;计算每一张对抗测试图像样本与干净测试图像样本集中每一张干净测试图像样本之间的邻域影响函数,得到对应的邻域影响函数集合;并对邻域影响函数集合进行升序排列,挑选出前M个邻域影响函数值较大的干净测试图像样本集合以及前M个邻域影响函数值较小的干净测试图像样本集合,并通过隐藏层特征与前M个邻域影响函数值较大的干净测试图像样本集合以及前M个邻域影响函数值较小的干净测试图像样本集合计算每一张对抗测试图像样本的特征分布差异;(4)使用干净训练图像样本集和对抗训练图像样本集训练二元分类器;将对抗测试图像样本集中每一张对抗测试图像样本的特征分布差异输入训练后的二元分类器,输出每一张对抗测试图像样本相对应的置信度,并计算每一张对抗测试图像样本的优先级值;(5)根据优先级值的大小,实现对对抗测试图像样本集从小到大的优先级排序。2.根据权利要求1所述的一种基于邻域影响函数的深度学习输入集优先级测试方法,其特征在于,所述步骤(1)具体包括以下子步骤:(1.1)从MNIST数据集、CIFAR
‑
10数据集和ImageNet数据集中选取h张图像作为干净测试图像样本集X:X={x1,x2,..,x
i
,...,x
h
},其中,x
i
表示第i张干净测试图像样本,i=1,2,
…
i,
…
n;并分类得到每张干净测试图像样本相应的类标,得到干净测试图像样本集X的类标集合Y:Y={y1,y2,..,y
i
,...,y
n
};(1.2)利用FGSM攻击、UAP攻击、AUNA攻击和Boundary攻击方式处理干净测试图像样本集X,得到对抗性图像样本集X
*
:X
*
={X1,X2,..,X
j
,...},其中,X
j
表示第j张攻击成功后的对抗性图像样本;分别从干净测试图像样本集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张对抗性图像样本。3.根据权利要求2所述的一种基于邻域影响函数的深度学习输入集优先级测试方法,其特征在于,所述步骤(2)具体包括以下子步骤:(2.1)将干净测试图像样本集X按预设比例7:3分为训练集和测试集,通过one
‑
hot编码将干净测试图像样本集X中每张干净测试图像样本的标签转化为一维向量其格式,并计算深度学习模型f的交叉熵:
其中,y
′
i
表示干净测试图像样本x
i
的预测向量,y
i
表示干净测试图像样本x
i
的真实标签;上标j表示预测向量或真实标签向量中第j个分量;H
i
表示干净测试图像样本x
i
的交叉熵;(2.2)使用LeNet
‑
5模型对MNIST数据集进行训练,使用VGG
‑
16模型对CIFAR
‑
10数据集进行训练,使用GoogLeNet模型对ImageNet数据集进行训练,通过采用小批量梯度下降的训练方法进行训练,使得交叉熵损失函数值最小来对深度学习模型f添加权重,直至训练完成,分类精度达到90%以上;所述交叉熵损失函数为:其中,m为训练样本总数。4.根据权利要求3所述的一种基于邻域影响函数的深度学习输入集优先级测试方法,其特征在于,所述步骤(3)具体包括以下子步骤:(3.1)构建隐藏层特征:设N
l
={n
l1
,n
l2
,
…
}为步骤(2)训练后的深度学习模型f的隐藏层l的一组神经元;设φ
l
(x,n)表示一个功能函数,该函数代表在给定测试输入的图像样本x时,训练后的深度学习模型f的隐藏层l神经元n所得到的神经元输出值;图像样本x的隐藏层特征activation
l
(x)的定义为:其中,0<l<L,L表示训练后的深度学习模型f的总层数;(3.2)计算邻域影响函数:两张图像样本之间的邻域影响函数具体定义为:其中,H是训练后的深度学习模型f的学习参数的海森矩阵,L(
·
)表示损失函数,θ是训练后的深度学习模型f的参数;x
i
表示任意一张干净测试图像样本,x
i
∈X;x
′
t
表示任意一张对抗测试图像样本,x
′
t
∈X
t
;(3.3)对于任意一张对抗测试图像样本x
′
t
,计算x
′
t
与干净测试图像样本集X中每一张干净测试图像样本之间的邻域影响函数,得到对抗测试图像样本x
′
t
的邻域影响函数集合:{I
loss
(x1,x
′
t
),I
loss
(x2,x
′
t
),
…
,I
loss
(x
i
,x
′
t
),
…
,I
loss
(x
n
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。