CN109598332B - 神经网络生成方法及装置、电子设备和存储介质 - Google Patents
神经网络生成方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN109598332B CN109598332B CN201811352205.0A CN201811352205A CN109598332B CN 109598332 B CN109598332 B CN 109598332B CN 201811352205 A CN201811352205 A CN 201811352205A CN 109598332 B CN109598332 B CN 109598332B
- Authority
- CN
- China
- Prior art keywords
- network
- sampling
- target
- function
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及一种神经网络生成方法及装置、电子设备和存储介质。该方法包括:根据预设的网络类型,从搜索空间中采样出适应的多个采样网络;将多个采样网络分别输入网络评价模型中处理获得多个采样网络的网络评价值,网络评价模型包括表征预设参考网络的拓扑结构的镜像刺激函数和/或表征准确率的准确率函数;根据多个采样网络的网络评价值,生成目标网络。本公开实施例通过引入表征参考网络的拓扑结构的镜像刺激函数,能够自动搜索得到高精度的神经网络。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种神经网络生成方法及装置、电子设备和存储介质。
背景技术
网络结构自动搜索是一种确定神经网络的网络结构的方式,其通过在网络结构的搜索空间中搜索到对于指定数据集具有最高性能的网络结构,从而代替人工手动设计网络的过程。由于人工设计网络需要大量的经验和重复的试错实验,因此网络结构自动搜索大大节省了设计网络结构的成本,加快了网络结构更新换代的效率。
然而,根据相关技术的自动搜索算法,搜索得到的网络的拓扑结构通常非常复杂,导致这些网络在测试阶段的运行速度非常缓慢,难以在实际系统中应用。除此之外,为了搜索到最优的网络结构,通常要对网络结构的搜索空间进行精心的设计,以平衡探索范围和探索效率。太小的搜索空间引入了偏置使得最优结构难以被找到,太大的搜索空间又导致搜索收敛的效率变低。
发明内容
本公开提出了一种神经网络生成技术方案。
根据本公开的一方面,提供了一种神经网络生成方法,包括:
根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多个采样网络;
将多个采样网络分别输入网络评价模型中处理,获得所述多个采样网络的网络评价值,其中,所述网络评价模型包括镜像刺激函数和/或准确率函数,所述镜像刺激函数用于表征预设的参考网络的拓扑结构,所述准确率函数用于表征所述采样网络的准确率;
根据多个采样网络的网络评价值,生成目标网络。
在一种可能的实现方式中,根据多个采样网络的网络评价值,生成目标网络,包括:
根据多个采样网络的网络评价值,对Q值矩阵进行数值迭代更新,确定更新后的Q值矩阵;
根据更新后的Q值矩阵,生成目标网络。
在一种可能的实现方式中,所述方法还包括:
对所述参考网络进行逆向强化学习处理,获得所述参考网络的镜像刺激函数。
在一种可能的实现方式中,根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多个采样网络,包括:
根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多条网络结构特征,其中,每条网络结构特征表示一个网络层;
根据所述多条网络结构特征的轨迹,分别构建多个块网络架构;
将所述多个块网络架构堆叠生成采样网络。
在一种可能的实现方式中,根据更新后的Q值矩阵,生成目标网络,包括:
依次确定所述更新后的Q值矩阵中每层的多个Q值中的最大值以及与所述最大值对应的目标网络层;
根据多个目标网络层,生成目标网络。
在一种可能的实现方式中,将所述多个块网络架构堆叠生成采样网络,包括:
对所述多个块网络架构中没有后续网络层的块网络架构进行拼接处理,获得拼接后的块网络架构;
将所述拼接后的块网络架构确定为所述采样网络的输出层。
在一种可能的实现方式中,所述网络评价模型为所述镜像刺激函数及所述准确率函数的加权和。
在一种可能的实现方式中,所述方法还包括:
根据任务数据集对所述目标网络进行训练,得到训练后的目标网络。
在一种可能的实现方式中,所述任务数据集包括以下至少一种:用于分类任务的数据集以及用于图像识别任务的数据集。
根据本公开的另一方面,提供了一种神经网络生成装置,包括:
采样网络获取模块,用于根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多个采样网络;
评价值确定模块,用于将多个采样网络分别输入网络评价模型中处理,获得所述多个采样网络的网络评价值,其中,所述网络评价模型包括镜像刺激函数和/或准确率函数,所述镜像刺激函数用于表征预设的参考网络的拓扑结构,所述准确率函数用于表征所述采样网络的准确率;
目标网络生成模块,用于根据多个采样网络的网络评价值,生成目标网络。
在一种可能的实现方式中,所述目标网络生成模块包括:
Q值更新子模块,用于根据多个采样网络的网络评价值,对Q值矩阵进行数值迭代更新,确定更新后的Q值矩阵;
目标网络生成子模块,用于根据更新后的Q值矩阵,生成目标网络。
在一种可能的实现方式中,所述装置还包括:
刺激函数获得模块,用于对所述参考网络进行逆向强化学习处理,获得所述参考网络的镜像刺激函数。
在一种可能的实现方式中,所述采样网络获取模块包括:
特征采样子模块,用于根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多条网络结构特征,其中,每条网络结构特征表示一个网络层;
架构构建子模块,用于根据所述多条网络结构特征的轨迹,分别构建多个块网络架构;
堆叠子模块,用于将所述多个块网络架构堆叠生成采样网络。
在一种可能的实现方式中,所述目标网络生成子模块用于:
依次确定所述更新后的Q值矩阵中每层的多个Q值中的最大值以及与所述最大值对应的目标网络层;
根据多个目标网络层,生成目标网络。
在一种可能的实现方式中,所述堆叠子模块用于:
对所述多个块网络架构中没有后续网络层的块网络架构进行拼接处理,获得拼接后的块网络架构;
将所述拼接后的块网络架构确定为所述采样网络的输出层。
在一种可能的实现方式中,,所述网络评价模型为所述镜像刺激函数及所述准确率函数的加权和。
在一种可能的实现方式中,所述装置还包括:
网络训练模块,用于根据任务数据集对所述目标网络进行训练,得到训练后的目标网络。
在一种可能的实现方式中,所述任务数据集包括以下至少一种:用于分类任务的数据集以及用于图像识别任务的数据集。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行上述神经网络生成方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述神经网络生成方法。
在本公开实施例中,引入表征参考网络的拓扑结构的镜像刺激函数,通过从搜索空间中采样出适应于预设网类型的采样网络,将采样网络输入到包括镜像刺激函数的评价模型中以确定评价值,根据评价值生成目标网络,从而能够通过自动搜索得到高精度的神经网络。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的神经网络生成方法的流程图。
图2示出根据本公开实施例的神经网络生成方法的应用示例的示意图。
图3示出根据本公开实施例的神经网络生成装置的框图。
图4示出根据本公开实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开实施例的神经网络生成方法的流程图。该神经网络生成方法可应用于电子设备,例如服务器中。该方法包括:
在步骤S11中,根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多个采样网络;
在步骤S12中,将多个采样网络分别输入网络评价模型中处理,获得所述多个采样网络的网络评价值,其中,所述网络评价模型包括镜像刺激函数和/或准确率函数,所述镜像刺激函数用于表征预设的参考网络的拓扑结构,所述准确率函数用于表征所述采样网络的准确率;
在步骤S13中,根据多个采样网络的网络评价值,生成目标网络。
根据本公开实施例的神经网络生成方法,引入表征参考网络的拓扑结构的镜像刺激函数,通过从搜索空间中采样出适应于预设网类型的采样网络,将采样网络输入到包括镜像刺激函数的评价模型中以确定评价值,根据评价值生成目标网络,从而能够通过自动搜索得到高精度的神经网络。
在本公开的实施例中,可以预先设置有网络结构的搜索空间。该搜索空间中可包括卷积神经网络CNN的所有可能的操作(也可称为动作)。例如,深度卷积(内核尺寸为1×1、3×3、5×5等);最大值池化(内核尺寸3×3、5×5等);平均值池化(内核尺寸3×3、5×5等);身份(Identity);向两个输入层添加元素;连接两个输入层等操作。
在一种可能的实现方式中,可以以网络结构特征(也可以称为状态特征)的形式表示网络结构(网络层)。其中,每条网络结构特征用于表示一个网络层。搜索空间中可包括大量的网络结构特征,以便在自动搜索时搜索到符合要求的网络结构。
在一种可能的实现方式中,网络结构特征可表示为一个五维向量,前三个数字分别表示层索引、层类型和内核尺寸,后两个数字表示前继层的索引,如公式(1)所示:
网络结构特征=[层索引;层类型;内核尺寸;pred1;pred2] (1)
在公式(1)中,pred1和pred2分别表示两个前继层的索引。其中,对于任意一个网络层,可通过pred1和pred2来表示前一级的网络层(前继层)对该网络层的输入。如果该网络层没有前继层(该网络层为输入层),则pred1和pred2均设置为零;如果该网络层只有一个前继层,则后一个数字pred2设置为零;如果该网络层有三个及三个以上的前继层,则可以先对前继层的输出进行合并(拼接)处理,使得该网络层的输入数量小于或等于两个,从而能够通过pred1和pred2来索引前继层。
应当理解,本领域技术人员可以采用其他可能方式来表示网络结构特征,本公开对网络结构特征的具体表示方式不作限制。
在一种可能的实现方式中,在步骤S11中,可以先从搜索空间中采样出多个采样网络。其中,步骤S11可包括:
根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多条网络结构特征,其中,每条网络结构特征表示一个网络层;
根据所述多条网络结构特征的轨迹,分别构建多个块网络架构;
将所述多个块网络架构堆叠生成采样网络。
举例来说,可以预先设定自动搜索需要得到的网络类型,例如循环神经网络RNN等,以使得到的采样网络能够适用于一类或多类任务(例如图像识别任务、分类任务等)。根据该网络类型应当包括的各个网络层(例如卷积、池化、全连接等网络层),可从搜索空间中依次采样出适应于该网络类型的多条网络结构特征。其中,采样出的网络结构特征数量小于或等于预先设定的网络层的最大数量。
在一种可能的实现方式中,对于任意一个网络结构特征,当该网络结构特征处于搜索空间中时,其层索引及前继层索引pred1和pred2可均被置为零;当该网络结构特征被从搜索空间中采样出来时,可以根据在该网络结构特征之前采样出的网络结构特征,为层索引及前继层索引pred1和pred2赋值(或者可理解为,采样该网络结构特征的同时,选择层索引的值以及两个pred的值),从而能够根据该网络结构特征确定其对应的网络层(块网络架构)在采样网络中的位置以及与其他层的连接关系。
在一种可能的实现方式中,根据多条网络结构特征在搜索空间的轨迹,可分别构建多个块网络架构,并将多个块网络架构堆叠生成采样网络。应当理解,可以采用其他可能方式来生成采样网络,本公开对此不作限制。
通过这种方式,可以根据预设的网络类型自动搜索,依次生成多个采样网络。
在一种可能的实现方式中,将所述多个块网络架构堆叠生成采样网络的步骤可包括:
对所述多个块网络架构中没有后续网络层的块网络架构进行拼接处理,获得拼接后的块网络架构;
将所述拼接后的块网络架构确定为所述采样网络的输出层。
举例来说,在对多个块网络架构进行堆叠期间,根据网络结构特征中的前继层索引(pred1和pred2),可以确定各个块网络架构是否具有后续的网络层。其中,对于任意一个网络层(块网络架构),如果其它网络层的前继层索引中存在该网络层,则表示该网络层具有后续的网络层,也即该网络层不是输出层;反之,如果其它网络层的前继层索引中不存在该网络层,则表示该网络层没有后续的网络层,也即该网络层是输出层。
在一种可能的实现方式中,对于多个块网络架构中没有后续网络层的块网络架构,可将这些块网络架构进行拼接处理,获得拼接后的块网络架构;并将拼接后的块网络架构确定为采样网络的输出层。这样,可以生成完整的采样网络。
通过重复上述步骤,可以从搜索空间中采样出适应于所述网络类型的多个采样网络。
在一种可能的实现方式中,在步骤S12中,可将多个采样网络分别输入网络评价模型中处理,获得各个采样网络的网络评价值。其中,所述网络评价模型包括镜像刺激函数及准确率函数中的至少一种,所述镜像刺激函数用于表征预设的参考网络的拓扑结构,所述准确率函数用于表征所述采样网络的准确率。
举例来说,由于自动搜索得到的采样网络的拓扑结构可能比较复杂,针对目标任务的准确率不确定,因此可引入网络评价模型(奖励函数)以便对采样网络的质量进行评价,确定采样网络的网络评价值(奖励值)。
在一种可能的实现方式中,网络评价模型为所述镜像刺激函数及所述准确率函数的加权和。也就是说,R(m)可表示为:
R(m)=Faccuracy(m)+λFtopology(m) (2)
在公式(2)中,m可表示输入的采样网络,Faccuracy(m)可表示准确率函数(模型m对目标任务的准确率百分比),Ftopology(m)可表示镜像刺激函数,λ可表示平衡标量。其中,可采用相关技术的处理方式确定准确率函数,本公开对确定准确率函数的具体方式不作限制。
在一种可能的实现方式中,网络评价模型也可以仅包括镜像刺激函数或准确率函数,本公开对网络评价模型的具体表示形式不作限制。
在一种可能的实现方式中,在执行步骤S12之前,根据本公开实施例的方法还可包括:对所述参考网络进行逆向强化学习处理,获得所述参考网络的镜像刺激函数。
举例来说,针对给定的一类或多类任务,可能存在已经过验证的人工设计的神经网络,该网络在给定的任务范围内的实现效果较好(精度较高)。此类人工网络的拓扑结构通常较好,因此,可预先设定一个人工网络作为专家网络(参考网络),以便为采样网络提供拓扑知识先验。对该参考网络进行逆向强化学习处理,可获得参考网络m*的镜像刺激函数Ftopology(m*),表示为:
在公式(3)中,参考网络m*可表示为m*={(s* i,a* i)}i=1~N,N为大于1的整数;s* i可表示第i个状态;a* i可表示第i个动作;γ可表示折现标量;ω可表示权重参数;φ(s* i)可表示第i个状态s* i的状态特征函数。
其中,折现标量用于在强化学习中体现各个网络层的权重。可以随着网络层的层索引数的增大而调低该权重,例如,第1层的权重为1.5、第2层的权重为1.2、第3层的权重为0.9、……。本领域技术人员可以根据实际情况设定各个网络层的折现标量的数值,本公开对此不作限制。
其中,a* i表示第i个网络层的动作(例如卷积、池化、全连接等),s* i可理解为由于第i个网络层之前的第i-1个网络层的动作a* i-1而在第i个网络层中表现的状态。
在一种可能的实现方式中,可以采用特征匹配算法确定各个状态特征函数,进而确定镜像刺激函数。本公开对确定状态特征函数的具体方式不作限制。
在一种可能的实现方式中,采样网络m可表示为m={(st,at)}t=1~T,T可表示采样网络m总层数,T为大于1的整数;st可表示第t个状态;at可表示第t个动作。将采样网络m输入网络评价模型(奖励函数)中,可得到:
在公式(4)中,γ可表示折现标量;ω可表示权重参数;φ(st)可表示第t个状态st的状态特征函数。根据公式(4),可以得到采样网络m的一组奖励值(T个)。
通过这种方式,可以确定采样网络的网络评价值(奖励值),使得对采样网络的评价既受拓扑相似性的影响,又受搜索精度的影响,提高了网络评价值的准确性。
在一种可能的实现方式中,可在步骤S13中根据多个采样网络的网络评价值,生成目标网络。其中,步骤S13可包括:
根据多个采样网络的网络评价值,对Q值矩阵进行数值迭代更新,确定更新后的Q值矩阵;
根据更新后的Q值矩阵,生成目标网络。
举例来说,可预先设定的搜索到采样网络的最大层数M(M大于或等于T),并根据每层可能的操作类型的数量,建立Q值矩阵(Q值表,Q-value Table),Q值矩阵中每层具有多个Q值。可以对初始的Q值矩阵中的各个Q值赋以随机值或赋值为零。
在一种可能的实现方式中,可根据时差控制算法及预设的学习率α更新Q值矩阵中的各个Q值,使得Q值矩阵满足贝尔曼方程(Bellman Equation)所述的最优条件。其中,对于第j层的每个状态-动作对(sj,aj),可采用如下公式来更新Q值:
在公式(5)中,rj可表示当前状态sj观察到的中间奖励,rj=R(m)/T;γ可表示折现标量;sj+1可表示下一个状态;a′可表示状态sj+1对应的动作中的任一个,α可表示学习率。
在一种可能的实现方式中,通过多次执行公式(5)来迭代更新Q值,在Q值的取值收敛之后,可以得到最终的各个Q值。
根据公式(6),可使得Q(sj+1,a′)最大化,也即状态sj+1对应的所有动作中Q取最大值时的a′作为下一层动作aj+1。
通过这种方式,计算搜索到的多个采样网络的网络评价值,并根据多个网络评价值,采用Q学习算法对Q值矩阵中的Q值进行数值迭代更新,就可得到最终更新后的Q值矩阵,进而可根据更新后的Q值矩阵生成目标网络。
下面对生成目标网络的过程进行说明。
在一种可能的实现方式中,根据更新后的Q值矩阵,生成目标网络的步骤可包括:
依次确定所述更新后的Q值矩阵中每层的多个Q值中的最大值以及与所述最大值对应的目标网络层;
根据多个目标网络层,生成目标网络。
举例来说,对于更新后的Q值矩阵中各层的多个Q值,可以依次确定出各层的最大值并确定与最大值对应的操作。对于第k层(k=2~M-1),可通过比较确定出第k层的多个Q值中的最大值,如果该最大值对应的操作不是停止操作,则继续确定下一层(k+1层)的多个Q值中的最大值;反之,如果第k层的最大值对应的操作是停止操作,则停止确定最大值,仅保留之前k-1层确定出的k-1个最大值。
在一种可能的实现方式中,根据与每个最大值对应的操作(动作)(例如卷积、池化、全连接等),可分别确定与每个最大值对应的目标网络层(例如卷积层、池化层、全连接层等)。将多个目标网络层堆叠生成目标网络。该目标网络可以与前述的多个采样网络均不相同。
其中,将多个目标网络层堆叠生成目标网络的方式可以与前述生成采样网络的过程相同或相似,本公开对生成目标网络的具体方式不作限制。
通过这种方式,将镜像刺激函数的精度与输出值相结合的奖励用于Q值的更新,可通过迭代学习得到更精确更优化的网络结构,进而生成高精度的目标网络。
应当理解,上述根据网络评价值更新Q值矩阵,进而生成目标网络的方式是一种可能的示例,本领域技术人员可采用相关技术中其他可能的方式,基于网络评价值生成目标网络,本公开对此不作限制。
在一种可能的实现方式中,根据本公开实施例的方法还可包括:根据任务数据集对所述目标网络进行训练,得到训练后的目标网络。
举例来说,在得到目标网络后,可以采用任务数据集对目标网络进行训练,得到训练后的目标网络,以使目标网络能够适用于不同的任务。训练完成后,可以部署训练后的目标网络。
其中,训练采用的任务数据集可包括用于分类任务的数据集(例如IRLAS)以及用于图像识别任务的数据集(例如CIFAR-10)。应当了解,可以采用相关技术中的任意任务数据集,本公开对任务数据集的具体类型不作限制。
图2示出根据本公开实施例的神经网络生成方法的应用示例的示意图。如图2所示,根据人工设计的参考网络(专家网络,其网络结构可由网络结构特征表示),可通过逆向强化学习获得参考网络的镜像刺激函数Ftopology,该镜像刺激函数可表征参考网络的拓扑结构;对于从搜索空间中搜索得到的采样网络(其网络结构可由网络结构特征表示),可将该采样网络输入镜像刺激函数Ftopology,并结合准确率函数Faccuracy,得到采样网络的网络评价值(奖励值)。该采样网络的拓扑结构与参考网络的拓扑结构越相近,镜像刺激函数Ftopology的取值越高。这样,可使得对采样网络的评价既受拓扑相似性的影响,又受搜索精度的影响,提高了网络评价的准确性。
在该示例中,根据采样网络的网络评价值(奖励值),采用Q学习算法对Q值表(Q值矩阵)进行数值迭代更新,可得到更新后的Q值表。这样,计算搜索到的多个采样网络的网络评价值,计算并更新Q值表中的各个Q值,可得到最终更新后的Q值表,进而根据Q值表生成目标网络。
根据本公开实施例的神经网络生成方法,使用逆向强化学习生成镜像刺激函数,以利用人类已设计的网络结构作为拓扑知识先验,从而提高目标网络的精度。在手机活体分类、手机人脸比对、人脸识别等任务上,可以利用本公开实施例的方法在进行结构搜索以生成最优的网络结构,随后将生成的网络结构进行部署,从而获取满足要求的高精度的目标网络。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了神经网络确定装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种神经网络生成方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图3示出根据本公开实施例的神经网络生成装置的框图,如图3所示,所述装置包括:
采样网络获取模块31,用于根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多个采样网络;
评价值确定模块32,用于将多个采样网络分别输入网络评价模型中处理,获得所述多个采样网络的网络评价值,其中,所述网络评价模型包括镜像刺激函数和/或准确率函数,所述镜像刺激函数用于表征预设的参考网络的拓扑结构,所述准确率函数用于表征所述采样网络的准确率;
目标网络生成模块33,用于根据多个采样网络的网络评价值,生成目标网络。
在一种可能的实现方式中,所述目标网络生成模块33包括:
Q值更新子模块,用于根据多个采样网络的网络评价值,对Q值矩阵进行数值迭代更新,确定更新后的Q值矩阵;
目标网络生成子模块,用于根据更新后的Q值矩阵,生成目标网络。
在一种可能的实现方式中,所述装置还包括:
刺激函数获得模块,用于对所述参考网络进行逆向强化学习处理,获得所述参考网络的镜像刺激函数。
在一种可能的实现方式中,所述采样网络获取模块包括:
特征采样子模块,用于根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多条网络结构特征,其中,每条网络结构特征表示一个网络层;
架构构建子模块,用于根据所述多条网络结构特征的轨迹,分别构建多个块网络架构;
堆叠子模块,用于将所述多个块网络架构堆叠生成采样网络。
在一种可能的实现方式中,所述目标网络生成子模块用于:
依次确定所述更新后的Q值矩阵中每层的多个Q值中的最大值以及与所述最大值对应的目标网络层;
根据多个目标网络层,生成目标网络。
在一种可能的实现方式中,所述堆叠子模块用于:
对所述多个块网络架构中没有后续网络层的块网络架构进行拼接处理,获得拼接后的块网络架构;
将所述拼接后的块网络架构确定为所述采样网络的输出层。
在一种可能的实现方式中,所述网络评价模型为所述镜像刺激函数及所述准确率函数的加权和。
在一种可能的实现方式中,所述装置还包括:
网络训练模块,用于根据任务数据集对所述目标网络进行训练,得到训练后的目标网络。
在一种可能的实现方式中,所述任务数据集包括以下至少一种:用于分类任务的数据集以及用于图像识别任务的数据集。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图4是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图4,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (20)
1.一种神经网络生成方法,其特征在于,所述方法包括:
根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多个采样网络;
将多个采样网络分别输入网络评价模型中处理,获得所述多个采样网络的网络评价值,其中,所述网络评价模型包括镜像刺激函数和/或准确率函数,所述镜像刺激函数用于表征预设的参考网络的拓扑结构,所述准确率函数用于表征所述采样网络的准确率;
根据多个采样网络的网络评价值,生成目标网络;
基于所述目标网络对图像任务进行分类或识别中的至少一项处理。
2.根据权利要求1所述的方法,其特征在于,根据多个采样网络的网络评价值,生成目标网络,包括:
根据多个采样网络的网络评价值,对Q值矩阵进行数值迭代更新,确定更新后的Q值矩阵;
根据更新后的Q值矩阵,生成目标网络。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述参考网络进行逆向强化学习处理,获得所述参考网络的镜像刺激函数。
4.根据权利要求1所述的方法,其特征在于,根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多个采样网络,包括:
根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多条网络结构特征,其中,每条网络结构特征表示一个网络层;
根据所述多条网络结构特征的轨迹,分别构建多个块网络架构;
将所述多个块网络架构堆叠生成采样网络。
5.根据权利要求2所述的方法,其特征在于,根据更新后的Q值矩阵,生成目标网络,包括:
依次确定所述更新后的Q值矩阵中每层的多个Q值中的最大值以及与所述最大值对应的目标网络层;
根据多个目标网络层,生成目标网络。
6.根据权利要求4所述的方法,其特征在于,将所述多个块网络架构堆叠生成采样网络,包括:
对所述多个块网络架构中没有后续网络层的块网络架构进行拼接处理,获得拼接后的块网络架构;
将所述拼接后的块网络架构确定为所述采样网络的输出层。
7.根据权利要求1所述的方法,其特征在于,所述网络评价模型为所述镜像刺激函数及所述准确率函数的加权和。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
根据任务数据集对所述目标网络进行训练,得到训练后的目标网络。
9.根据权利要求8所述的方法,其特征在于,所述任务数据集包括以下至少一种:用于分类任务的数据集以及用于图像识别任务的数据集。
10.一种神经网络生成装置,其特征在于,包括:
采样网络获取模块,用于根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多个采样网络;
评价值确定模块,用于将多个采样网络分别输入网络评价模型中处理,获得所述多个采样网络的网络评价值,其中,所述网络评价模型包括镜像刺激函数和/或准确率函数,所述镜像刺激函数用于表征预设的参考网络的拓扑结构,所述准确率函数用于表征所述采样网络的准确率;
目标网络生成模块,用于根据多个采样网络的网络评价值,生成目标网络,基于所述目标网络对图像任务进行分类或识别中的至少一项处理。
11.根据权利要求10所述的装置,其特征在于,所述目标网络生成模块包括:
Q值更新子模块,用于根据多个采样网络的网络评价值,对Q值矩阵进行数值迭代更新,确定更新后的Q值矩阵;
目标网络生成子模块,用于根据更新后的Q值矩阵,生成目标网络。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
刺激函数获得模块,用于对所述参考网络进行逆向强化学习处理,获得所述参考网络的镜像刺激函数。
13.根据权利要求10所述的装置,其特征在于,所述采样网络获取模块包括:
特征采样子模块,用于根据预设的网络类型,从搜索空间中采样出适应于所述网络类型的多条网络结构特征,其中,每条网络结构特征表示一个网络层;
架构构建子模块,用于根据所述多条网络结构特征的轨迹,分别构建多个块网络架构;
堆叠子模块,用于将所述多个块网络架构堆叠生成采样网络。
14.根据权利要求11所述的装置,其特征在于,所述目标网络生成子模块用于:
依次确定所述更新后的Q值矩阵中每层的多个Q值中的最大值以及与所述最大值对应的目标网络层;
根据多个目标网络层,生成目标网络。
15.根据权利要求13所述的装置,其特征在于,所述堆叠子模块用于:
对所述多个块网络架构中没有后续网络层的块网络架构进行拼接处理,获得拼接后的块网络架构;
将所述拼接后的块网络架构确定为所述采样网络的输出层。
16.根据权利要求10所述的装置,其特征在于,所述网络评价模型为所述镜像刺激函数及所述准确率函数的加权和。
17.根据权利要求10-16中任一项所述的装置,其特征在于,所述装置还包括:
网络训练模块,用于根据任务数据集对所述目标网络进行训练,得到训练后的目标网络。
18.根据权利要求17所述的装置,其特征在于,所述任务数据集包括以下至少一种:用于分类任务的数据集以及用于图像识别任务的数据集。
19.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行权利要求1至9中任意一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811352205.0A CN109598332B (zh) | 2018-11-14 | 2018-11-14 | 神经网络生成方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811352205.0A CN109598332B (zh) | 2018-11-14 | 2018-11-14 | 神经网络生成方法及装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109598332A CN109598332A (zh) | 2019-04-09 |
CN109598332B true CN109598332B (zh) | 2021-04-09 |
Family
ID=65958274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811352205.0A Active CN109598332B (zh) | 2018-11-14 | 2018-11-14 | 神经网络生成方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109598332B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210613B (zh) * | 2019-05-23 | 2021-04-20 | 华中科技大学 | 一种基于强化学习的脉冲神经网络模拟电路 |
CN110210609A (zh) * | 2019-06-12 | 2019-09-06 | 北京百度网讯科技有限公司 | 基于神经框架搜索的模型训练方法、装置以及终端 |
CN110378346B (zh) * | 2019-06-14 | 2021-12-24 | 北京百度网讯科技有限公司 | 建立文字识别模型的方法、装置、设备和计算机存储介质 |
CN110378464B (zh) * | 2019-06-27 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 人工智能平台的配置参数的管理方法和装置 |
WO2021007743A1 (zh) * | 2019-07-15 | 2021-01-21 | 富士通株式会社 | 搜索神经网络架构的方法和装置 |
CN110675361B (zh) * | 2019-08-16 | 2022-03-25 | 北京百度网讯科技有限公司 | 建立视频检测模型以及视频检测的方法、装置 |
CN110598763A (zh) * | 2019-08-27 | 2019-12-20 | 南京云计趟信息技术有限公司 | 一种图像识别方法、装置及终端设备 |
CN110633797B (zh) * | 2019-09-11 | 2022-12-02 | 北京百度网讯科技有限公司 | 网络模型结构的搜索方法、装置以及电子设备 |
EP4030347A4 (en) * | 2019-09-24 | 2022-11-16 | Huawei Technologies Co., Ltd. | METHOD AND DEVICE FOR CONSTRUCTING NEURONAL NETWORK, AND METHOD AND DEVICE FOR IMAGE PROCESSING |
CN110659690B (zh) * | 2019-09-25 | 2022-04-05 | 深圳市商汤科技有限公司 | 神经网络的构建方法及装置、电子设备和存储介质 |
CN110728359B (zh) * | 2019-10-10 | 2022-04-26 | 北京百度网讯科技有限公司 | 搜索模型结构的方法、装置、设备和存储介质 |
CN110929867B (zh) * | 2019-10-29 | 2023-12-12 | 北京小米移动软件有限公司 | 神经网络结构的评估、确定方法、装置和存储介质 |
CN110826696B (zh) * | 2019-10-30 | 2023-06-27 | 北京百度网讯科技有限公司 | 超网络的搜索空间构建方法、装置以及电子设备 |
CN111026548B (zh) * | 2019-11-28 | 2023-05-09 | 国网甘肃省电力公司电力科学研究院 | 一种逆向深度强化学习的电力通信设备测试资源调度方法 |
CN111340221B (zh) * | 2020-02-25 | 2023-09-12 | 北京百度网讯科技有限公司 | 神经网络结构的采样方法和装置 |
CN112101525A (zh) * | 2020-09-08 | 2020-12-18 | 南方科技大学 | 一种通过nas设计神经网络的方法、装置和系统 |
CN112990436B (zh) * | 2021-03-23 | 2024-08-27 | 联想(北京)有限公司 | 一种神经网络架构选择方法、装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104620236A (zh) * | 2012-03-15 | 2015-05-13 | 美国高通技术公司 | 用于神经网络的基于标记的装置和方法 |
CN108229647A (zh) * | 2017-08-18 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络结构的生成方法和装置、电子设备、存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213B (zh) * | 2015-04-06 | 2022-03-29 | 渊慧科技有限公司 | 使用目标和观察来选择强化学习动作 |
WO2017019555A1 (en) * | 2015-07-24 | 2017-02-02 | Google Inc. | Continuous control with deep reinforcement learning |
EP3295384B1 (en) * | 2015-09-11 | 2020-12-23 | DeepMind Technologies Limited | Training reinforcement learning neural networks |
US11288568B2 (en) * | 2016-02-09 | 2022-03-29 | Google Llc | Reinforcement learning using advantage estimates |
-
2018
- 2018-11-14 CN CN201811352205.0A patent/CN109598332B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104620236A (zh) * | 2012-03-15 | 2015-05-13 | 美国高通技术公司 | 用于神经网络的基于标记的装置和方法 |
CN108229647A (zh) * | 2017-08-18 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络结构的生成方法和装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109598332A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109598332B (zh) | 神经网络生成方法及装置、电子设备和存储介质 | |
CN110366734B (zh) | 优化神经网络架构 | |
CN109034219B (zh) | 图像的多标签类别预测方法及装置、电子设备和存储介质 | |
CN110807515A (zh) | 模型生成方法和装置 | |
US11151324B2 (en) | Generating completed responses via primal networks trained with dual networks | |
CN108090218B (zh) | 基于深度强化学习的对话系统生成方法和装置 | |
CN113128419B (zh) | 一种障碍物识别方法和装置、电子设备及存储介质 | |
JP6712644B2 (ja) | 音響モデル学習装置、その方法、及びプログラム | |
US20230359899A1 (en) | Transfer learning based on cross-domain homophily influences | |
CN111079780A (zh) | 空间图卷积网络的训练方法、电子设备及存储介质 | |
CN110019849B (zh) | 一种基于注意力机制的视频关注时刻检索方法及装置 | |
US11281867B2 (en) | Performing multi-objective tasks via primal networks trained with dual networks | |
CN111967591B (zh) | 神经网络自动剪枝方法、装置及电子设备 | |
CN111767833A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
CN117350360A (zh) | 大模型的微调方法、装置、电子设备和存储介质 | |
CN116386674A (zh) | 语音情感识别方法、装置、电子设备和存储介质 | |
CN114969512A (zh) | 对象推荐方法、装置、电子设备 | |
CN110782016A (zh) | 用于优化神经网络架构搜索的方法和装置 | |
CN110728359B (zh) | 搜索模型结构的方法、装置、设备和存储介质 | |
CN112686381A (zh) | 神经网络模型、方法、电子设备及可读介质 | |
CN116341634B (zh) | 神经结构搜索模型的训练方法、装置及电子设备 | |
CN111507218A (zh) | 语音与人脸图像的匹配方法、装置、存储介质及电子设备 | |
CN111797220A (zh) | 对话生成方法、装置、计算机设备和存储介质 | |
CN111783936A (zh) | 卷积神经网络构建方法、装置、设备及介质 | |
CN111523639B (zh) | 用于训练超网络的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |