针对对抗性攻击的深度学习模型防御方法及深度学习模型

文档序号:25880475发布日期:2021-07-16 18:30阅读:199来源:国知局
针对对抗性攻击的深度学习模型防御方法及深度学习模型

1.本发明属于安全技术领域,具体涉及一种针对对抗性攻击的深度学习模型防御方法及深度学习模型。


背景技术:

2.随着计算机性能和数据处理能力的不断提升,人工智能在图像与语音识别、自动驾驶、自然语言处理及网络安全检测等领域展示出了巨大的优势。然而,近年来人工智能的安全问题引起了研究者的高度重视。在各类人工智能安全威胁中,对抗样本作为一种极具威胁性的攻击手段,已经出现在了各种应用场景中。2014年,szegedy等人提出了对抗样本(adversarial example,ae)的概念,即通过对神经网络模型的输入添加细微的扰动,使对抗样本被模型以高置信度错误分类,且人眼难以分辨出对抗样本与真实样本的区别。对抗样本对机器学习在安全敏感行业的应用和发展产生了极大的影响,可能会引发机器学习模型执行错误决策,甚至给人们的生命带来巨大的威胁。因此,针对对抗样本的防御方法研究变得越发重要。
3.为了防御对抗样本,研究人员提出了各种的防御方法。其中,对抗训练(adversarial training)作为一种主流的防御方法,被广泛使用。在训练过程中,将生成的对抗样本投入到数据集中进行迭代训练,从而使模型正确分类对抗样本;但该方法只能让模型学习到某类对抗样本的特征分布,攻击者构造的不同类型的对抗样本依然可以绕过对抗训练后的模型。防御性蒸馏(defensive distillation),通过生成平滑的分类器来降低神经网络模型对输入扰动的灵敏度,使分类器更能适应对抗样本;但该方法对现实场景中应用广泛的黑盒攻击效果不佳。除上述的提高模型鲁棒性为目的的防御方法以外,对抗样本检测也是目前主流的防御方法之一:在模型识别输入样本前,先使用检测器检测其是否为对抗样本;如果不是对抗样本,模型直接进行预测分类;如果是对抗样本,模型对其进行丢弃或者还原等二次处理。然而,此类方法无法防御强大的黑盒攻击且训练检测器带来了较大的开销。
4.综上所述,当前的防御方法大多针对特定类型的对抗性攻击,无法同时防御白盒攻击和黑盒攻击。而基于检测器的防御方法则带来了更多开销,而且不能提高模型本身的鲁棒性。


技术实现要素:

5.本发明的目的之一在于提供一种通用性高、可靠性好且防御效果好的针对对抗性攻击的深度学习模型防御方法。
6.本发明的目的之二在于提供一种包括了所述针对对抗性攻击的深度学习模型防御方法的深度学习模型。
7.本发明提供的这种针对对抗性攻击的深度学习模型防御方法,包括如下步骤:
8.s1.获取待训练的原始深度学习模型和原始训练数据;
9.s2.构建转换层;
10.s3.采用步骤s2构建的转换层,对步骤s1获取的原始训练数据进行数据转换,并将转换后的数据补充到原始训练数据当中,构成训练数据;
11.s4.采用步骤s3得到的训练数据,对原始深度学习模型进行训练;
12.s5.将步骤s2构建的转换层插入到步骤s4得到的深度学习模型的输入层后面,得到高鲁棒性深度学习模型;
13.s6.在步骤s5得到的高鲁棒性深度学习模型工作时,对输入的数据进行监测,并采用深度学习模型中的转换层进行对应的防御。
14.步骤s2所述的转换层,转换层的工作过程包括如下步骤:
15.a.设置n个分界点;各分界点的取值范围为0≤i1<i2<...<i
i
<...<i
n
≤h,其中i
i
为第i个分界点的取值,h为输入图像的长度值;
16.b.当某图像输入到转换层时,转换层将遍历各个分界点,并将输入的图像从分界点处进行如下转换:
17.当前分界点为i
i
,则从输入图像的第i
i
行开始,将输入图像的后h

i
i
层作为转换后图像的前h

