掌桥专利:专业的专利平台
掌桥专利
首页

一种网络结构搜索方法、装置、设备及介质

文献发布时间:2024-01-17 01:24:51


一种网络结构搜索方法、装置、设备及介质

技术领域

本发明涉及计算机视觉和深度学习领域,特别涉及一种网络结构搜索方法、装置、设备及介质。

背景技术

目前,已经有大量的研究者致力于设计更高效、性能更好的网络结构,典型的网络结构包括MobileNet、ResNet等,这些网络结构的设计较好的促进了图像识别任务的发展。然而人工设计网络结构的过程繁琐,且需要大量的专家先验知识,不具有普及性。因此,使用网络结构搜索自动的设计网络结构,可以极大的减少人工成本。经过实践证明,最近网络结构搜索得到的模型已经在多个计算机视觉任务上取得了比人工设计的模型更好的效果,具有非常大的现实需求和应用价值。网络结构搜索主要包括搜索空间的设计,搜索算法,以及模型评估三个部分。基于不同的模型评估方式,现有的网络结构搜索方法可以大致的分为两种:第一种是基于独立训练的网络结构搜索方法,通过独立的训练每一个采样的网络结构来获取他们的性能,可以适用于更大更灵活的搜索空间,但是计算开销较大。第二种是基于权重共享的网络结构搜索方法,训练了一个包含所有候选网络的超网,通过继承超网中权重来获取每个子网在验证集上的性能,虽然提高了效率,但限制了搜索空间的大小,导致次优的性能。

由上可见,如何提升网络结构搜索的性能,提高网络结构搜索的效率,实现在大规模的搜索空间上搜索高性能的网络结构同时消耗较少的计算开销是本领域有待解决的问题。

发明内容

有鉴于此,本发明的目的在于提供一种网络结构搜索方法、装置、设备及介质,能够提升网络结构搜索的性能,提高网络结构搜索的效率,实现在大规模的搜索空间上搜索高性能的网络结构同时消耗较少的计算开销。其具体方案如下:

第一方面,本申请公开了一种网络结构搜索方法,包括:

从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群;

对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络;

对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络;

确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。

可选的,所述从预先建立的搜索空间中确定出各种群,包括:

基于MobileNet3构建候选网络框架的搜索空间;

从所述搜索空间中确定出各种群,其中,所述种群中包含多个候选网络,每个候选网络中包含记录信息。

可选的,所述对所述初始化后的种群中的候选网络进行训练,包括:

确定出当前的循环次数和预设阈值,判断当前的循环次数是否小于预设阈值;

若当前的循环次数小于预设阈值,则对所述初始化后的种群中的候选网络进行训练。

可选的,所述对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络,包括:

基于所述训练后的候选网络生成相应的剪枝策略,对所述训练后的候选网络中的BathNorm数据进行校正,以得到校正后的候选网络;

获取所述校正后的候选网络的验证精度值,并从所有的验证精度值筛选出目标验证精度值,以得到与所述目标验证精度值相对应的最佳剪枝策略,确定出与所述最佳剪枝策略相对应的最佳剪枝网络。

可选的,所述确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,包括:

确定出与所述目标剪枝网络相对应的目标种群,并将所述目标种群作为父代种群;

对所述父代种群进行交叉变异,以得到子代种群。

可选的,所述利用预设的预测器对所述子代种群进行筛选之前,还包括:

获取包含初始离散编码和初始连续编码的初始网络结构编码,对所述初始网络结构编码进行训练,以得到训练后的网络结构编码;

利用训练后的网络结构编码对初始预测器进行训练,以得到预测器。

可选的,所述判断所述循环次数是否等于预设阈值之后,还包括:

若所述循环次数不等于预设阈值,则重复上述步骤,以得到所述子代种群的下一子代种群,并确定出所述子代种群的权重信息,然后基于权重信息对所述下一子代种群中的候选网络进行训练。

第二方面,本申请公开了一种网络结构搜索装置,包括:

种群初始化模块,用于从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群;

剪枝策略搜索模块,用于对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络;

微调模块,用于对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络;

网络结构搜索模块,用于确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。

第三方面,本申请公开了一种电子设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述的网络结构搜索方法。

第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的网络结构搜索方法的步骤。

可见,本申请提供了一种网络结构搜索方法,包括从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群;对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络;对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络;确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。本申请通过面向图像识别的网络结构搜索与剪枝方法,可以高效率地完成在大规模搜索空间下的自动网络结构搜索与剪枝,在基于独立训练的网络结构搜索方法的基础上,一方面扩大了搜索空间来减少人工干预,包含了更多可能的高性能网络结构;一方面通过迭代剪枝、权重继承和在线预测器等策略显著提高基于独立训练网络结构搜索的效率,减少人工干预的同时搜索到效果较好的网络结构,有效的实现了在较小的计算开销上大规模的搜索高性能的神经网络结构。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请公开的一种网络结构搜索方法流程图;

图2为本申请公开的一种网络结构搜索方法流程图;

图3为本申请公开的一种网络结构搜索方法的具体流程图;

图4为本申请公开的一种网络结构搜索装置结构示意图;

图5为本申请提供的一种电子设备结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,已经有大量的研究者致力于设计更高效、性能更好的网络结构,典型的网络结构包括MobileNet、ResNet等,这些网络结构的设计较好的促进了图像识别任务的发展。然而人工设计网络结构的过程繁琐,且需要大量的专家先验知识,不具有普及性。因此,使用网络结构搜索自动的设计网络结构,可以极大的减少人工成本。经过实践证明,最近网络结构搜索得到的模型已经在多个计算机视觉任务上取得了比人工设计的模型更好的效果,具有非常大的现实需求和应用价值。网络结构搜索主要包括搜索空间的设计,搜索算法,以及模型评估三个部分。基于不同的模型评估方式,现有的网络结构搜索方法可以大致的分为两种:第一种是基于独立训练的网络结构搜索方法,通过独立的训练每一个采样的网络结构来获取他们的性能,可以适用于更大更灵活的搜索空间,但是计算开销较大。第二种是基于权重共享的网络结构搜索方法,训练了一个包含所有候选网络的超网,通过继承超网中权重来获取每个子网在验证集上的性能,虽然提高了效率,但限制了搜索空间的大小,导致次优的性能。由上可见,如何提升网络结构搜索的性能,提高网络结构搜索的效率,实现在大规模的搜索空间上搜索高性能的网络结构同时消耗较少的计算开销是本领域有待解决的问题。

本申请在Linux操作系统中运行,采用GPU(Graphics Processing Unit,图形处理)单元来进行运算加速(如NVIDIA GTX 3090显卡)。本申请的大体流程为:第一步,建立大规模的搜索空间,通过减少人工干预,避免了陷入思维范式,从而引入更多更高性能的候选网络结构。第二步,初始化种群。在搜索空间中随机采样生成一个种群的候选网络个体。第三步,采用早停机制训练种群中的每个候选网络个体,并对每个训练好的网络进行剪枝。微调剪枝网络后,使用性能最高的剪枝络交叉变异生成下一代种群。剪枝减小了种群内候选网络模型的参数量,加快了种群训练速度。第四步,训练在线预测器。在一代种群训练完成后,将该种群中候选网络的模型编码和训练精度输入到在线预测器中进行训练,然后使用训练好的预测器对新生成的下一代种群进行精度预测,通过去除预测精度不高的网络个体,提高搜索效率。第五步,新一代种群继承上一代直系父网络的权重。经过预测器筛选得到的新一代种群,在训练前先拷贝其父网络已经训练好的权重,减少训练的迭代次数。子网络是由父网络在结构上随机的交叉或变异生成,因此存在最大的网络结构相似度。新生成的子网络拷贝其直系父网络相同的网络结构部分,随机初始化新生成的部分,避免了重复的训练。第六步,重复第三步到第五步,直至进化搜索过程结束,输出最佳网络个体。

参见图1所示,本发明实施例公开了一种网络结构搜索方法,具体可以包括:

步骤S11:从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群。

本实施例中,基于MobileNet3构建候选网络框架的搜索空间,从所述搜索空间中确定出各种群,其中,所述种群中包含多个候选网络,每个候选网络中包含记录信息,然后对各所述种群进行初始化操作,以得到初始化后的种群。具体的,首先建立基于MobileNet3的候选网络框架。每个候选网络包括一个stem结构、一个tail结构、和五个可搜索的阶段,其中stem结构和tail结构是固定不变的,五个阶段是可搜索的,每个阶段包含若干层,每层为inverted residual bottleneck结构。从阶段、层两个方面进行搜索。从阶段方面,可搜索的部分包括:每阶段的层数,阶段宽度乘子、以及是否进行下采样;从层级方面,可搜索的部分包括:每个inverted residual bottleneck层的卷积核、通道扩展率、是否使用squeeze机制,以及剪枝率。扩大可搜索范围,具体如下:从阶段方面,每阶段的层数从现有的固定4层扩展为1-6层,阶段宽度乘子从固定的{1,2}扩展为{0.5,0.625,0.75,1,1.25,1.5,2},从固定下采样阶段到可搜索是否进行下采样,给网络结构提供更高的灵活性;从层级方面,卷积核可选择范围为{3,5,7},每层的通道扩展率从{3,6}扩展为{1,2,3,4,5,6},每层的剪枝率范围设置为{0.7,0.725,0.75,0.775,0.8,0.825,0.85,0.875,0.9},最后,每层都可搜索是否使用squeeze机制。具体的初始化操作过程如下:种群中的每个候选网络都包含一条记录,包括模型编码、模型参数量、训练精度、训练参数保存地址、训练时间、直系父网络训练参数保存地址等。其中,训练参数保存地址为字符串,由进化代数与该网络个体在本代种群中的索引组成。

步骤S12:对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络。

本实施例中,确定出当前的循环次数和预设阈值,判断当前的循环次数是否小于预设阈值,若当前的循环次数小于预设阈值,则对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络。具体的剪枝策略搜索操作如下:基于所述训练后的候选网络生成相应的剪枝策略,对所述训练后的候选网络中的BathNorm数据进行校正,以得到校正后的候选网络,然后获取所述校正后的候选网络的验证精度值,并从所有的验证精度值筛选出目标验证精度值,以得到与所述目标验证精度值相对应的最佳剪枝策略,确定出与所述最佳剪枝策略相对应的最佳剪枝网络。

步骤S13:对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络。

步骤S14:确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。

本实施例中,从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群;对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络;对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络;确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。本申请通过面向图像识别的网络结构搜索与剪枝方法,可以高效率地完成在大规模搜索空间下的自动网络结构搜索与剪枝,在基于独立训练的网络结构搜索方法的基础上,一方面扩大了搜索空间来减少人工干预,包含了更多可能的高性能网络结构;一方面通过迭代剪枝、权重继承和在线预测器等策略显著提高基于独立训练网络结构搜索的效率,减少人工干预的同时搜索到效果较好的网络结构,有效的实现了在较小的计算开销上大规模的搜索高性能的神经网络结构。

参见图2所示,本发明实施例公开了一种网络结构搜索方法,具体可以包括:

步骤S21:从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群。

步骤S22:对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络。

本实施例中,具体剪枝策略搜索操作如下:第一步,训练每个候选网络个体至30个迭代;第二步,对每个已训练的候选网络搜索最佳剪枝策略,并生成对应的最佳剪枝网络。具体地,首先随机生成200个剪枝策略,每个剪枝策略对应一个剪枝网络;然后将训练过的权重复制到生成的剪枝网络中;然后校正剪枝网络的BatchNorm数据,实施方式为进行若干个batch的前向传播,同时固定剪枝网络的其他可训练参数,因为不包括反向传播,因此时间开销很小;然后获取剪枝网络的验证精度,并选择验证精度最高的剪枝策略作为最佳剪枝策略。每个已训练的候选网络都对应一个最佳剪枝网络并由其替代。第三步,对所有的剪枝网络微调5个迭代,得到该剪枝网络的精度;第四步,提取精度最高的剪枝网络组成父代种群,然后对父代种群进行交叉变异,生成下一代种群。具体地,任意一对父网络进行交叉的概率设为0.5,任意可搜索层交叉概率为0.05。未交叉的父网络将进行变异,对每一个可搜索层,变异的概率为0.08,若生成的子网络与已存在的网络相似将重新变异,直至新生成的子网络数目达到种群大小。

