一种构建神经网络架构搜索的方法、设备和智能设备与流程

文档序号:23655201发布日期:2021-01-15 13:52阅读:93来源:国知局
一种构建神经网络架构搜索的方法、设备和智能设备与流程

本领域涉及计算机领域,并且更具体地涉及一种构建神经网络架构搜索的方法、设备和智能设备。



背景技术:

自从2012年imagenet竞赛上,alexnet面世以来,深度学习网络不断发展,vggnet、googlenet、inception、resnet、yolo、ssd、retinanet等一系列网络次第出现,在图像任务、自然语言处理任务和语音识别任务上的表现不断提升。虽然这些模型虽然能够达到较好的表现结果,但是手工设计模型对从业人员的要求比较高,众多的超参数和网络结构参数调优耗时冗长,面向新的应用场景时无法快速建模。

此背景下,自动化深度学习(autodeeplearning)技术应运而生,现在主要有基于强化学习的autodl和基于进化算法的autodl,前者主要通过神经网络架构搜索(neuralarchitecturesearch)框架与环境交互的过程中获得最大的奖励实现,主要代表算法有nasnet、metaqnn、blockqnn等;后者主要是nas模拟生物遗传和进化的规律,用进化算法实现,主要代表算法有neat、deepneat、codeepneat等。

现有的神经网络架构搜索方法占用计算资源多,训练一个有效的深度学习网络耗时较长,生成的模型往往庞大而冗余,模型的部署和泛化较为困难。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种构建神经网络架构搜索的方法、设备和智能设备,通过使用本发明的方法,能够仅需少量训练可实现一个训练有素的深度学习网络,可直接迁移至其他应用场景,具有容易拓展,评估表现更好,资源占用更轻量化的优点。

基于上述目的,本发明的实施例的一个方面提供了一种构建神经网络架构搜索的方法,包括以下步骤:

搜索卷积神经网络架构,并选取搜索到的卷积神经网络架构中性能最好的卷积神经网络架构;

使用网络态射对性能最好的卷积神经网络架构进行优化,并对优化后的卷积神经网络架构进行采样;

使用模拟退火算法对采样后获得的子网络进行优化;

使用优化后的子网络对卷积神经网络架构进行多次网络态射以得到神经网络架构搜索。

根据本发明的一个实施例,使用网络态射对性能最好的卷积神经网络架构进行优化包括:

初始化一个预训练网络,作为网络态射的父网络;

对初始化的预训练的网络进行网络态射以获得子网络;

选出所有子网络中表现结果最优的子网络,以最优的子网络作为新的父网络返回重复前一步骤以迭代优化。

根据本发明的一个实施例,子网络继承父网络的训练数据。

根据本发明的一个实施例,对优化后的卷积神经网络架构进行采样包括:

以网络加深、加入conv-batchnorm-relu模块、加入位置和卷积层的卷积核大小进行随机均匀采样,通道数与上一卷积层的通道数相等;

以网络加宽、增加通道数、卷积层和加宽因子进行随机均匀采样;

添加第i层到第j层的跳层连接层进行随机均匀采样。

根据本发明的一个实施例,模拟退火算法包括:

将初始温度设为t,温度下限设为t_min,初始解状态为x,每个t值的迭代次数为l;

响应于l=1,2,…,l,产生新解x_new,x_new=x+δx,δx为[d_min,d_max]之间的随机数;

计算增量δf=f(x_new)-f(x),其中f(x)为优化目标;

响应于δf<0,则接受x_new作为新的当前解;

响应于δf>0,则以概率exp(-δf/(kt))接受x_new作为新的当前解;

响应于满足终止条件,则输出当前解作为最优解,结束程序;

响应于t逐渐减少且t>t_min,重复上述步骤。

本发明的实施例的另一个方面,还提供了一种构建神经网络架构搜索的设备,设备包括:

搜索模块,搜索模块配置为搜索卷积神经网络架构,并选取搜索到的卷积神经网络架构中性能最好的卷积神经网络架构;

