面向图像分类的神经网络架构构建和训练方法及系统与流程

文档序号:35469332发布日期:2023-09-16 13:13阅读:34来源:国知局
面向图像分类的神经网络架构构建和训练方法及系统

本发明涉及图像分类,具体涉及一种面向图像分类的神经网络架构构建和训练方法及系统。


背景技术:

1、目前,以卷积神经网络(convolutional neural network,cnn)为代表的深度神经网络(deep neural network,dnn)已经被应用到了生活中各种与图像有关的场景当中,例如门禁中的人脸识别系统、交通监控中的车辆车牌识别系统、手机中的拍照识物系统等等。然而,目前的研究表明,应用到现实场景当中的大部分图像识别cnn的鲁棒性不佳,极易受到对抗样本的干扰,进而做出错误的判断,存在安全隐患。其中,对抗样本指的是,在原始输入图片的基础上,部分像素被修改后产生的新图片。例如,在车牌识别系统中,如果车牌中的一个数字被黑色的污渍遮挡了一部分,那么相比原来没有被遮挡的车牌,这张输入图片的部分像素就发生了改变(被污渍遮挡的区域),这样的对抗样本就极易造成车牌识别系统的误判。

2、为了使用于图像识别的cnn具有更好的鲁棒性,从而使其对这样的对抗样本具有更准确的分类能力,目前的主流技术是使用对抗训练方法对cnn进行训练,从而使cnn具有更好的鲁棒性。其中,对抗训练指的是以特定的算法生成对抗样本后对cnn进行训练的方法。然而,现有研究表明,若通过对抗训练技术获得一个鲁棒的cnn,则通常需要一个较大的cnn来进行训练。例如,在机器学习最简单的手写数字分类数据集mnist上,要获得一个鲁棒的cnn,相比一个仅需实现正常分类任务的cnn,网络内部的参数量要大四倍左右。然而,cnn的模型尺寸过大会导致其无法部署在摄像头等移动设备上,影响正常使用。

3、为了获得鲁棒性良好且轻量的cnn模型,现有的技术方案主要将对抗训练与模型压缩技术相结合,在使得cnn模型轻量化的同时提高其鲁棒性。在这类方法中,所采用的模型压缩技术主要分为两类,模型剪枝及模型量化。其中,对于第一类,模型剪枝指的是通过对cnn内部权重的重要性的评估,对冗余的、不关键的权重进行剔除,从而仅使得重要的权重保留下来的一类方法。这类方法通过对模型权重的剪枝,可以显著减小模型的尺寸。对于第二类采用模型量化的方案,模型量化指的是降低模型中参数的精度,进而实验模型压缩的一种技术。

4、然而这类将对抗训练与模型压缩技术相结合的方法也存在缺陷。这类方法需要依赖一个预先设计好的cnn架构才能发挥作用,而且方法的效果严重依赖于这个预先设计好的cnn架构的质量。也就是说,若此cnn架构是由经验丰富的领域专家所设计的性能优良的架构,那么在进行对抗训练和模型压缩后其性能也是良好的;反之,若此cnn架构的设计不合理,那么在进行对抗训练与模型压缩后,其性能也会不理想。


技术实现思路

1、针对现有技术中的上述不足,本发明提供的面向图像分类的神经网络架构构建和训练方法及系统解决了现有技术中进行图像分类的神经网络鲁棒性差的问题。

2、为了达到上述发明目的,本发明采用的技术方案为:

3、第一方面,本方案提供一种面向图像分类的神经网络架构构建和训练方法,其包括步骤:

4、s1、获取darts算法中的搜索空间,并对搜索空间中的每个搜索单元赋予一个权重形成超网;

5、s2、获取图像分类训练集,将图像分类训练集输入超网,并采用图像分类训练集对超网中的可训练权重进行训练和更新;

6、s3、采用优化器对训练后超网中可训练权重进行训练和更新,每个搜索周期更新可训练权重后,根据所有搜索单元的无偏估计量更新架构参数;

7、s4、对于搜索空间中的每条边,选取其所有架构参数中最大值对应的搜索单元,存储至单元集合中;

8、s5、遍历单元集合中的每个搜索单元,将模型参数未超过设定阈值的搜索单元加入架构中,遍历完成后得到最终的神经网络架构;

9、s6、连接多个神经网络架构形成图像分类神经网络,并采用图像分类训练集和pgd对抗攻击方法对图像分类神经网络进行训练;

10、s7、将采集的分类图像输入训练后的图像分类神经网络,输出分类图像的类别。

11、本发明的有益效果为:本方案采用搜索单元的无偏估计量进更新,可以保证通过架构参数选取的搜索单元具有较高准确性和鲁棒性,从而保证构建鲁棒轻量级的cnn架构,满足在架构中包含尽可能多的高价值搜索单元的同时,实现架构的轻量化,使架构更容易部署到移动设备当中。

12、本方案得到的神经网络架构无需依赖人工经验对神经网络模型进行搭建,其自动设计出的模型也相较人工设计出的模型具有更高的识别准确率,更良好的鲁棒性以及更加满足架构轻量化的需求。

13、由本方案所提出的算法搜索到的cnn架构具有轻量化的特点,这样更有利于其在摄像头之类的移动设备之上进行部署。因为在这类移动设备上通常存在计算资源的限制,无法部署参数量较大的模型,所以本方案所搜索到的cnn架构与这类应用场景较为契合。

