一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多指标神经网络架构自动搜索方法及系统

2022-11-23 15:38:14 来源:中国专利 TAG:


1.本发明涉及一种搜索方法及系统,具体涉及一种多指标的最佳神经网络架构的自动搜索方法及系统,属于深度学习技术领域。


背景技术:

2.卷积神经网络(简称cnn)在设计过程中往往需要考虑诸多要点,包括准确性、运算复杂性、参数量以及响应速度。因为在现实生活中人们常常需要将经典的cnn结构嵌入到平台中,例如智能设备和嵌入设备,以使得它们更为智能。这些平台通常是资源受限的,因此要求使用的cnn结构具有耗能低、内存占用小、处理速度快、准确性尽可能高的特征。
3.神经网络架构自动搜索技术(简称nas技术)是近几年的一个研究热点。它可以帮助非专业用户自动设计出高准确性的神经网络模型架构,从而降低神经网络模型的开发门槛。已有的nas技术的解决思路通常是首先定义一个有效的包含各种各样解决方案的搜索空间,然后设计一个高效的搜索策略指导算法从搜索空间中快速找寻到最佳的神经网络架构,最终将搜索到的最佳方案作为最终的输出。
4.nas技术的提出为cnn开发带来了极大便利,但是现有nas技术通常为单指标nas技术,它们只考虑准确性作为评估指标,而没有充分考虑其他评估要素,导致无法搜索嵌入式、轻量级的架构,且某些时候无法满足用户的一些需求,比如,用户想要得到轻量级、准确性高、反应速度快的神经网络架构,依据现有的nas技术是无法实现的。因此需要设计高效的面向多指标的nas算法,以自动设计在多个技术指标上表现优异的cnn架构,并有效应对实际需求,即多指标的nas技术还有待研究。


技术实现要素:

5.本发明为了解决卷积神经网络的nas技术为单指标nas技术,无法满足多指标的神经网络架构自动搜索的问题,进而提出了一种多指标神经网络架构自动搜索方法及系统。
6.本发明采取的技术方案是:
7.它包括以下步骤:
8.s1、根据组件堆叠方法获取神经网络的搜索空间;
9.s2、将hpo超参数优化方法作为控制器,在所述搜索空间内利用所述控制器和权重共享结合早停技术搜索得到最优神经网络架构。
10.进一步地,所述组件堆叠方法具体过程为:
11.神经网络结构由多种组件堆叠而成,所述多种大于等于2,称为组件堆叠方法。
12.进一步地,所述s2中将hpo超参数优化方法作为控制器,在所述搜索空间内利用所述控制器和权重共享结合早停技术搜索得到最优神经网络架构,具体过程为:
13.在搜索空间内利用控制器搜索得到多个神经网络架构,利用权重共享结合早停技术对每个神经网络架构进行性能评估,得到每个神经网络架构的性能评估值,将性能评估值输入控制器内优化控制器的权重,利用优化权重后的控制器重新搜索所述搜索空间内的
神经网络架构,重复执行上述过程,直至输出一个最优的神经网络架构。
14.进一步地,所述在搜索空间内利用控制器搜索得到多个神经网络架构,利用权重共享结合早停技术对每个神经网络架构进行性能评估,得到每个神经网络架构的性能评估值,将性能评估值输入控制器内优化控制器的权重,利用优化权重后的控制器重新搜索所述搜索空间内的神经网络架构,重复执行上述过程,直至输出一个最优的神经网络架构,具体过程为:
15.在搜索空间内利用控制器搜索得到多个神经网络架构,每个神经网络架构均有一个编码,利用解码器解码每个神经网络架构,将解码后的每个神经网络架构利用权重共享结合早停技术进行性能评估,得到每个神经网络架构的性能评估值,利用性能评估值优化控制器的权重,根据优化权重后的控制器重新搜索所述搜索空间内的神经网络架构,重复执行上述过程,直至输出一个最优的神经网络架构及其对应的编码,将得到的最优的神经网络架构的编码输入解码器中解码,得到最优的神经网络架构。
16.进一步地,所述控制器为多指标的超参数优化控制器。
17.进一步地,所述多指标包括神经网络架构准确性和神经网络架构参数量。
18.进一步地,权重共享结合早停技术为:
19.保存组件在不同使用场景下的最佳权重信息,利用权重共享将最佳权重信息分配至每个神经网络架构包含的各个组件内,将带有最佳权重信息的所述各个组件重新进行堆叠,得到新的神经网络架构,再利用早停技术对新的神经网络架构进行性能评估。
20.进一步地,所述使用场景包括输出大小不同的场景、输入大小不同的场景、在神经网络架构中位置不同的场景。
21.一种多目标神经网络架构自动搜索系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如一种多指标神经网络架构自动搜索方法中任一步骤。
22.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如一种多指标神经网络架构自动搜索方法中任一步骤。
23.有益效果:
24.本发明先利用高性能组件堆叠的思想获取神经网络(cnn)的搜索空间,再将hpo超参数优化方法作为控制器,并利用所述控制器在所述搜索空间内搜索多个较优的神经网络架构(cnn架构),实现神经网络架构(cnn架构)的快速搜索;利用权重共享结合早停的加速技术对得到的每个神经网络架构(cnn架构)进行性能评估,得到每个神经网络架构(cnn架构)的性能评估值,从而提高神经网络架构(cnn最优架构)的搜索速度;将性能评估值输入控制器内优化控制器的权重,利用优化权重后的控制器重新搜索所述搜索空间内的较优的神经网络架构(cnn架构),重复执行上述过程,直至输出一个最优的神经网络架构(cnn最优架构)。
25.综上所述,本发明实现了自动快速地搜索到在多个评估指标下表现优异的神经网络架构,不仅提高了搜索空间质量、搜索速率,还降低了评估代价,高效地解决了多指标神经网络架构自动搜索问题,能够快速的获取准确性高且参数量小的轻量级神经网络架构(cnn架构)。这些优秀的轻量级神经网络架构(cnn架构)更适合于现有的移动设备以及嵌入式设备,能够有效提升这些设备的智能化,为用户带来更好的服务。
附图说明
26.图1是本发明的流程图;
27.图2是s2的流程图;
具体实施方式
28.具体实施方式一:结合图1-图2说明本实施方式,本实施方式所述一种多指标神经网络架构自动搜索方法,它包括以下步骤:
29.s1、根据高性能组件堆叠方法获取神经网络的搜索空间。
30.高性能组件堆叠思想(方法):现有的卷积神经网络(简称cnn)结构可看为由多种组件(包括降维组件,特征提取组件,分类组件等)堆叠而成。另外,现在已有许多高性能且轻量级的组件结构被提出,这些高性能组件结构对多指标下表现优异的cnn架构有很大帮助,如果将高性能组件视作cnn架构现有已知的组件,将会省去大量组件设计的时间。高性能组件堆叠思想是神经网络结构由多种组件堆叠而成,所述多种大于等于2,称为高性能组件堆叠方法。基于此思想本发明提出了基于高性能组件堆叠思想快速获取有效的cnn搜索空间,其指标是充分利用已知的高性能组件搜索它们之间的最优组合方式,以获取多指标下优异的cnn架构。不同于现有的使用固定架构而大力搜索组件组成最优结构的nas技术,本发明在确保组件高性能的前提下,能够获取更灵活、更优秀的cnn架构,将优秀组件的性能更充分的发挥出来,以搜到更加优秀的cnn模型。
31.s2、将hpo超参数优化方法作为控制器,在所述搜索空间内利用所述控制器和权重共享结合早停的加速技术搜索得到最优神经网络架构,具体过程为:
32.在搜索空间内利用控制器搜索得到多个较优的神经网络架构,利用权重共享结合早停的加速技术(权重共享结合早停技术)对每个神经网络架构进行性能评估,得到每个神经网络架构的性能评估值,将性能评估值输入控制器内优化控制器的权重,利用优化权重后的控制器重新搜索所述搜索空间内的较优的神经网络架构,重复执行上述过程,直至输出一个最优的神经网络架构。具体过程为:根据图2所示,在搜索空间内利用控制器搜索得到多个较优的cnn架构,但由于每个cnn架构对应有属于自身的编码,所以需要先利用解码器对得到的所述多个较优的cnn架构分别进行解码,将解码后的每个cnn架构利用权重共享结合早停的加速技术进行性能评估,记录每个cnn架构的性能,得出每个cnn架构的性能评估值(历史评估信息),利用得到的性能评估值(历史评估信息)优化控制器的权重,再利用优化权重后的控制器重新搜索所述搜索空间内的较优的cnn架构,重复执行上述过程,直至输出一个最优的cnn架构编码,即代表cnn架构的一串数字。再将得到的最优的cnn架构编码输入解码器中解码,转化为程序可处理的cnn模型实例,如此,程序才能对最优的cnn架构进行性能评估,获取“最优的cnn架构编码”对应的各指标值。本发明的目标是设计出准确性高的,且参数量低的cnn模型架构。
33.所述控制器为基于多指标的超参数优化控制器,即hpo超参数优化方法是基于多指标的超参数优化方法。
34.所述多指标包括神经网络架构(cnn架构)准确性,神经网络架构(cnn架构)参数量等。
35.本发明采用的控制器需要根据历史评估信息合理推测出在多指标上性能优异的
cnn模型架构,即cnn组件堆叠方式。一个比较简单的方法是将多个指标融入到一个评估函数中,利用该评估函数作为唯一指标并使用现有的只能处理单一指标的控制器对堆叠方式进行优化。不过该方式存在缺陷,因为不同指标的范围常常各不相同,难以公平合理的将组件进行组合。以准确性范围为[0-100]和参数量范围为[0,

)为例,要想公平地考虑准确性范围和参数量范围,首先需要将它们的范围转为相同,例如将参数量的范围转为[0,100],不过由于参数量的最大值未知无法采用归一化实现,如果使用一个基准值作为标度进行转化,又可能出现范围外的值也无法实现。该方法的缺陷会导致最终的评估函数偏向其中一些指标,就没有实现公平性,因此不是很可行。由于hpo超参数优化技术可以很容易的扩展为处理多指标优化,这点符合本发明的需求,且为了让控制器更为有效合理,所以本发明引入了一个高效的可在有限评估次数中对超参数进行很好优化的hpo超参数优化技术作为控制器,得到适用于本发明的基于多指标的超参数优化控制器。且所述控制器不会受到不同指标范围差异的影响,避免了上述偏见性的缺陷,从而可以更为合理全面的考虑各个指标并推荐出更优的组件堆叠方式。
[0036]
权重共享结合早停的加速技术:为了进一步加速最优堆叠方式的搜索过程,本发明还提出了适用于组件堆叠结构的一个权重共享结合早停的策略。权重共享和早停策略是当前nas技术中两个很著名的加速策略,它们可以快速评估所述控制器推荐的候选的cnn神经网络架构,从而减少计算资源,不过他们并不能直接用到高性能组件堆叠方式上。所以本发明对二者进行了结合及改进,从而提出了适用于本发明的加速技术:保存了高性能组件在不同使用场景下(例如:输出大小,输入大小,在cnn架构中位置)的最佳权重信息,利用权重共享将最佳权重信息分配至每个神经网络架构包含的各个高性能组件内,将带有最佳权重信息的所述各个高性能组件重新进行堆叠,得到神经网络架构除输出层组件外的所有组件权重,从而大量减少cnn的训练参数,得到新的神经网络架构,再利用早停技术对新的神经网络架构进行性能评估。不过cnn还是需要训练的,由于不同输入数据集的分类数目不同,输出层的组件中的参数格式差异很大无法进行权重共享需要单独训练,我们采用微调技术(即较小的轮数)获取输出层组件的权重,并利用早停策略的思想将cnn加速训练后的准确性转化为其真实的性能,以获取完整的神经网络架构权重,用于架构性能的快速评估。改进的加速技术大大减少了评估耗时,提升了本发明的效率。举例如下:
[0037]
cifar10数据集的分类数目为10,cifar100数据集的分类数目为100,处理它们两个数据集的分类组件不同,前者分类组件的输出维度为10,后者分类组件的输出维度为100。比如某个cnn架构包括输入层,多个隐含层,输出层,输出层之前的权重是可以共享的,但输出层的权重需要根据给定的数据集(即输入数据以及正确的输出数据)进行调整。
[0038]
利用所述控制器实现cnn最优架构的快速搜索,在搜所过程中本发明使用权重共享结合早停的加速技术对搜索得到的各神经网络架构进行快速评估,从而提高cnn最优神经网络架构的搜索速度。本发明可以快速的获取准确性高且参数量小的轻量级cnn架构。这些优秀的轻量级cnn架构更适合于现有的移动设备以及嵌入式设备,能够有效提升这些设备的智能化,为用户带来更好的服务。本发明意图自动快速搜索得到现实生活中需要的在多个评估指标表现优异的神经网络架构。
[0039]
具体实施方式二:结合图1-图2说明本实施方式,本实施方式所述一种多指标神经网络架构自动搜索系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器
上运行的计算机程序,所述处理器执行所述计算机程序时实现如一种多指标神经网络架构自动搜索方法中任一步骤。
[0040]
具体实施方式三:结合图1-图2说明本实施方式,本实施方式所述一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如一种多指标神经网络架构自动搜索方法中任一步骤。
[0041]
实施例
[0042]
经过一系列的实验证明,得出本发明在cifar-10数据集上搜索到测试集错误率2.82%的切参数量仅为2.5m的cnn神经网络架构。搜索时间仅为4个gpu小时,其时间性能以及最佳模型的性能均超过现有的nas算法。另外,最佳cnn神经网络架构也可以迁移到更大的数据集上,即imagenet数据集上,取得优秀的性能(75.7%准确性,参数量为5.36m)。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献