1.一种基于损失函数敏感度的深度学习样本测试方法,其特征在于,包括以下步骤:(1)获取图像数据集作为正常样本,构建深度学习网络;
(2)选取对抗攻击方法,对步骤(1)获取的图像数据集进行对抗攻击操作,得到对抗样本;并进行筛选,将筛选后的正常样本和对抗样本作为总样本集;将总样本集划分为训练样本集与测试样本集;
(3)基于损失函数和训练样本集设定损失敏感度函数;
所述步骤(3)具体为:
(3.1)构建损失函数:将交叉熵函数设置为损失函数,公式为:
其中,C表示分类结果的个数;N表示训练样本的总数,h为网络的最终输出,hyi是类标签yi经深度学习网络后的输出,hj是第j个分类结果经深度学习网络后的输出;
(3.2)构建损失敏感度函数:利用损失函数对训练样本求导生成的梯度函数作为目标函数,并利用二阶范数对其进行降维,其函数为:式中,▽xloss表示对利用损失函数loss对训练样本x求偏导;
通过在训练样本集上添加不同程度的噪声生成新的噪声样本,并且将训练样本集与噪声样本同时输入到深度学习网络中生成损失函数值;利用训练样本集与噪声样本的损失函数的偏移值,作为其损失敏感度函数:Ls=Lfnoise‑Lfnor
其中,Lfnoise是添加噪声后的训练样本的损失敏感度值,Lfnor是初始未添加噪声的训练样本的损失敏感度值;
(4)建立粒子群优化模型,计算所有样本的损失敏感度漂移值,对损失敏感度漂移值进行迭代更新,选取正常样本与对抗样本两类最优漂移样本集;利用最优漂移样本集进行训练,得到损失敏感度分类器;
所述步骤(4)具体包括以下步骤:
(4.1)对输入的所有样本添加随机噪声,进行粒子群优化模型初始化;
(4.2)样本损失敏感度漂移值计算:输入的所有样本,通过步骤(3)设定的损失敏感度函数计算初始化后的添加随机噪声的每一样本的损失敏感度值,然后与该样本的损失敏感度值作差,得到不同噪声样本的损失敏感度值的漂移值;
(4.3)更新历史最优位置与全局最优位置:计算粒子群的损失函数敏感度值,比较历史best best最佳损失函数敏感度并更新每个粒子的历史最优位置p 、粒子群的全局最优位置g ;
(4.4)更新粒子群的速度vi和位置xi;
(4.5)最优漂移样本选取:对输入的所有样本的损失函数敏感度进行不断地更新与优化,产生不同损失敏感度的噪声样本,在同一张输入样本的迭代更新中,记录下每张样本对应的最大损失函数敏感度的噪声样本,即最优漂移样本;将正常样本和对抗样本生成的不同最优漂移样本汇总,组成正常样本与对抗样本两类最优漂移样本集;
(4.6)损失敏感度分类器构建:选取最优漂移样本区间记录下不同类样本的漂移区间,组成样本区间数据集,该数据集包括正常样本漂移区间类与对抗样本漂移区间类,利用二分类器,对上述数据集进行训练,训练出可以根据损失敏感度能分辨正常样本与对抗样本的二分类器;将该二分类器作为损失敏感度分类器;
(5)将步骤(4)得到的两类最优漂移样本集输入步骤(1)构建的深度学习网络进行重训练,得到测试模型;将步骤(2)得到的测试样本集输入测试模型进行迭代更新,寻找出该测试样本集对应的最优漂移样本,计算出最优漂移样本的损失函数敏感度漂移值,并将该漂移值输入到步骤(4)构建的损失敏感度分类器中进行判别,完成样本的检测。
2.根据权利要求1所述的基于损失函数敏感度的深度学习样本测试方法,其特征在于,所述图像数据集为MNIST、CIFAR10、ImageNet、GTSRB、CASIA典型图像数据集。
3.根据权利要求1所述的基于损失函数敏感度的深度学习样本测试方法,其特征在于,所述深度学习网络为VGG16、AlexNet、VGG11或ResNet34网络。
4.根据权利要求1所述的基于损失函数敏感度的深度学习样本测试方法,其特征在于,所述对抗攻击方法为FGSM、Boundary、MIFGSM中的一种。
5.根据权利要求1所述的基于损失函数敏感度的深度学习样本测试方法,其特征在于,所述步骤(5)具体为:(5.1)将步骤(4)得到的两类最优漂移样本集根据漂移值的大小进行排序,选取每类的前Top‑K张样本与标签,输入步骤(1)构建好的深度学习网络中进行重新训练,生成测试模型;
(5.2)将步骤(2)中划分的测试样本集输入到测试模型中,得到预测标签;将测试样本与预测标签输入粒子群优化模型中进行迭代更新,寻找出该测试样本对应的最优漂移噪声样本,计算出最优漂移噪声样本的损失函数敏感度漂移值,并将该漂移值输入到步骤(4)中进行判别,从而实现推断出该样本属于正常样本还是对抗样本,完成样本的检测。
6.一种基于损失函数敏感度的深度学习样本测试装置,其特征在于,包括一个或多个处理器,用于实现权利要求1‑5中任一项所述的基于损失函数敏感度的深度学习样本测试方法。
7.一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时,用于实现权利要求1‑5中任一项所述的基于损失函数敏感度的深度学习样本测试方法。