14、本方案经训练后得到的神经网络在对分类图像进行识别时,能够保证图像识别准确率的同时,对一些存在异常的情况进行准确的识别。由于本方案搜索到的网络架构具有良好的鲁棒性,即使在在进行图像分类时在存在对抗样本的条件下,也可以对图像进行较为准确的分类。

15、进一步地,更新架构参数的计算公式为:

16、

17、其中,αk和αk-1分别为第k个和第k+1个搜索周期的架构参数;η为每次更新架构参数的步长;vk和vk-1分别为第k个和第k+1个搜索周期中超网中所有搜索单元的价值所构成的向量;||vk||为vk的二范数值;ψ为动量参数;为第k个搜索周期中,可训练参数ωk已更新且架构参数αk-1未更新时,超网中所有搜索单元价值的无偏估计量。

18、上述技术方案的有益效果为:直接采用每个搜索周期中评估得到的超网中所有搜索单元的价值,对架构参数进行迭代更新,这使得搜索得到的架构参数直接与搜索单元的价值相关,可以直接作为选择的依据。同时,搜索过程中采用了动量更新的方法,这有助于架构参数在搜索过程中更快、更好地收敛。

19、进一步地,搜索单元的价值的计算公式为:

20、

21、

22、

23、其中,为搜索单元o(i,j)的价值;n为搜索空间中所有搜索单元的个数;n!为所有搜索单元的所有可能加入顺序的数量;为所有的搜索单元的所有可能的加入顺序构成的集合;p为所有可能的排列顺序中的一个排列顺序;和分别为在p下,搜索单元o(i,j)为超网的准确性与鲁棒性做出的贡献;a(·)为超网的准确率;r(·)为超网的对抗鲁棒性;p(pre(o(i,j)))为在p中排在搜索单元o(i,j)之前的搜索单元;p(pre(o(i,j))u{o(i,j)})为排列p中排在搜索单元o(i,j)之前的搜索单元与搜索单元o(i,j)共同构成的序列。

24、上述技术方案的有益效果为:本方案提出的搜索空间中搜索单元的价值计算方法,可以准确地计算得到每个搜索单元对架构精度与架构鲁棒性的价值,从而使得最后搜索到的架构可以尽可能多地包含这种价值高的搜索单元,进而实现良好的准确性与鲁棒性。

25、进一步地,搜索单元的价值的无偏估计量的计算公式为:

26、

27、其中,p1,p2,...,pn为从所有的n!个可能的排列中抽取出的n个排列;为搜索单元o(i,j)的价值的无偏估计量;t为n个排列中的任一排列;

28、所有搜索单元价值的无偏估计量为:

29、

30、其中,和分别为搜索单元o1(0,1),om(0,1),o1(i,j),以及om(i,j)价值的无偏估计量。

31、上述技术方案的有益效果为:本方案通过搜索单元价值的无偏估计量来近似计算其价值,可以大幅降低构建神经网络时产生的巨大时间开销,从而缩短神经网络的构建时间成本。

32、进一步地,在本方案的步骤s4与步骤s5之间还包括将单元集合中的搜索单元按照其架构参数的大小进行排序。在遍历之前对搜索单元进行排序,可以大幅降低遍历时间,进一步缩短网络架构构建时长

33、进一步地,图像分类训练集为用于人脸识别系统的包含大量人脸图片的数据集或者用于交通监控中的车辆车牌识别系统的包含大量车牌图片的数据集。

34、进一步地,采用图像分类训练集和pgd对抗攻击方法对图像分类神经网络进行训练的方法包括:

35、对神经网络模型的权重随机初始化;

36、在每一个训练周期中,采用pgd对抗攻击方法在图像分类训练集中原始训练图片的基础上添加扰动,生成对抗样本;

37、采用对抗样本对神经网络模型进行训练,每个训练周期中采用优化器对神经网络的权重进行更新,直到训练周期数满足预设次数时,训练停止。

38、上述技术方案的有益效果为:本方案通过生成的对抗样本对对神经网络模型进行训练,可以使经训练后的神经网络对这样的对抗样本具有更准确的分类能力,以进一步提高神经网络模型的准确性和鲁棒性。

39、第二方面,本方案还提供一种面向图像分类的神经网络架构构建和训练系统,其包括:

40、超网生成模块,用于获取darts算法中的搜索空间,并对搜索空间中的每个搜索单元赋予一个权重形成超网;

41、超网预训练模块,用于获取图像分类训练集,将图像分类训练集输入超网,并采用图像分类训练集对超网中的可训练权重进行训练和更新;

42、架构参数更新模块,用于采用优化器对训练后超网中可训练权重进行训练和更新,每个搜索周期更新可训练权重后,根据所有搜索单元的无偏估计量更新架构参数;

43、搜索单元选取模块,用于对于搜索空间中的每条边,选取其所有架构参数中最大值对应的搜索单元,存储至单元集合中;

44、网络架构构建模块,用于遍历单元集合中的每个搜索单元,将模型参数未超过设定阈值的搜索单元加入架构中,遍历完成后得到最终的神经网络架构;

45、神经网络训练模块,用于连接多个神经网络架构形成图像分类神经网络,并采用图像分类训练集和pgd对抗攻击方法对图像分类神经网络进行训练;

46、图像分类模块,用于将采集的分类图像输入训练后的图像分类神经网络,输出分类图像的类别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1