采样模块,采样模块配置为使用网络态射对性能最好的卷积神经网络架构进行优化,并对优化后的卷积神经网络架构进行采样;

优化模块,优化模块配置为使用模拟退火算法对采样后获得的子网络进行优化;

迭代模块,迭代模块配置为使用优化后的子网络对卷积神经网络架构进行多次网络态射以得到神经网络架构搜索。

根据本发明的一个实施例,采样模块还配置为:

初始化一个预训练网络,作为网络态射的父网络;

对初始化的预训练的网络进行网络态射以获得子网络;

选出所有子网络中表现结果最优的子网络,以最优的子网络作为新的父网络返回重复前一步骤以迭代优化。

根据本发明的一个实施例,子网络继承父网络的训练数据。

根据本发明的一个实施例,采样模块还配置为:

以网络加深、加入conv-batchnorm-relu模块、加入位置和卷积层的卷积核大小进行随机均匀采样,通道数与上一卷积层的通道数相等;

以网络加宽、增加通道数、卷积层和加宽因子进行随机均匀采样;

添加第i层到第j层的跳层连接层进行随机均匀采样。

本发明的实施例的另一个方面,还提供了一种智能设备,设备包括:

至少一个处理器;以及

存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实施上述的方法。

本发明具有以下有益技术效果:本发明实施例提供的构建神经网络架构搜索的方法,通过搜索卷积神经网络架构,并选取搜索到的卷积神经网络架构中性能最好的卷积神经网络架构;使用网络态射对性能最好的卷积神经网络架构进行优化,并对优化后的卷积神经网络架构进行采样;使用模拟退火算法对采样后获得的子网络进行优化;使用优化后的子网络对卷积神经网络架构进行多次网络态射以得到神经网络架构搜索的技术方案,能够仅需少量训练可实现一个训练有素的深度学习网络,可直接迁移至其他应用场景,具有容易拓展,评估表现更好,资源占用更轻量化的优点。

附图说明

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

图1为根据本发明一个实施例的构建神经网络架构搜索的方法的示意性流程图;

图2为根据本发明一个实施例的构建神经网络架构搜索的设备的示意图;

图3为依赖包依赖关系的树状图的示意图;

图4为根据本发明一个实施例的网络态射优化的流程图;

图5为根据本发明一个实施例的模拟退火算法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种构建神经网络架构搜索的方法的一个实施例。图1示出的是该方法的示意性流程图。

如图1中所示,该方法可以包括以下步骤:

s1搜索卷积神经网络架构,并选取搜索到的卷积神经网络架构中性能最好的卷积神经网络架构;

s2使用网络态射对性能最好的卷积神经网络架构进行优化,并对优化后的卷积神经网络架构进行采样,网络态射的核心思路是通过态射的方法减少重复训练,从而获得模型运行速度的优势;

s3使用模拟退火算法对采样后获得的子网络进行优化,模拟退火算法相对于爬山算法来说,可以跳出局部最优点,找到全局最优点,模拟退火算法包含两个部分即metropolis算法和退火过程;

s4使用优化后的子网络对卷积神经网络架构进行多次网络态射以得到神经网络架构搜索,经过多次态射之后,网络结构迭代更新,最终实现网络进化与调整,使其应用场景更广泛。

通过本发明的技术方案,能够仅需少量训练可实现一个训练有素的深度学习网络,可直接迁移至其他应用场景,具有容易拓展,评估表现更好,资源占用更轻量化的优点。

本发明的技术方案是基于架构迁移学习的思路,搜索性能良好的卷积神经网络架构,对现有的网络结构进行改造和优化,并搭配模拟退火算法,控制网络结构迭代方向,每一次选用全局最优解作为当前解,经过多次态射之后,网络结构迭代更新。最终实现网络进化与调整,使其应用场景更广泛。网络态射的核心思路是通过态射的方法减少重复训练,从而获得模型运行速度的优势。使用代表定义在上的一系列神经网络,网络态射可以表示为使得一神经网络(参数为)映射到另一神经网络(参数为),最终满足下式:

构建神经网络的标准运算可以表达为一个网络态射,在上式中,使用下式替代

其中,当a=1,b=0时,上式显然成立。该映射可以应用于全连接层或者卷积层,因为这些层均为简单的线性映射。

可选地,在以上替换过程中,在一实施例中,本专利使用网络态射类型如下:

其中,a,b为固定的、不可学习的参数。在这种情况上式成立的前提是c=a-1,d=-cb。bn层或其他标准化层可以表述为上式,此时,a,b表示批统计参数,c,d表示可学习的尺度和位移参数。

在具体的实施过程中,还包括其他网络结构的映射,如skip-connection、relu、非线性或非等幂激活层等。

在本发明的一个优选实施例中,如图4所示,使用网络态射对性能最好的卷积神经网络架构进行优化包括:

初始化一个预训练网络,作为网络态射的父网络;

对初始化的预训练的网络进行网络态射以获得子网络;

选出所有子网络中表现结果最优的子网络,以最优的子网络作为新的父网络返回重复前一步骤以迭代优化。

在本发明的一个优选实施例中,子网络继承父网络的训练数据。如图3所示,变形前的网络称为父网络,对应的变形后的网络称为子网络,子网络从父网络继承知识,并且有潜力在更短的训练时间内发展为更强大的网络。网络态射的特征有(1)能够处理各种映射网络,包括各种类型网络的深度、宽度、卷积核大小,甚至子网;(2)具有处理网络非线性的能力。

变形后的网络需进行网络优化,才能保证在进一步训练时不低于父网络的表现结果,子网络可视为初始父网络在同一网络架构空间下的邻近网络。根据网络态射公式,子网络初始表现以父网络为基准,并在此基础上进行优化。本质上,网络态射可以被看作是初始化子网络以获得良好性能的一种方法,避免了从头开始训练它们的昂贵步骤,从而降低了评估网络性能所需消耗资源和时间。因此,可以在短时间内进一步训练各种子网络,以利用网络态射所获得的额外容量,并且可以继续搜索结果最佳的子网络。

在本发明的一个优选实施例中,对优化后的卷积神经网络架构进行采样包括:

以网络加深、加入conv-batchnorm-relu模块、加入位置和卷积层的卷积核大小进行随机均匀采样,通道数与上一卷积层的通道数相等;

以网络加宽、增加通道数、卷积层和加宽因子进行随机均匀采样;

添加第i层到第j层的跳层连接层进行随机均匀采样。

在本发明的一个优选实施例中,如图5所示,模拟退火算法包括:

将初始温度设为t,温度下限设为t_min,初始解状态为x,每个t值的迭代次数为l;

响应于l=1,2,…,l,产生新解x_new,x_new=x+δx,δx为[d_min,d_max]之间的随机数;

计算增量δf=f(x_new)-f(x),其中f(x)为优化目标;

响应于δf<0,则接受x_new作为新的当前解;

响应于δf>0,则以概率exp(-δf/(kt))接受x_new作为新的当前解;

响应于满足终止条件,则输出当前解作为最优解,结束程序;

响应于t逐渐减少且t>t_min,重复上述步骤。对采样后的子网络进行优化,本专利使用模拟退火算法(simulatedannealing,sa),相对于爬山算法来说,可以跳出局部最优点,找到全局最优点。模拟退火算法包含两个部分即metropolis算法和退火过程。metropolis算法就是如何在局部最优解的情况下让其跳出来,是退火的基础,即以概率来接受新状态,而不是使用完全确定的规则,称为metropolis准则,计算量较低。退火过程使用温度调节参数t来控制算法在有限的时间内收敛,在退火初期使用较大的t值,随着退火的进行,逐步降低。

基于模拟退火的网络态射方法可以自动搜索性能良好的卷积神经网络架构,每一次选用全局最优解作为当前解,经过多次态射之后,网络结构迭代更新。

