一种神经网络架构的搜索方法及装置与流程

文档序号:18756397发布日期:2019-09-24 22:28阅读:164来源:国知局
一种神经网络架构的搜索方法及装置与流程

本申请涉及数字图像处理技术领域,尤其涉及一种神经网络架构的搜索方法及装置。



背景技术:

在计算机视觉领域,图像分类是一个非常基本且很重要的任务。许多基于图像分类任务设计出的神经网络架构都被作为特征提取网络进行迁移学习至其他计算机视觉领域。但是人为设计神经网络并具有优秀的性能是一件十分困难的事情,需要经验丰富的专家才能设计出新的有效的网络,通常做法都是使用已经开源的架构进行借鉴。因此,需要一种算法能够自动设计神经网络,可以给学者们提供更多的思路,给业界内降低成本。

目前,基于蒙特卡洛树搜索的神经网络架构搜索算法是以一个初始网络为根节点,通过一系列的动作序列生成新的网络结构,并构成子节点,但是这种启发式搜索的方法仍比较耗时,且准确率不高。基于贝叶斯优化的神经网络架构搜索方法在优化采集函数时采取的是模拟退火算法,得到的模型参数量巨大,搜索策略存在缺陷。

但本申请发明人在实现本申请实施例中技术方案的过程中,发现上述现有技术至少存在如下技术问题:

现有技术中的神经网络架构搜索算法存在准确率低、搜索过程耗时、模型结果过大的技术问题。

申请内容

本申请实施例通过提供一种神经网络架构的搜索方法及装置,用以解决现有技术中的神经网络架构搜索算法存在准确率低、搜索过程耗时、模型结果过大的技术问题。基于贝叶斯优化方法来搜索神经网络架构,通过蒙特卡洛树搜索来优化算法中的采集函数,达到了在较短时间内搜索得到准确率比较高,且模型参数量小的神经网络架构的技术效果。

为了解决上述问题,第一方面,本申请实施例提供了一种神经网络架构的搜索方法,所述方法包括:对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。

优选的,所述对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值,包括:获得当前神经网络架构图;将图像分类任务的数据集作为输入数据对所述当前神经网络架构图进行训练,获得所述训练后的神经网络架构图和对应的评估值。

优选的,所述根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数,包括:构建概率代理模型,设置所述概率代理模型为多元高斯过程函数;根据所述训练后的神经网络架构图和对应的评估值作为新的输入数据拟合所述多元高斯过程函数。

优选的,所述根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索,包括:根据所述训练后的神经网络架构图和所述多元高斯过程函数构建采集函数;在所述采集函数中进行搜索,获得令所述采集函数值最大的神经网络架构图;将所述令所述采集函数值最大的神经网络架构图作为下一个需要评估的神经网络架构图。

优选的,所述在所述采集函数中进行搜索,包括:所述搜索的算法为蒙特卡洛树搜索算法。

第二方面,本申请实施例还提供了一种神经网络架构的搜索装置,其特征在于,所述装置包括:

第一获得单元,所述第一获得单元用于对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;

第一拟合单元,所述第一拟合单元用于根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;

第一搜索单元,所述第一搜索单元用于根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;

第二获得单元,所述第二获得单元用于对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。

优选的,所述第一获得单元包括:

第三获得单元,所述第三获得单元用于获得当前神经网络架构图;

第四获得单元,所述第四获得单元用于将图像分类任务的数据集作为输入数据对所述当前神经网络架构图进行训练,获得所述训练后的神经网络架构图和对应的评估值。

优选的,所述第一拟合单元包括:

第一构建单元,所述第一构建单元用于构建概率代理模型,设置所述概率代理模型为多元高斯过程函数;

第二拟合单元,所述第二拟合单元用于根据所述训练后的神经网络架构图和对应的评估值作为新的输入数据拟合所述多元高斯过程函数。

优选的,所述第一搜索单元包括:

第二构建单元,所述第二构建单元用于根据所述训练后的神经网络架构图和所述多元高斯过程函数构建采集函数;

第五获得单元,所述第五获得单元用于在所述采集函数中进行搜索,获得令所述采集函数值最大的神经网络架构图;

第一执行单元,所述第一执行单元用于将所述令所述采集函数值最大的神经网络架构图作为下一个需要评估的神经网络架构图。