i
i
层,同时将输入图像的前i
i
层作为转换后图像的后i
i
层。
18.步骤s3所述的采用步骤s2构建的转换层,对步骤s1获取的原始训练数据进行数据转换,并将转换后的数据补充到原始训练数据当中,构成训练数据,具体为将所有的原始训练数据均输入到步骤s2构建的转换层中,利用转换层得到所有可能得到的转换后的图像,对转换后的图像设置与输入图像相同的标签,并将得到的转换后的图像均补充到原始训练数据当中,构成训练数据。
19.步骤s6所述的在步骤s5得到的高鲁棒性深度学习模型工作时,对输入的数据进行监测,并采用转换层进行对应的防御,具体为采用如下步骤进行防御:
20.对输入的数据进行监测:
21.在设定的时间段内,对连续输入到高鲁棒性深度学习模型的输入图像进行相似性判断:
22.在设定的时间段内,若判定为相似的样本数量大于设定的阈值,则判定此时深度学习模型遭受黑盒攻击,进行黑盒防御模式;
23.否则,进行白盒防御模式;
24.黑盒防御模式:
25.在步骤s2构建的转换层所设置的n个分界点中,随机选择一个分界点i
j
,1≤j≤n,并将输入图像从第i
j
行开始进行逐行转换:将输入图像的后h

i
j
行作为转换后图像的前h

i
j
行,将输入图像的前i
j
行作为转换后图像的后i
j
行,并将转换后的图像数据进行前向传播;h为输入图像的长度值;
26.白盒防御模式:
27.在步骤s2构建的转换层所设置的n个分界点中,转换层遍历各个分界点,并从分界点处对图像进行逐行转换:当前分界点为i
j
,将输入图像的后h

i
j
行作为转换后图像的前h

i
j
行,将输入图像的前i
j
行作为转换后图像的后i
j
行;将得到的所有转换后图像进行分类,并进行判断:若当前的输入图像所对应的所有转换后图像的原始预测分类结果占比低于设定的占比阈值,则认定输入图像为对抗样本,拒绝为该输入图像分类;否则,正常为输入图
像分类。
28.所述的占比阈值,具体为采用如下步骤计算占比阈值:
29.(1)将测试集中所有干净样本进行逐一转换,并得到类别分布;
30.(2)计算第i个干净样本所对应的预测类别占比:式中为第i个干净样本所对应的预测类别占比,为第i个干净样本所对应的类别分布中原始预测类别的次数,t为转换层所转换的次数;
31.(3)计算最终的占比阈值r:式中n为测试集中干净样本的总数。
32.本发明还提供了一种包括了所述针对对抗性攻击的深度学习模型防御方法的深度学习模型,包括原始深度学习模型、转换层、模型训练模块和训练数据转换模块;采用上述针对对抗性攻击的深度学习模型防御方法构建转换层;训练数据转换模块用于采用构建的转换层对原始训练数据进行转换和补充,从而得到训练数据;模型训练模块用于采用得到的训练数据对原始深度学习模型进行训练,从而得到深度学习模型;最后将转换层设置在深度学习模型的输入层的后面,得到最终的模型。
33.本发明提供的这种针对对抗性攻击的深度学习模型防御方法及深度学习模型,通过向现有的深度学习模型中添加新的转换层结构,对输入图像进行转换,提高模型在面对各类对抗样本时的鲁棒性,同时通过针对性的数据集增强方法保证模型的精度不受到影响;而且本发明的通用性高、可靠性好且防御效果好。
附图说明
34.图1为本发明方法的方法流程示意图。
35.图2为本发明方法在黑盒模式下的模型结构示意图。
36.图3为本发明方法在白盒模式下的模型结构示意图。
37.图4为本发明方法在cifa10数据集上转换前后样本分类情况示意图。
38.图5为本发明方法在mnist数据集上转换前后样本分类情况示意图。
39.图6为本发明方法在cifa10数据集上样本转换后的类别分布示意图。
40.图7为本发明方法在mnist数据集上样本转换后的类别分布示意图。
具体实施方式
41.如图1所示为本发明方法的方法流程示意图:本发明提供的这种针对对抗性攻击的深度学习模型防御方法,包括如下步骤:
42.s1.获取待训练的原始深度学习模型和原始训练数据;
43.s2.构建转换层;转换层的工作过程包括如下步骤:
44.a.设置n个分界点;各分界点的取值范围为0≤i1<i2<...<i
i
<...<i
n
≤h,其中i
i
为第i个分界点的取值,h为输入图像的长度值;
45.b.当某图像输入到转换层时,转换层将遍历各个分界点,并将输入的图像从分界点处进行如下转换:
46.当前分界点为i
i
,则从输入图像的第i
i
行开始,将输入图像的后h

i
i
层作为转换后图像的前h

