一种针对对抗攻击的深度学习模型防御方法及模型与流程



1.本发明涉及图像识别技术领域,具体涉及一种针对对抗攻击的深度学习模型防御方法及模型。


背景技术:



2.近年来,深度学习模型凭借其优秀的特征提取和表示能力,在计算机视觉、自然语言处理和推荐系统等领域取得了令人瞩目的成就。然而,随着深度学习模型应用越来越广泛和深入,它的安全问题引起了研究人员的重视。szegedy等人首次提出对抗攻击的概念,即通过对原始图像添加人眼难以察觉的细微扰动,来使得深度学习模型无法识别的图像,这种被人为添加对抗攻击扰动的图像称为对抗样本。对抗样本的存在一定程度上表明了深度学习模型的脆弱性,这让深度学习模型在一些关键设施上或者安全敏感环境下的应用蒙上了一层阴影。因为在这些场景下,对抗样本可能会导致深度学习模型做出错误的决策,有可能造成经济损失甚至威胁到人们的生命。因此,抵御对抗攻击的深度学习模型防御方法研究是有必要的。
3.为了提高模型的防御能力,研究人员提出了许多提高模型鲁棒性的算法。其中,对抗训练是当前提升模型对对抗样本分类精度最高的方法。对抗训练就是将对抗样本与原始样本混合进行训练从而使模型适应对抗攻击。但是将对抗样本作为数据空间中“独立”的数据点的做法,让模型同时学习了原始样本和对抗样本分类边界的同时,一部分原始样本没有被正确学习到,导致在提升模型抵御对抗攻击能力的同时,也降低了对原始样本的识别能力。


技术实现要素:



4.有鉴于此,本发明提供了一种针对对抗攻击的深度学习模型防御方法,能够提升模型抵御对抗攻击能力的同时,不降低对原始样本的识别能力。
5.本公开提供的针对对抗攻击的深度学习模型防御方法,包括以下步骤:步骤s1:获取未训练过的原始深度学习模型,和训练所用的原始样本图像数据,以及基于的对抗样本图像数据;步骤s2:对模型,分别使用数据训练得到模型,使用数据和训练得到模型;步骤s3:构建过滤层,并将其嵌入到模型输入层之前,得到新模型,所述过滤层用于对输入数据进行从对抗样本变到原始样本的空间变换而不丢失图像信息;步骤s4:使用数据训练模型的图像分类能力,在训练中保持中原属部分的模型参数不变,而仅训练过滤层参数,并使用可微分的条件数约束函数限制过滤层的权值矩阵的二范数条件数大小;步骤s5:将步骤s4中训练得到的过滤层单独取出,插入到模型的输入层之前,得
到深度学习模型,用于检测原始图像和带有对抗攻击噪声的图像,获得正确的图像分类。
6.进一步地,所述原始深度学习模型的种类包括:vgg-16和vision transformer。
7.进一步地,获取所述基于的对抗样本图像数据的方法包括:确定需要防御的对抗攻击;对所述原始样本图像数据施加所述对抗攻击,获得对抗样本图像数据。
8.进一步地,所述步骤s3中构建的过滤层,由线性层、激活函数层和归一化层构成,其层数不固定,可根据具体任务调整,参数为可学习的。
9.进一步地,所述步骤s4中对模型的训练中,除了使用交叉熵损失函数训练模型的图像分类能力外,还在损失函数中额外添加可微分的条件数约束函数,以限制过滤层参数矩阵的二范数条件数大小。
10.进一步地,对模型训练时,损失函数中添加两个可微分的条件数约束函数,两个约束函数分别如下:个约束函数分别如下:式中,表示矩阵的弗罗贝尼乌斯范数;表示过滤层的权值矩阵;表示权值矩阵长和宽两者中较小的值;是一个常数小量,用以保证对数函数有意义,其值大于0且远小于1。
11.应用以上方法,得到的一种针对对抗攻击的深度学习模型,包括:过滤层,用于对输入数据进行从对抗样本变到原始样本的空间变换而不丢失图像信息;经过对抗训练的深度学习模型;其中,所述过滤层位于所述学习模型输入层之前。
12.进一步地,所述过滤层由线性层、激活函数层和归一化层构成,其层数不固定,可根据具体任务调整,参数为可学习参数。
13.本公开提供的深度学习模型防御方法,充分利用对抗样本与原始样本之间的内在关联,通过在深度学习模型输入层之前构建过滤层,将对抗样本向正常样本进行转化;并利用对抗攻击样本,对过滤层参数进行训练,从而提高模型抵御对抗攻击的能力;进而将训练好的过滤层与经过对抗训练的学习模型结合,得到鲁棒性强且分类精度高的深度学习模型,保证在抵御对抗攻击的同时不降低对原始样本的识别能力。
14.与现有技术相比,本公开的有益效果是:

利用了对抗样本与原始样本之间的内在联系构建过滤层,对对抗样本进行转化,当输入为原始样本时,学习模型正常工作,当输入是对抗样本时,将其转换至对应普通样本空间,抵御特定对抗攻击;

不降低对原始样本的识别能力;

可以灵活调整过滤层,利用不同对抗样本进行训练,能够适应不同种类的对抗攻击。
附图说明
15.图1为根据本公开的示例性实施例流程图。
16.图2为示例性实施例中过滤层的示意图。
具体实施方式
17.下面结合附图并举实施例,对本发明进行详细描述。
18.本发明提供了一种针对对抗攻击的深度学习模型防御方法。附图1给出了示例性实施例流程图。根据图1,以mpsoc zcu105开发板作为嵌入式平台测试为例,说明其主要步骤:步骤s1:获取未训练原始深度学习模型,训练所用的普通cifar-10图像数据集,以及添加pgd对抗攻击噪声的对抗cifar-10数据集。
19.步骤s2:对模型,使用经典随机梯度下降训练算法,在普通cifar-10数据集上训练,当得到一个较高的分类精度时保存此时的模型为;另外,对模型使用普通cifar-10数据集和对抗样本cifar-10数据集训练,得到模型。
20.步骤s3:构建过滤层,用于对输入数据进行从对抗样本到原始样本的空间变换而不丢失图像信息。将过滤层添加到模型输入层之前,得到新模型,即当图像输入到模型中时,需要先通过过滤层,其结果再通过模型各层,最终输出模型预测结果。
21.示例性的过滤层主要由二层线性层、激活函数层和归一化层构成,如附图2所示。其参数为可学习的。
22.步骤s4:对模型,使用经典随机梯度下降训练算法在对抗cifar-10数据集上训练。特别地,在训练中保持模型中原属模型部分的模型参数不变,而仅训练过滤层参数,并在计算训练损失函数时添加可微分的条件数约束函数,以此来限制过滤层参数矩阵的矩阵二范数条件数趋近于1。当一个参数矩阵的条件数为1时,该参数矩阵对于微小扰动具有极强的抗干扰能力。通过这种训练方式来使过滤层获得可以将对抗样本转换为原始样本的能力。
23.示例性的两个可微分的条件数约束函数分别如下:示例性的两个可微分的条件数约束函数分别如下:。
24.步骤s5:将步骤s4中训练得到的过滤层单独保存,并添加到模型的输入层之前,即可得到高鲁棒性且分类精度高的深度学习模型。即当普通cifar-10数据集或对抗cifar-10数据集输入到模型中进行分类预测时,图像需要先经过过滤层处理后再通过模型各层得到最终的预测结果。
25.利用上述深度学习模型防御方法得到的深度学习模型,包括,经过对抗训练的原始深度学习模型和过滤层,过滤层在学习模型的输入层之前,当输入为普通样本时模型正常工作,当输入是对抗样本时过滤层会将其转换至对应普通样本空间。
26.本公开中,步骤s3的所构建的过滤层通过步骤s4的训练方式保证了模型添加过滤层之后,普通cifar-10数据集也能被模型正常识别并分类。
27.步骤s4的训练方式中,由于条件数约束函数是可微分的,所以采用随机梯度下降等方法进行模型优化训练时,过滤层权值矩阵条件数会趋向于1,而二范数条件数为1的矩阵对微小扰动不敏感。这使得采用步骤s4所述训练方法得到的过滤层具有抗微小扰动能力,而对抗攻击噪声正是通过添加人眼不可察觉的微小扰动来干扰深度学习模型的识别。
28.一般来说,当模型同时学习普通cifar-10和对抗cifar-10数据集后,模型对于普通数据集的分类精度较高,对对抗样本数据集分类精度较低;而本公开的过滤层可以“过滤”微小扰动,即对抗样本经过过滤层的输出结果,与对应普通样本的输出结果比之原来更接近,可见,间接地将对抗样本“转化”为普通样本,能够有效提升模型对对抗样本的分类精度,同时还不降低对普通样本的分类能力。
29.应用和测试示例:使用mpsoc zcu105开发板作为嵌入式测试平台,通过以下实验,对本实施例图像分类深度学习模型防御对抗攻击噪声能力进行测试。
30.使用来自www.cs.toronto.edu/ ~kriz/cifar.htm的cifar-10图像数据集,数据集的基本情况包括:(a)图像数据集有50000张训练图片,10000张验证图片,每张图片尺寸都为32*32的矩阵;(b)数据集一共有10类图片,每一类都拥有相同数量的图片,即训练集中每一类图片有5000张图片,验证集中有1000张图片。
31.实验方法如下:1)在gpu平台上使用经对抗攻击算法处理过的图像数据集进行各类型对抗训练,得到具有强鲁棒性的深度学习模型。其中,本实验所用的原始图像分类模型是vgg-16和vision transformer。对抗攻击算法使用的是基于梯度的最强一阶算法pgd,一般认为如果能抵御pgd攻击,那么所有的一阶攻击都可以被防御。
32.2)通过格式转换将训练得到的深度学习模型部署到arm处理器上。
33.3)使用经典的常用图像数据集cifar-10进行测试。使用ncnn深度学习框架,测试程序基于c++编程语言编写。
34.实验结果如下:表1进行本方法训练后的模型被常见对抗攻击算法攻击后分类成功率表1中的标准对抗训练,trades和mart都是经典方法,arlst是本公开所提出的方法简称。实验中用上述方法对模型进行训练,再使用pgd攻击算法产生对抗样本,最后使用这些对抗样本进行模型分类精度测试。
35.表1中展示的是模型分类准确度,前面一个数字是自然样本准确度,后面是对抗样本,对抗样本分类准确度越高表明模型对对抗攻击的防御能力越强。实验结果表明,在使用
各方法训练后模型的分类精度都大幅度提高,这表明模型具有了一定的抵御对抗攻击能力。而本公开所提出的方法arlst则具有最高的分类精度,这意味着本发明所提出的一种针对对抗攻击的深度学习模型防御方法所取得的效果优于现有常见方法,同时也证明了该方法在嵌入式计算平台下的实用性。
36.综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种针对对抗攻击的深度学习模型防御方法,其特征在于,包括以下步骤:步骤s1:获取未训练过的原始深度学习模型,和训练所用的原始样本图像数据,以及基于的对抗样本图像数据;步骤s2:对模型,分别使用数据训练得到模型,使用数据和训练得到模型;步骤s3:构建过滤层,并将其嵌入到模型输入层之前,得到新模型,所述过滤层用于对输入数据进行从对抗样本变到原始样本的空间变换而不丢失图像信息;步骤s4:使用数据训练模型的图像分类能力,在训练中保持中原属部分的模型参数不变,而仅训练过滤层参数,并使用可微分的条件数约束函数限制过滤层的权值矩阵的二范数条件数大小;步骤s5:将步骤s4中训练得到的过滤层单独取出,插入到模型的输入层之前,得到深度学习模型,用于检测原始图像和带有对抗攻击噪声的图像,获得正确的图像分类。2.如权利要求1所述的方法,其特征在于,所述原始深度学习模型的种类包括:vgg-16和vision transformer。3.如权利要求1所述的方法,其特征在于,获取所述基于的对抗样本图像数据的方法包括:确定需要防御的对抗攻击;对所述原始样本图像数据施加所述对抗攻击,获得对抗样本图像数据。4.如权利要求1所述的方法,其特征在于,所述步骤s3中构建的过滤层,由线性层、激活函数层和归一化层构成,其层数不固定,可根据具体任务调整,参数为可学习的。5.如权利要求1或4所述的方法,其特征在于,所述步骤s4中对模型的训练中,除了使用交叉熵损失函数训练模型的图像分类能力外,还在损失函数中额外添加可微分的条件数约束函数,以限制过滤层参数矩阵的二范数条件数大小。6.如权利要求5所述的方法,其特征在于,对模型训练时,损失函数中添加两个可微分的条件数约束函数,两个约束函数分别如下:分的条件数约束函数,两个约束函数分别如下:
式中,表示矩阵的弗罗贝尼乌斯范数;表示过滤层的权值矩阵;表示权值矩阵长和宽两者中较小的值;是一个常数小量,用以保证对数函数有意义,其值大于0且远小于1。7.一种应用权利要求1-6中任一所述方法得到的深度学习模型,其特征在于,包括:过滤层,用于对输入数据进行从对抗样本变到原始样本的空间变换而不丢失图像信息;经过对抗训练的深度学习模型;其中,所述过滤层位于所述学习模型输入层之前。8.如权利要求7所述的模型,其特征在于,所述过滤层由线性层、激活函数层和归一化层构成,其层数不固定,可根据具体任务调整,参数为可学习参数。

技术总结


本发明公开了一种图像识别技术领域、针对对抗攻击的深度学习模型防御方法及模型,充分利用对抗样本与原始样本之间的内在关联,通过在深度学习模型输入层之前构建过滤层,将对抗样本向正常样本进行转化;并利用对抗攻击样本,对过滤层参数进行训练,从而提高模型抵御对抗攻击的能力;最后将训练好的过滤层与经过对抗训练的学习模型结合,得到鲁棒性强且分类精度高的深度学习模型,保证在抵御对抗攻击的同时不降低对正常样本的识别能力。同时不降低对正常样本的识别能力。同时不降低对正常样本的识别能力。


技术研发人员:

魏宪 郭杰龙 黄延辉 俞辉 汤璇 邵东恒 张剑锋 李杰

受保护的技术使用者:

闽都创新实验室

技术研发日:

2022.10.27

技术公布日:

2022/12/6

本文发布于:2024-09-21 20:31:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/32395.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   样本   深度   图像
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议