优选的,所述第五获得单元还包括:所述搜索的算法为蒙特卡洛树搜索算法。

第三方面,本申请实施例还提供了一种神经网络架构的搜索装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。

第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:

对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

本申请实施例通过提供一种神经网络架构的搜索方法及装置,所述方法包括:对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。解决了现有技术中的神经网络架构搜索算法存在准确率低、搜索过程耗时、模型结果过大的技术问题。基于贝叶斯优化方法来搜索神经网络架构,通过蒙特卡洛树搜索来优化算法中的采集函数,达到了在较短时间内搜索得到准确率比较高,且模型参数量小的神经网络架构的技术效果。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

图1为本发明实施例中一种神经网络架构的搜索方法的流程示意图;

图2为本发明实施例中一种神经网络架构的搜索装置的结构示意图;

图3为本发明实施例中另一种神经网络架构的搜索装置的结构示意图。

附图标记说明:第一获得单元11,第一拟合单元12,第一搜索单元13,第二获得单元14,总线300,接收器301,处理器302,发送器303,存储器304,总线接口306。

具体实施方式

本申请实施例提供了一种神经网络架构的搜索方法及装置,用以解决现有技术中的神经网络架构搜索算法存在准确率低、搜索过程耗时、模型结果过大的技术问题。

为了解决上述技术问题,本申请提供的技术方案总体思路如下:通过对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。基于贝叶斯优化方法来搜索神经网络架构,通过蒙特卡洛树搜索来优化算法中的采集函数,达到了在较短时间内搜索得到准确率比较高,且模型参数量小的神经网络架构的技术效果。

下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。

实施例一

图1为本发明实施例中一种神经网络架构的搜索方法的流程示意图,本发明实施例提供的一种神经网络架构的搜索方法,如图1所示,所述方法包括:

步骤110:对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;

步骤120:根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;

步骤130:根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;

步骤140:对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。

进一步的,所述对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值,包括:获得当前神经网络架构图;将图像分类任务的数据集作为输入数据对所述当前神经网络架构图进行训练,获得所述训练后的神经网络架构图和对应的评估值。

具体而言,本发明实施例提供的一种神经网络架构的搜索方法,首先在算法运行开始,需要初始化一个当前神经网络架构图,然后基于贝叶斯优化方法将图像分类任务的数据集作为输入数据对所述当前神经网络架构图进行训练,训练结果用准确率作为评估标准,得到训练后的神经网络架构图和对应的评估值,若在算法循环中,则依据步骤130得到一个所述当前神经网络架构图,然后基于贝叶斯优化方法对其进行训练,得到所述训练后的神经网络架构图和对应的评估值,接着将所述训练后的神经网络架构图和对应的评估值作为输入变量x和输出变量y来拟合概率代理模型,其中,所述概率代理模型为多元高斯过程函数,然后根据所述多元高斯过程函数和所述训练后的神经网络架构图来构建采集函数,并通过蒙特卡洛树搜索算法在所述采集函数中搜索令所述采集函数值最大的神经网络架构图,并将所述令所述采集函数值最大的神经网络架构图作为下一个待评估的神经网络架构图,设定搜索时间为t,重复步骤110~130,直至所述搜索时间截止,返回所述评估值最大的神经网络架构图,其中,所述令所述评估值最大的神经网络架构图即为分类准确率最高的神经网络架构图,达到了在较短时间内搜索得到准确率比较高,且模型参数量小的神经网络架构的技术效果。

进一步的,所述根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数,包括:构建概率代理模型,设置所述概率代理模型为多元高斯过程函数;根据所述训练后的神经网络架构图和对应的评估值作为新的输入数据拟合所述多元高斯过程函数。

具体而言,在步骤120中,基于步骤110得到的所述训练后的神经网络架构图和对应的评估值,作为输入变量x和输出变量y来拟合所述概率代理模型,其中,所述概率代理模型为多元高斯过程函数,在拟合所述多元高斯过程函数中,我们在此假设数据集为d:{x,y},令f(xi)=yi,则f=[f(x1),f(x2),...,f(xn)],假设需要预测的集合为x*,对应的预测值为f*。高斯回归首先要计算数据集中样本之间的联合概率分布f~gp(e(f(x)),k(x,x′))。高斯过程和高斯函数一样,由均值和方差构成,均值代表了函数离原点的偏移位置,方差代表了函数的分布形状,多元高斯分布中,方差变为用协方差矩阵表示。因此设均值为e(f(x)),协方差矩阵为k,再根据需要预测的f*来计算后验概率分布。