还可以使用余弦退火对学习率进行优化。余弦退火是在训练过程中,通过调整学习率随着epoch的增加循环性的重复先急剧下降再陡然提升的过程,跳出局部最优点,最终使优化过程的全局损失值逐渐逼近最小损失值的方法。

也可以使用热重启的随机梯度下降(sgdr)的学习率策略,通过重启学习速率来减少训练时间和提高准确性,以避免梯度接近零。所有网络态射的组合同时可作为新的网络态射。网络态射后,神经网络的准确率并不会下降,子网络可以继承父网络的训练数据,再进行少量训练就有可能获得比父网络更高的准确率,因为网络态射后网络结构更深,拥有更多的参数。多次迭代不断筛选每一代最优秀的个体,最终网络表现结果不断提升。在基准数据集和典型神经网络上的实验结果表明了所提出的网络态射方案的有效性。

实施例

使用模拟退火的网络架构搜索方法步骤可表述如下:

1.首先进行初始化:model0代表起始模型,nsteps代表模拟退火算法步数,nneigh代表邻域个数,,nnm为网络态射相邻子网络个数,epochneigh代表邻域内每次训练所需步数,epochfinal代表最终训练所需步数,λstart、λend代表sgdr训练的学习率初始、结束参数,t代表模拟退火算法温度,tend代表模拟退火结束温度;

2.当modelbest←model0时,开始模拟退火算法;

3.初始化i=1,通过对当前modelbest进行获取nnm次网络态射,获取model0的邻域个数nneigh;

4.初始化j=1,利用modelbest和nnm进行网络态射,以metropolis准则接受结果定义为modelj;

5.使用sgdr对modelj进行训练;

6.当j<nneigh时,j递增,重复步骤4-5;

7.当不满足6的条件时以sgdr训练结果作为

8.判断当前温度t≤tend,获得在训练集上表现最佳的模型作为modelbest,否则的话,缓慢降低温度,重置迭代次数nneigh,回到步骤4;

9.当i<nsteps时,i递增,重复步骤4-9;

10.在当前modelbest使用sgdr进行训练,训练步数epochfinal,输出modelbest。

通过本发明的技术方案,能够仅需少量训练可实现一个训练有素的深度学习网络,可直接迁移至其他应用场景,具有容易拓展,评估表现更好,资源占用更轻量化的优点。

需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存取存储器(randomaccessmemory,ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。

基于上述目的,本发明的实施例的第二个方面,提出了一种构建神经网络架构搜索的设备,如图2所示,设备200包括:

搜索模块,搜索模块配置为搜索卷积神经网络架构,并选取搜索到的卷积神经网络架构中性能最好的卷积神经网络架构;

采样模块,采样模块配置为使用网络态射对性能最好的卷积神经网络架构进行优化,并对优化后的卷积神经网络架构进行采样;

优化模块,优化模块配置为使用模拟退火算法对采样后获得的子网络进行优化;

迭代模块,迭代模块配置为使用优化后的子网络对卷积神经网络架构进行多次网络态射以得到神经网络架构搜索。

在本发明的一个优选实施例中,采样模块还配置为:

初始化一个预训练网络,作为网络态射的父网络;

对初始化的预训练的网络进行网络态射以获得子网络;

选出所有子网络中表现结果最优的子网络,以最优的子网络作为新的父网络返回重复前一步骤以迭代优化。

在本发明的一个优选实施例中,子网络继承父网络的训练数据。

在本发明的一个优选实施例中,采样模块还配置为:

以网络加深、加入conv-batchnorm-relu模块、加入位置和卷积层的卷积核大小进行随机均匀采样,通道数与上一卷积层的通道数相等;

以网络加宽、增加通道数、卷积层和加宽因子进行随机均匀采样;

添加第i层到第j层的跳层连接层进行随机均匀采样。

基于上述目的,本发明的实施例的第三个方面,提出了一种智能设备,设备包括至少一个处理器以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实施上述的方法。

上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。

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