i
i
层,同时将输入图像的前i
i
层作为转换后图像的后i
i
层;
47.s3.采用步骤s2构建的转换层,对步骤s1获取的原始训练数据进行数据转换,并将转换后的数据补充到原始训练数据当中,构成训练数据;具体为将所有的原始训练数据均输入到步骤s2构建的转换层中,利用转换层得到所有可能得到的转换后的图像,对转换后的图像设置与输入图像相同的标签,并将得到的转换后的图像均补充到原始训练数据当中,构成训练数据;
48.s4.采用步骤s3得到的训练数据,对待训练的原始深度学习模型进行训练,得到深度学习模型;
49.s5.将步骤s2构建的转换层插入到步骤s4得到的深度学习模型的输入层后面,得到高鲁棒性深度学习模型;
50.s6.在步骤s5得到的高鲁棒性深度学习模型工作时,对输入的数据进行监测,并采用高鲁棒性深度学习模型中的转换层进行对应的防御;具体为采用如下步骤进行防御:
51.对输入的数据进行监测:
52.在设定的时间段内,对连续输入到深度学习模型的输入图像进行相似性判断:
53.在设定的时间段内,若判定为相似的样本数量大于设定的阈值,则判定此时学习模型遭受黑盒攻击,进行黑盒防御模式;
54.否则,进行白盒防御模式;
55.黑盒防御模式:如图2所示;
56.在步骤s2构建的转换层所设置的n个分界点中,随机选择一个分界点i
j
,1≤j≤n,并将输入图像从第i
j
行开始进行逐行转换:将输入图像的后h

i
j
行作为转换后图像的前h

i
j
行,将输入图像的前i
j
行作为转换后图像的后i
j
行,并将转换后的图像数据进行前向传播;h为输入图像的长度值;
57.通过黑盒防御后,由于转换层对于攻击者是不可见的,而且攻击者每次查询目标模型时反馈的输出信息不是攻击者期望的,导致攻击算法难以收敛,从而实现针对黑盒攻击的防御;
58.白盒防御模式:如图3所示;
59.在步骤s2构建的转换层所设置的n个分界点中,转换层遍历各个分界点,并从分界点处对图像进行逐行转换:当前分界点为i
j
,将输入图像的后h

i
j
行作为转换后图像的前h

i
j
行,将输入图像的前i
j
行作为转换后图像的后i
j
行;将得到的所有转换后图像进行分类,并进行判断:若当前的输入图像所对应的所有转换后图像的原始预测分类结果占比低于设定的占比阈值,则认定输入图像为对抗样本,拒绝为该输入图像分类;否则,正常为输入图像分类;
60.针对白盒攻击,设一个对抗样本x'被分类为c
a
,一个正常样本x被分类为c0;由于转换层破坏了对抗性扰动的结构,所以对抗样本经过转换后得到的类别分布中,c
a
类占比会明显降低;而在正常样本中不包含对抗性扰动,对转换不敏感,所以正常样本经过转换后得到的类别分布中,c0类占大多数且占比稳定;因此,当某个样本经过转换后原始预测类别的
占比低于占比阈值r时,则该样本为对抗样本,模型拒绝分类;其他情况下模型正常分类即可。
61.具体实施时,采用如下步骤计算占比阈值r:
62.(1)将测试集中所有干净样本进行逐一转换,并得到类别分布;
63.(2)计算第i个干净样本所对应的预测类别占比:式中为第i个干净样本所对应的预测类别占比,为第i个干净样本所对应的类别分布中原始预测类别的次数,t为转换层所转换的次数;
64.(3)计算最终的占比阈值r:式中n为测试集中干净样本的总数。
65.图4为本发明方法在cifa10数据集上转换前后样本分类情况示意图;图5为本发明方法在mnist数据集上转换前后样本分类情况示意图。在cifa10数据集和mnist数据集上的每个类别中分别选择一个原始样本、相应的对抗样本及转换后样本进行了展示,如图4和图5;结果表明,当对抗样本被模型错误分类时,经过转换层对图像进行转换,使其被重新分类正确,且转换后的图像人眼可以识别。
66.图6为本发明方法在cifa10数据集上样本转换后的类别分布示意图;图7为本发明方法在mnist数据集上样本转换后的类别分布示意图。在mnist数据集中,干净样本的原始预测类别比率r
p
率均大于0.5,而对抗样本的原始预测类别比率均不超过0.4且大多都在0.1左右。在cifa10数据集中,干净样本的原始预测类别比率r
p
率均大于0.9且大部分样本r
p
值为1,证明本发明方法学习到了转换后图像的特征。而对抗样本的原始预测类别比率均不超过0.47,与干净样本的类别分布相差较大。因此可以根据样本转换后的类别分布检测对抗样本。
67.本发明还提供了一种包括了所述针对对抗性攻击的深度学习模型防御方法的深度学习模型,包括原始深度学习模型、转换层、模型训练模块和训练数据转换模块;采用上述针对对抗性攻击的深度学习模型防御方法构建转换层;训练数据转换模块用于采用构建的转换层对原始训练数据进行转换和补充,从而得到训练数据;模型训练模块用于采用得到的训练数据对原始深度学习模型进行训练,从而得到深度学习模型;最后将转换层设置在深度学习模型的输入层的后面,得到最终的模型。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1