根据理论知识我们定义协方差公式为:

其中xa和xb为两个神经网络架构图,d(·,·)代表了两个网络之间的距离,范围是[0,+∞),ρ是一个映射函数,它将原始度量空间中的距离映射到新空间中的相应距离。通过使用bourgain定理将原始度量空间嵌入到新的空间中来构造新空间,其目的是确保内核的有效性。

出于计算方便,我们先假设一个0均值的先验分布:

f(x)~gp(0,k(x,x′))

其中,

对于一个新的样本xt+1,协方差矩阵更新过程如下:

有了更新后的协方差矩阵就可以通过前t个样本估计出ft+1的后验概率分布:

p(ft+1|d1:t,xt+1)~n(μ,σ2)

μ(ft+1)=ktk-1f1:t

σ2(ft+1)=k(xt+1,xt+1)-ktk-1k

进一步的,所述根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索,包括:根据所述训练后的神经网络架构图和所述多元高斯过程函数构建采集函数;在所述采集函数中进行搜索,获得令所述采集函数值最大的神经网络架构图;将所述令所述采集函数值最大的神经网络架构图作为下一个需要评估的神经网络架构图。

进一步的,所述在所述采集函数中进行搜索,包括:所述搜索的算法为蒙特卡洛树搜索算法。

具体而言,在步骤130中,首先根据所述训练后的神经网络架构图与对应的评估值和所述多元高斯过程函数,来构建所述采集函数,具体地,所述采集函数被定义为:

α(f)=-μ(yf)-βσ(yf),

其中f是神经网络架构,yf为神经网络架构的评估值,β是平衡系数,μ(yf)和σ(yf)分别是高斯拟合先验的均值和方差。

在优化过程中,期望通过得到一个需要观察的新神经网络架构图,在该过程中,f通过以下操作生成新神经网络架构图,将所述新神经网络架构图作为变量输入到所述多元高斯过程函数中,得到所述新神经网络架构图对应评估值的均值和方差,以此来得到所述采集函数的值。其中,生成所述新的神经网络架构图的具体操作方式为:

(1)deep(f,u):加深网络,在图中选择一层u,在后面插入一个神经元;

(2)wide(f,u):加宽网络,选择具有卷积核的神经元,通过添加卷积核的方式拓宽通道数,或者选择全连接层使其输出变得更宽,在改变的时候相对应的还要修改下一层的输入形状;

(3)add(f,u,v):相加式跳变连接,随机选择两个输出层u和v,通过跳变连接,使其两个通道的输出向量进行特征相加,由于网络中特征图尺寸只会随着网络加深不变或者变小,因此前面的层若是输出特征大与后面的层,则自动添加池化层缩小尺寸直至与小的一方一致在进行相加;

(4)concat(f,u,v):并联式跳变连接,随机选择两个输出层u和v,通过跳变连接,使其两个通道的输出向量进行特征并联,由于输出通道数的改变,下一层输入尺寸随之修改。若尺寸不一致,则大的一方通过池化操作进行缩小尺寸,并在缩小后加入relu层将特征非线性化。

所述训练后的神经网络架构图通过以上操作方式生成所述新神经网络架构图的过程可以看作是构建树形图的过程,优化α(f)的过程就是在树形图空间中找到令所述采集函数α(f)值最小的神经网络架构图。

本发明实施例中采取的是蒙特卡洛树搜索算法对树形图空间进行搜索,本发明实施例对蒙特卡洛树搜索方法在原有的基础上进行了一定的修改,得到针对的蒙特卡洛树搜索算法。