步骤S23:对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络。

步骤S24:确定出与所述目标剪枝网络相对应的目标种群,并将所述目标种群作为父代种群,对所述父代种群进行交叉变异,以得到子代种群,获取包含初始离散编码和初始连续编码的初始网络结构编码,对所述初始网络结构编码进行训练,以得到训练后的网络结构编码,利用训练后的网络结构编码对初始预测器进行训练,以得到预测器。

步骤S25:利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。

本实施例中,若所述循环次数不等于预设阈值,则重复上述步骤,以得到所述子代种群的下一子代种群,并确定出所述子代种群的权重信息,然后基于权重信息对所述下一子代种群中的候选网络进行训练。

本实施例中,网络结构编码分为离散编码和连续编码。具体地,在层级搜索参数中,卷积核,通道扩展率,以及是否使用squeeze机制,采用离散编码机制;而剪枝率采用连续编码机制。在阶段搜索参数中,每阶段层数,是否进行下采样,采用离散编码机制;而阶段宽度乘子采用连续编码机制。其中,离散编码的表达式如下:

E(c

C={c

Bin()

C=[V

c

本申请使用LightGBM预测器对新种群中网络个体的精度进行预测,输入为网络结构编码,输出为网络结构的预测精度。LightGBM是基于预排序方法的决策树算法,使用带最大深度限制的Leaf-wise的增长策略,每次从当前所有叶子中,找到分裂增益最大的一个叶子,然后分裂,如此循环,具有训练效果好、不易过拟合等优点。同时,由于LightGBM不需要进行反向传播,因此训练时间开销很小。并且本申请在交叉变异时每个网络都包括一条父网络的记录,在子网络训练前,根据父网络的训练参数保存地址获取父网络的已训练权重,将相同的部分拷贝到子网络上,不相同的部分进行随机初始化,由于父网络的权重已训练,故子网络训练迭代数目减少一半。

本申请的具体流程如图3所示,首先构建候选网络框架的搜索空间,从所述搜索空间中确定出各种群,然后对各所述种群进行初始化操作,以得到初始化后的种群,然后对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络中的BathNorm数据进行校正,以得到校正后的候选网络,获取所述校正后的候选网络的验证精度值,并从所有的验证精度值筛选出目标验证精度值,以得到与所述目标验证精度值相对应的最佳剪枝策略,确定出与所述最佳剪枝策略相对应的最佳剪枝网络,然后对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络,并对候选网络进行记录(包含验证精度值、网络ID、父网络ID、模型参数量等),然后确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索,若所述循环次数不等于预设阈值,则重复上述步骤,以得到所述子代种群的下一子代种群,并确定出所述子代种群的权重信息,然后基于权重信息对所述下一子代种群中的候选网络进行训练。

本实施例中,从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群;对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络;对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络;确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。本申请通过面向图像识别的网络结构搜索与剪枝方法,可以高效率地完成在大规模搜索空间下的自动网络结构搜索与剪枝,在基于独立训练的网络结构搜索方法的基础上,一方面扩大了搜索空间来减少人工干预,包含了更多可能的高性能网络结构;一方面通过迭代剪枝、权重继承和在线预测器等策略显著提高基于独立训练网络结构搜索的效率,减少人工干预的同时搜索到效果较好的网络结构,有效的实现了在较小的计算开销上大规模的搜索高性能的神经网络结构。

参见图4所示,本发明实施例公开了一种网络结构搜索装置,具体可以包括:

种群初始化模块11,用于从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群;

剪枝策略搜索模块12,用于对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络;

微调模块13,用于对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络;

网络结构搜索模块14,用于确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。

本实施例中,从预先建立的搜索空间中确定出各种群,对各所述种群进行初始化操作,以得到初始化后的种群;对所述初始化后的种群中的候选网络进行训练,以得到训练后的候选网络,对所述训练后的候选网络进行剪枝策略搜索操作,以得到最佳剪枝策略以及与所述最佳剪枝策略相对应的最佳剪枝网络;对各所述最佳剪枝网络进行微调,以得到与所述最佳剪枝网络相对应的各精度,并从所述各精度中筛选出目标精度,以得到与所述目标精度对应的目标剪枝网络;确定出与所述目标剪枝网络相对应的目标种群,并基于所述目标种群生成子代种群,利用预设的预测器对所述子代种群进行筛选,以得到最佳子代种群,跳转至所述对所述初始化后的种群中的候选网络进行训练的步骤,以得到训练后的最佳子代种群,并记录循环次数,判断所述循环次数是否等于预设阈值,若所述循环次数等于预设阈值,则结束网络结构搜索。本申请通过面向图像识别的网络结构搜索与剪枝方法,可以高效率地完成在大规模搜索空间下的自动网络结构搜索与剪枝,在基于独立训练的网络结构搜索方法的基础上,一方面扩大了搜索空间来减少人工干预,包含了更多可能的高性能网络结构;一方面通过迭代剪枝、权重继承和在线预测器等策略显著提高基于独立训练网络结构搜索的效率,减少人工干预的同时搜索到效果较好的网络结构,有效的实现了在较小的计算开销上大规模的搜索高性能的神经网络结构。

在一些具体实施例中,所述种群初始化模块11,具体可以包括:

搜索空间构建模块,用于基于MobileNet3构建候选网络框架的搜索空间;

种群确定模块,用于从所述搜索空间中确定出各种群,其中,所述种群中包含多个候选网络,每个候选网络中包含记录信息。

在一些具体实施例中,所述剪枝策略搜索模块12,具体可以包括:

判断模块,用于确定出当前的循环次数和预设阈值,判断当前的循环次数是否小于预设阈值;

候选网络训练模块,用于若当前的循环次数小于预设阈值,则对所述初始化后的种群中的候选网络进行训练。

在一些具体实施例中,所述剪枝策略搜索模块12,具体可以包括:

数据校正模块,用于基于所述训练后的候选网络生成相应的剪枝策略,对所述训练后的候选网络中的BathNorm数据进行校正,以得到校正后的候选网络;

验证精度值获取模块,用于获取所述校正后的候选网络的验证精度值,并从所有的验证精度值筛选出目标验证精度值,以得到与所述目标验证精度值相对应的最佳剪枝策略,确定出与所述最佳剪枝策略相对应的最佳剪枝网络。

在一些具体实施例中,所述网络结构搜索模块14,具体可以包括:

目标种群确定模块,用于确定出与所述目标剪枝网络相对应的目标种群,并将所述目标种群作为父代种群;

交叉变异模块,用于对所述父代种群进行交叉变异,以得到子代种群。

在一些具体实施例中,所述网络结构搜索模块14,具体可以包括:

网络结构编码确定模块,用于获取包含初始离散编码和初始连续编码的初始网络结构编码,对所述初始网络结构编码进行训练,以得到训练后的网络结构编码;

预测器确定模块,用于利用训练后的网络结构编码对初始预测器进行训练,以得到预测器。

在一些具体实施例中,所述网络结构搜索模块14,具体可以包括:

权重信息确定模块,用于若所述循环次数不等于预设阈值,则重复上述步骤,以得到所述子代种群的下一子代种群,并确定出所述子代种群的权重信息,然后基于权重信息对所述下一子代种群中的候选网络进行训练。

图5为本申请实施例提供的一种电子设备的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的网络结构搜索方法中的相关步骤。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的网络结构搜索方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括网络结构搜索设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的网络结构搜索方法步骤。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种网络结构搜索方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术分类

06120116194826