假设已经观察的神经网络架构图,即已经实际训练得到真实评估值的所述训练后的神经网络架构图,存在搜索历史记录中h={(f(i),p(i))},p(i)为评估值。o是一个操作方式的集合,可以将原图f映射为新的图定义这种操作操作为为了保留节点信息便于搜索,本发明实施例基于已有的搜索历史重新构建了一棵模拟树,每棵树有父节点(parent)和子节点(child),子节点保存在列表(children)中。本发明实施例将已评估的所述训练后的神经网络架构视为真实节点(truenode)。每个真实节点id号与搜索结果中的模型id保存的一致,便于在h中索引来调用历史计算图。我们将当前每个节点的真实评估值作为节点当前的收益值(reward),由于不存在博弈方,这个收益值与蒙特卡洛树中的博弈的获胜次数一样可以累加。本发明实施例令通过操作方式得到的未评估神经网络架构为虚拟节点(virtualnode),由于该搜索空间不像下棋存在向前模拟多步得到棋局是否获胜作为收益,本发明实施例令其模拟是否获胜的‘0’‘1’值直接改为α(f)值来代替,算法基于已有的真实节点继续搜索虚拟节点。蒙特卡洛树中的总博弈局数用访问节点次数(visits)来代替。在对所述采集函数搜索结束后,返回令所述采集函数值最大的神经网络架构图。

在步骤140中,将步骤130中搜索得到所述令所述采集函数值最大的神经网络架构图返回至步骤110继续进行训练得到对应的评估值,循环步骤110~步骤130直至所述搜索时间t结束,最后将树形结构图中评估值最大的神经网络架构取出来,作为最终结果。

实施例二

基于与前述实施例中一种神经网络架构的搜索方法同样的发明构思,本发明还提供一种神经网络架构的搜索装置,如图2所示,所述装置包括:

第一获得单元11,所述第一获得单元11用于对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;

第一拟合单元12,所述第一拟合单元12用于根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;

第一搜索单元13,所述第一搜索单元13用于根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;

第二获得单元14,所述第二获得单元14用于对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。

优选的,所述第一获得单元11包括:

第三获得单元,所述第三获得单元用于获得当前神经网络架构图;

第四获得单元,所述第四获得单元用于将图像分类任务的数据集作为输入数据对所述当前神经网络架构图进行训练,获得所述训练后的神经网络架构图和对应的评估值。

优选的,所述第一拟合单元12包括:

第一构建单元,所述第一构建单元用于构建概率代理模型,设置所述概率代理模型为多元高斯过程函数;

第二拟合单元,所述第二拟合单元用于根据所述训练后的神经网络架构图和对应的评估值作为新的输入数据拟合所述多元高斯过程函数。

优选的,所述第一搜索单元13包括:

第二构建单元,所述第二构建单元用于根据所述训练后的神经网络架构图和所述多元高斯过程函数构建采集函数;

第五获得单元,所述第五获得单元用于在所述采集函数中进行搜索,获得令所述采集函数值最大的神经网络架构图;

第一执行单元,所述第一执行单元用于将所述令所述采集函数值最大的神经网络架构图作为下一个需要评估的神经网络架构图。

优选的,所述第五获得单元还包括:所述搜索的算法为蒙特卡洛树搜索算法。

前述图1实施例一中的一种神经网络架构的搜索方法的各种变化方式和具体实例同样适用于本实施例的一种神经网络架构的搜索装置,通过前述对一种神经网络架构的搜索方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种神经网络架构的搜索装置的实施方法,所以为了说明书的简洁,在此不再详述。

实施例三

基于与前述实施例中一种神经网络架构的搜索方法同样的发明构思,本发明还提供一种神经网络架构的搜索装置,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种神经网络架构的搜索方法的任一方法的步骤。

其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。

处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。

实施例四

基于与前述实施例中一种神经网络架构的搜索方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。

在具体实施过程中,该程序被处理器执行时,还可以实现实施例一中的任一方法步骤。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

本申请实施例通过提供一种神经网络架构的搜索方法及装置,所述方法包括:对当前神经网络架构图进行训练,获得训练后的神经网络架构图和对应的评估值;根据所述训练后的神经网络架构图和对应的评估值,拟合多元高斯过程函数;根据所述多元高斯过程函数构建采集函数,对所述采集函数进行优化搜索;对上述步骤在设定时间内反复操作,获得所述评估值最大的神经网络架构图。解决了现有技术中的神经网络架构搜索算法存在准确率低、搜索过程耗时、模型结果过大的技术问题。基于贝叶斯优化方法来搜索神经网络架构,通过蒙特卡洛树搜索来优化算法中的采集函数,达到了在较短时间内搜索得到准确率比较高,且模型参数量小的神经网络架构的技术效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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