技术领域
[0001] 本说明书实施例涉及深度学习技术领域,特别涉及深度学习网络结构的生成方法。
相关背景技术
[0002] 深度学习在视觉智能中占据重要地位,深度学习的效果与神经网络结构密切相关,而卷积神经网络又是处理视觉智能场景下的重要神经网络结构。基于卷积神经网络的视觉智能效果的好坏与神经网络结构密切相关。当前流行的卷积神经网络结构以技术人员的个人经验结合不同的业务场景进行设置为主,这种设置网络结构的方式比较依赖于个人,而且个人经验也难免会出现差错,导致针对目标业务场景设计的神经网络结构性能过胜或者无法达到目标业务场景的使用需求,性能过生会造成硬件成本的提升,无法达到目标业务场景的使用需求会使得用户的体检较差。因此,亟需一种更加准确的为目标业务场景设计神经网络结构的方式。
具体实施方式
[0036] 在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0037] 在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0038] 应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0039] 首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0040] CNN:Convolutional neural network,卷积神经网络。
[0041] 神经网络结构设计:在本说明书提供的实施例中,指基于深度学习的CNN神经网络结构的优化设计。
[0042] 卷积结构长宽比:本说明书提供的实施例中提出的一种深度学习网络结构的深度与宽度的比值方式。
[0043] 随着深度学习技术的快速发展,越来越多的基于深度学习的视觉智能业务被广泛应用在许多场景,为用户带来多样化的体验,而基于深度学习的视觉智能效果的好坏与神经网络结构密切相关,而不同的业务场景下需要的神经网络结构也各不相同,基于此,亟需提供一种神经网络结构的生成方法,可以适用于多样的业务场景,为每种业务场景生成对应的神经网络结构。
[0044] 基于此,在本说明书中,提供了深度学习网络结构的生成方法,本说明书同时涉及深度学习网络结构的生成装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
[0045] 参见图1,图1示出了本说明书一实施例提供的深度学习网络结构的生成方法的示意图,如图1所示,如图1所示,本说明书实施例提供的深度学习网络结构的生成方法应用于终端100中,该终端100可以是笔记本电脑、智能终端、服务器、云服务器等终端设备。
[0046] 在终端100中,先确定一个初始深度学习网络结构,再通过调整初始深度学习网络结构中的超参数生成每次调整后的深度学习网络结构,将调整后的深度学习网络结构和初始深度学习网络结构作为多个扩增深度学习网络结构,扩增深度学习网络结构做为后续确定目标网络结构的数据基础。
[0047] 再获得多个扩增深度学习网络结构后,根据与目标业务相对应的业务需求信息(业务需求信息中包括深度学习网络结构参数阈值,深度学习网络结构参数阈值包括深度学习网络结构长宽比阈值)对多个扩增深度学习网络结构进行筛选,在实际应用中,业务需求信息中,除了深度学习网络结构长宽比阈值外,还可以包括深度学习网络参数阈值、深度学习网络计算量阈值等等。在对深度学习网络结构的设计中,发现深度学习网络结构的长宽比对于深度学习网络性能的发挥有重要的作用,每种业务场景下不同的深度学习网络结构的长宽比会为深度学习网络模型带来不同的网络性能。在本说明书提供的实施例中,规定的深度学习网络结构的长宽比,将深度学习网络结构的长宽比指作为筛选深度学习网络结构的指标,为生成深度学习网络结构提供了新的参考指标。
[0048] 使用业务需求信息对扩增深度学习网络结构进行筛选后,获得多个待筛选深度学习网络结构,再通过网络结构评分方法为每个待筛选深度学习网络结构进行评分,选取评分较高的网络结构为参考深度学习网络结构。
[0049] 将该参考深度学习网络结构作为新的初始深度学习网络结构,并继续执行上述扩增、筛选、评分、确定新参考深度学习网络结构的方式进行迭代,直到参考深度学习网络结构满足预设的网络生成条件,即迭代过程直至网络结构不再发生变化。至此,可以获得与目标业务相对应的目标深度学习网络结构。后续可以使用该目标深度学习网络结构为目标业务训练相应的深度学习网络模型。
[0050] 在实际应用中,优选的深度学习网络为卷积神经网络,相应的,深度学习网络结构长宽比阈值即为卷积结构长宽比阈值,深度学习网络参数阈值为卷积参数阈值,深度学习网络计算量阈值为卷积计算量阈值。
[0051] 参见图2,图2示出了根据本说明书一个实施例提供的一种深度学习网络结构的生成方法的流程图,具体包括以下步骤。
[0052] 步骤202:获取初始深度学习网络结构和目标业务对应的业务需求信息,其中,所述业务需求信息包括深度学习网络结构参数阈值。
[0053] 其中,初始深度学习网络结构具体是指用于后续进行扩增的网络结构的基础,例如后续对网络结构进行扩增时,是基于深度学习网络结构A进行扩增的,则深度学习网络结构A即为初始深度学习网络结构。在实际应用中,深度学习网络结构可以是任何网络结构,如卷积网络结构、残差网络结构、循环神经网络结构、全连接网络结构等等。
[0054] 目标业务具体是指在实际应用中的不同业务,例如图像识别业务、图像分割业务,目标追踪业务等等,业务需求信息具体是指与每个目标业务能为目标业务提供的资源预算,这里的资源预算包括网络参数值、计算量的值、资源值、深度学习网络结构长宽比阈值等等。换句话说,业务需求信息规定的目标业务对应的深度学习网络结构的处理上限。例如,在实际业务场景下,可以为深度学习网络结构提供的内存预算是2G,计算量为100,深度学习网络结构长宽比阈值为3。那在后续为该目标业务提供的深度学习网络结构时,要保证深度学习网络结构的内存占用空间在2G之内,计算量在100以内,深度学习网络结构长宽比要小于等于3等等。
[0055] 在本说明书提供的具体实施方式中,规定的深度学习网络结构的长宽比,以卷积网络结构为例,在卷积网络结构中,卷积网络结构的长宽比是根据卷积网络层数、卷积核大小和卷积通道数确定,不同的卷积网络层数、卷积核大小和卷积通道数会对应的不同的卷积结构的长宽比。基于卷积结构的长宽比可以对卷积网络结构进行筛选。
[0056] 其中,获取目标业务对应的业务需求信息,包括:
[0057] 接收针对目标业务的预算指令,其中,所述预算指令中携带有深度学习网络结构参数条件;
[0058] 解析所述深度学习网络结构参数条件,获得所述目标业务对应的深度学习网络结构参数阈值。
[0059] 在实际应用中,业务需求信息是技术人员根据目标业务的实际情况进行设置的,更近一步的,技术人员会向终端发送针对目标业务的预算指令,在该预算指令中会携带有预先设置好的深度学习网络结构参数条件,具体的,深度学习网络结构参数条件包括深度学习网络结构长宽比阈值,除此之外,还可以包括深度学习网络参数阈值、深度学习网络计算量阈值等等。
[0060] 终端在接收到预算指令后,通过解析该预算指令中的深度学习网络结构参数条件,可以获取到目标业务对应的深度学习网络结构参数阈值。依然以卷积网络结构为例,深度学习网络结构参数条件包括卷积网络结构长宽比阈值、卷积网络参数阈值和卷积网络计算量阈值,其中,所述卷积网络结构长宽比根据卷积网络层数、卷积核大小和卷积通道数确定。
[0061] 在本说明书提供的一具体实施方式中,以目标业务为图像识别业务为例,获取初始深度学习网络结构a,以及技术人员为图像识别业务分配的业务需求信息,在业务需求信息中规定的深度学习网络结构长宽比阈值为2。
[0062] 步骤204:基于所述初始深度学习网络结构生成多个扩增深度学习网络结构。
[0063] 其中,扩增深度学习网络结构可以理解为是基于初始深度学习网络结构生成的深度学习网络结构,在实际应用中,多个扩增深度学习网络结构中是包括初始深度学习网络结构的。
[0064] 更进一步的,在实际应用中,初始深度学习网络结构包括有多个参数,对不同的参数进行不同的调整,就会生成不同新深度学习网络结构,每调整一次网络结构的参数,深度学习网络结构处理目标业务的能力就会有不同,本说明书提供的方法,需要在多个扩增深度学习网络结构中选择较好的网络结构来进行后续的模型训练过程。
[0065] 决定深度学习网络结构的参数中比较重要的参数是模型的超参数,超参数是指深度学习网络结构中预先设置的参数,而不是通过模型训练进行调整的参数,超参数用于定义模型的更高层的概念,可以设置不同的超参数的值获得不同的网络结构。基于此,基于所述初始深度学习网络结构生成多个扩增深度学习网络结构,包括:
[0066] 调整所述初始深度学习网络结构中的超参数,其中,所述超参数包括卷积通道数、卷积核大小、卷积网络层数中的至少一项;
[0067] 生成每次调整后对应的扩增深度学习网络结构。
[0068] 具体的,由于可以通过调整深度学习网络结构的超参数,从而生成不同的深度学习网络结构,为了获取数量更多的深度学习网络结构,为后续选取效果更好的结构提供数据基础,在本说明书提供的方法中,可以对初始深度学习网络结构中的超参数进行相应的调整,具体的,超参数可以包括深度学习网络通道数、深度学习网络层数等等。
[0069] 以初始深度学习网络结构a为卷积神经网络结构为例,卷积网络结构a的卷积通道数为3、卷积核大小为1*1,卷积网络层数为4层。在初始深度学习网络结构a的基础上,将卷积通道数调整为5,可以获得调整后的卷积网络结构a1,a1的卷积通道数据为5,其他超参数与a相同;在初始深度学习网络结构a的基础上,将卷积核大小调整为3*3,可以获得调整后的卷积网络结构a2,a2的卷积核大小为3*3,其他超参数与a相同;在初始深度学习网络结构a的基础上,将卷积网络层数调整为5层,可以获得调整后的卷积网络结构a3,a3的卷积网络层数为5,其他超参数与a相同。至此,可以获得4个扩增卷积网络结构,分别为扩增卷积网络结构a、a1、a2和a3。在实际应用中,还可以将至少两个超参数联合进行调整,例如将卷积网络结构中的卷积通道数和卷积核大小同时进行调整,将卷积通道数和卷积网络层数同时进行调整,或者将卷积通道数、卷积核大小和卷积网络层数同时进行调整等等。
[0070] 需要注意的是,为了保证扩增深度学习网络结构的随机性和广泛性,在实际应用中,可以对初始深度学习网络结构中的超参数进行随机调整,基于此,可以获得数量较多的扩增深度学习网络结构。从而为后续进行筛选提供了较为庞大的数据基础。
[0071] 步骤206:根据所述业务需求信息在所述多个扩增深度学习网络结构中确定待筛选深度学习网络结构集合,并在所述待筛选深度学习网络结构集合中确定参考深度学习网络结构。
[0072] 在确定了业务需求信息和多个扩增深度学习网络结构后,即可根据业务需求信息在多个扩增深度学习网络结构中进行筛选,将符合业务需求信息的扩增深度学习网络结构做为待筛选深度学习网络结构集合,其中,待筛选深度学习网络结构集合可以看做是满足业务需求信息的深度学习网络结构的集合。
[0073] 具体的,根据所述业务需求信息在所述多个扩增深度学习网络结构中确定待筛选深度学习网络结构集合,包括:
[0074] 获取目标扩增深度学习网络结构的目标网络结构参数;
[0075] 在所述目标网络结构参数满足所述业务需求信息的情况下,将所述目标扩增深度学习网络结构添加至待筛选深度学习网络结构集合。
[0076] 在本说明书提供的实施例中,依然以卷积神经网络为例,获取目标扩增深度学习网络结构的目标网络结构参数,包括:
[0077] 获取目标扩增深度学习网络结构的目标卷积网络层数、目标卷积核大小、目标卷积通道数、目标卷积参数和目标卷积计算量。
[0078] 在上述步骤中,已经得知业务需求信息中是用于筛选深度学习网络结构的条件,相应的,需要根据业务需求信息所需的条件获取扩增深度学习网络结构中的网络结构参数,例如业务需求信息中需要用到卷积网络层数、卷积核大小、卷积通道数、卷积参数、卷积计算量等参数信息,则需要获取扩增深度学习网络结构中的这些参数信息。
[0079] 具体的,目标扩增深度学习网络结构可以理解为从多个扩增深度学习网络结构中选中的一个网络结构,该目标扩增深度学习网络结构是与业务需求信息进行比对的网络结构。
[0080] 在确定了目标扩增深度学习网络结构之后,即可获取该目标扩增深度学习网络结构的目标网络结构参数,更进一步的,是获取目标扩增深度学习网络结构中的目标卷积网络层数、目标卷积核大小、目标卷积通道数、目标卷积参数和目标卷积计算量,并基于这些目标网络结构参数来判断目标扩增深度学习网络结构是否满足业务需求信息,若满足,则将目标扩增深度学习网络结构添加至待筛选深度学习网络结构集合,若不满足,则将目标扩增深度学习网络结构舍弃。
[0081] 进一步的,在获取目标扩增深度学习网络结构的目标网络结构参数之后,所述方法还包括:
[0082] 根据所述目标卷积网络层数、所述目标卷积核大小和所述目标卷积通道数确定所述目标扩增深度学习网络结构的目标卷积结构长宽比;
[0083] 在所述目标卷积结构长宽比小于等于所述卷积结构长宽比阈值、所述目标卷积参数小于等于所述卷积参数阈值且所述目标卷积计算量小于等于所述卷积计算量阈值的情况下,确定所述目标网络结构参数满足所述业务需求信息。
[0084] 在上述步骤中已经确定,业务需求信息中携带有卷积结构长宽比阈值,根据该卷积结构长宽比阈值可以对目标扩增深度学习网络结构进行筛选,而卷积结构的长宽比是根据卷积网络层数、卷积核大小和卷积通道数确定的,所以可以在获取到的目标网络结构参数中,根据目标卷积网络层数、目标卷积核大小和目标卷积通道数确定目标扩增深度学习网络结构的目标卷积结构长宽比。
[0085] 具体的,根据所述目标卷积网络层数、所述目标卷积核大小和所述目标卷积通道数确定所述目标扩增深度学习网络结构的目标卷积结构长宽比,包括:
[0086] 根据所述目标卷积网络层数确定所述目标扩增深度学习网络结构的卷积结构长度值;
[0087] 根据所述目标卷积核大小和所述目标卷积通道数确定所述目标扩增深度学习网络结构的卷积结构宽度值;
[0088] 根据所述卷积结构长度值和所述卷积结构宽度值确定所述目标卷积结构长宽比。
[0089] 在本说明书提供的实施例中,以卷积网络结构为例,将卷积网络结构抽象成了有长和宽的结构体,并规定了根据目标卷积网络层数确定该目标扩增卷积网络结构的卷积结构长度值;根据目标卷积核大小和所述目标卷积通道数确定所述目标扩增卷积网络结构的卷积结构宽度值。
[0090] 卷积结构长度值的计算方式参见下述公式1:
[0091]
[0092] 其中,Lj表示第j个阶段模块深度,n表示当前网络结构阶段数。
[0093] 卷积结构宽度值的计算方式参见下述公式2:
[0094]
[0095] 其中,Ci表示第i个卷积网络层的卷积通道数, 表示第i个卷积网络层的卷积核大小。
[0096] 在确定了卷积结构长度值和卷积结构宽度值之后,可以根据两者之间的比值,确定卷积结构长宽比,并将卷积结构长宽比与业务需求信息中的卷积结构长宽比阈值进行比对,若卷积结构长宽比小于或等于卷积结构长宽比阈值,则说明该目标扩增卷积网络结构满足业务需求信息中关于卷积结构长宽比阈值的限定。
[0097] 具体的,将目标扩增卷积网络结构的目标网络结构参数与业务需求信息的比对可以参见下述公式3‑1至公式3‑3:
[0098]
[0099] size of params≤budgetparams 公式3‑2
[0100] size of FLOPs≤budgetFLOPs 公式3‑3
[0101] 其中,公式3‑1至公式3‑3为并列关系,目标扩增卷积网络结构的目标网络结构参数需要同时满足公式3‑1至公式3‑3。具体的,Lj表示第j个阶段模块深度,n表示当前网络结构阶段数,N表示网络结构总阶段数,Ci表示第i个卷积网络层的卷积通道数, 表示第i个卷积网络层的卷积核大小,ρh表示卷积结构长宽比阈值,size of params为目标扩增卷积网络结构中卷积操作的参数量,budgetparams为业务需求信息中的卷积操作的参数量阈值,size of FLOPs为目标扩增卷积网络结构中卷积操作的计算量,budgetFLOPs为业务需求信息中的卷积操作的计算量阈值,如公式3所示,在所述目标卷积结构长宽比小于等于所述卷积结构长宽比阈值、所述目标卷积参数小于等于所述卷积参数阈值且所述目标卷积计算量小于等于所述卷积计算量阈值的情况下,可以确定所述目标网络结构参数满足所述业务需求信息,并将所述目标扩增卷积网络结构添加至待筛选卷积网络结构集合。
[0102] 在本说明书提供的一具体实施方式中,以扩增卷积网络结构为(a、a1、a2、a3、a4……a20)为例,在分别与业务需求信息进行比对之后,将符合业务需求信息的卷积网络结构添加至待筛选卷积网络结构集合,基于此,可以获得待筛选卷积网络结构集合(a、a1、a3、a4、a7、a9、a13、a15、a17、a20)。待筛选卷积网络结构集合中的卷积网络结构均为符合业务需求信息的卷积网络结构。
[0103] 在获得待筛选深度学习网络结构集合之后,还需要在所述待筛选深度学习网络结构集合中确定参考深度学习网络结构,具体包括:
[0104] 为所述待筛选深度学习网络结构集合中的每个待筛选深度学习网络结构进行评分;
[0105] 将评分最高的待筛选深度学习网络结构作为参考深度学习网络结构。
[0106] 由于待筛选网络结构集合中均为符合业务需求信息的深度学习网络结构,因此,需要在中选取性能较好的待筛选深度学习网络结构来再次进行迭代筛选。具体的,需要对每个待筛选深度学习网络结构进行评分,在本说明书提供的实施方式中,优选的,基于最大熵方法进行评分,具体的,参见下述公式4:
[0107]
[0108] 其中, 表示第n个阶段输出特征图像的高度, 表示第n个阶段输出特征图像的宽度, 表示第n个阶段输出特征图像的通道数,α1、α2、ωn表示网络结构超参数,En是第n个阶段的评分, 是N个阶段的加权平均分,即待筛选深度学习网络结构的总评分。
[0109] 在计算每个待筛选深度学习网络结构的评分之后,选取评分最高的一个待筛选深度学习网络结构为参考深度学习网络结构,参考深度学习网络结构具体是指用于进行后续处理的深度学习网络结构。
[0110] 在本说明书提供的实施方式中,沿用上例,待筛选深度学习网络结构集合为(a、a1、a3、a4、a7、a9、a13、a15、a17、a20),对每个待筛选网络结构进行评分之后,按照评分从高到低的顺序进行排序,获得的网络结构集合为(a17、a13、a9、a15、a1、a4、a3、a7、a20、a),即a17的评分最高,则a17即为参考深度学习网络结构。
[0111] 步骤208:基于所述参考深度学习网络结构和预设网络生成条件,生成所述目标业务对应的目标深度学习网络结构。
[0112] 在确定了参考深度学习网络结构之后,即可将参考深度学习网络结构和预设网络生成条件进行比对,若该参考深度学习网络结构满足预设的网络生成条件,则可以选取该参考深度学习网络结构为最终的目标深度学习网络结构,否则,继续根据该参考深度学习网络结构进行迭代优化处理。
[0113] 在本说明书提供的具体实施方式中,在获取了参考深度学习网络结构之后,还需要判断该参考深度学习网络结构是否满足预设的网络生成条件,具体的,在所述待筛选深度学习网络结构集合中确定参考深度学习网络结构之后,所述方法还包括:
[0114] 统计所述参考深度学习网络结构的连续迭代命中次数;
[0115] 在所述连续迭代命中次数达到预设阈值的情况下,确定所述参考深度学习网络结构满足预设网络生成条件。
[0116] 其中,连续迭代命中次数具体是指统计参考深度学习网络结构是否是在多次迭代优化中均被选中为参考深度学习网络结构,例如,初始深度学习网络结构为a,经过第一次迭代优化后,确定了深度学习网络结构b,基于b经过第二次迭代优化后,确定了深度学习网络结构c,基于c经过第三次迭代优化,确定了深度学习网络结构d,基于d经过第四次迭代优化,确定的是深度学习网络结构d,再基于d经过第五次迭代优化,确定的依旧是深度学习网络结构d,此时深度学习网络结构d的连续迭代命中次数就为三次。
[0117] 若预设阈值为3次的情况下,可以确定深度学习网络结构d满足了预设网络生成条件,在之前的深度学习网络结构b、c均为未满足预设网络生成条件。
[0118] 进一步的,基于所述参考深度学习网络结构和预设网络生成条件,生成所述目标业务对应的目标深度学习网络结构,包括:
[0119] S2082:在所述参考深度学习网络结构不满足预设网络生成条件的情况下,在所述待筛选深度学习网络结构集合中选取至少一个待处理深度学习网络结构,并将每个待处理深度学习网络结构作为初始深度学习网络结构,并继续执行生成多个扩增深度学习网络结构的操作。
[0120] 如果参考深度学习网络结构不满足预设网络生成条件,则需要再次进行迭代优化处理,具体的,在待筛选深度学习网络结构集合中选取至少一个待处理深度学习网络结构,例如选取评分从高到低排列后的前20个待筛选深度学习网络结构作为待处理深度学习网络结构,将每个待处理深度学习网络结构都作为初始深度学习网络结构,并继续执行生成多个扩增深度学习网络结构、根据业务需求信息在多个扩增深度学习网络结构中确定待筛选深度学习网络结构集合、在所述待筛选深度学习网络结构集合中确定参考深度学习网络结构、判断参考卷积网络集合是否满足预设网络生成条件的操作处理。
[0121] 在本说明书提供的一具体实施方式中,沿用上例,初始深度学习网络结构为a,经过第一次迭代优化后,确定了深度学习网络结构b,此时深度学习网络结构b不满足预设网络生成条件,则将深度学习网络结构b、深度学习网络结构b1、深度学习网络结构b2、深度学习网络结构b3、深度学习网络结构b4作为待处理深度学习网络结构,其中,b1、b2、b3、b4为评分前5位的深度学习网络结构。将每个待处理深度学习网络结构作为初始深度学习网络结构,并随机变更深度学习网络结构b、b1、b2、b3、b4中的超参数,生成深度学习网络结构b、b1、b2、b3、b4对应的多个扩增深度学习网络结构。再根据业务需求信息在多个扩增深度学习网络结构中确定新的待筛选深度学习网络结构集合,在新的待筛选深度学习网络结构集合中确定参考深度学习网络结构c。再次判断c是否满足预设网络生成条件。
[0122] S2084:在所述参考深度学习网络结构满足预设网络生成条件的情况下,确定所述参考深度学习网络结构为所述目标业务对应的目标深度学习网络结构。
[0123] 如果参考深度学习网络结构满足预设网络生成条件,即参考深度学习网络结构在多次迭代优化后趋于稳定,则可以确定该参考深度学习网络结构为较为稳定的深度学习网络结构,符合预设网络生成条件,进而可以将该参考深度学习网络结构作为目标业务对应的目标深度学习网络结构。
[0124] 在本说明书提供的一具体实施方式中,沿用上例,在连续三次迭代优化中,都是深度学习网络结构d,说明此时的深度学习网络结构d已经稳定,可以作为目标业务对应的目标深度学习网络结构。
[0125] 在确定目标深度学习网络结构之后,即可基于该目标深度学习网络结构为目标业务训练对应的目标业务深度学习网络模型,在本说明书提供的实施例中,所述方法还包括:
[0126] 基于所述目标深度学习网络结构为所述目标业务训练目标业务深度学习网络模型。
[0127] 具体的,获取目标业务对应的训练数据和训练标签,将训练数据输入至基于目标深度学习网络结构的深度学习网络模型中进行处理,获得深度学习网络模型输出的预测结果,根据预测结果和训练标签计算模型损失值,并基于所述模型损失值在所述深度学习网络模型中反向传播,调整深度学习网络模型的模型参数,直至达到模型训练停止条件。
[0128] 通过本说明书的实施例提供的方法,先根据初始深度学习网络结构进行变异扩增后,获得多个扩增深度学习网络结构,提高了选择较好网络结构的数据基础,再根据技术人员为目标业务设置的业务需求信息,(具体的是业务需求信息中的深度学习网络结构参数阈值)来对多个扩增深度学习网络结构进行筛选,筛选掉不符合目标业务实际需求的网络结构,减少了后续进行选择时的数据量,在待筛选深度学习网络结构集合中确定一个参考深度学习网络结构,根据参考深度学习网络结构和预设的网络生成条件来进行迭代更新,最终生成目标业务对应的目标深度学习网络结构。使得最终生成的目标深度学习网络结构符合目标业务的业务需求,更贴合目标业务的实际应用。
[0129] 另外,本说明书实施例定义了卷积网络结构对应的长和宽,并将深度学习网络结构的长宽比作为约束条件来进行筛选,从而选择符合预期长宽比的网络结构,相比于人工设计的网络在性能上有大幅提升,并且能在目标业务对应的业务需求信息下选择更优的网络结构。
[0130] 下述结合附图3,以本说明书提供的深度学习网络结构的生成方法在图像识别场景的应用为例,对所述深度学习网络结构的生成方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种深度学习网络结构的生成方法的处理过程流程图,图像识别场景应用的深度学习网络结构为卷积网络结构,具体包括以下步骤。
[0131] 步骤302:获取初始卷积网络结构和图像识别业务对应的业务需求信息。
[0132] 其中,业务需求信息中包括卷积结构长宽比阈值、卷积参数阈值和卷积计算量阈值。
[0133] 步骤304:调整初始卷积网络结构中的超参数,获得每次调整后对应的扩增卷积网络结构。
[0134] 其中,超参数包括卷积通道数、卷积核大小、卷积网络层数中的至少一项。
[0135] 步骤306:确定目标扩增卷积网络结构的目标卷积网络层数、目标卷积核大小、目标卷积通道数、目标卷积参数和目标卷积计算量。
[0136] 步骤308:根据目标卷积网络层数确定卷积结构长度值,根据目标卷积核大小和目标卷积通道数确定卷积结构宽度值。
[0137] 步骤310:根据卷积结构长度值和卷积结构宽度值确定目标卷积结构长宽比。
[0138] 步骤312:在目标卷积结构长宽比小于等于卷积结构长宽比阈值、目标卷积参数小于等于卷积参数阈值且目标卷积计算量小于等于卷积计算量阈值的情况下,将目标扩增卷积网络结构添加至待筛选卷积网络结构集合。
[0139] 步骤314:为待筛选卷积网络结构集合中的每个待筛选卷积网络结构进行评分。
[0140] 步骤316:将评分最高的待筛选卷积网络结构作为参考卷积网络结构。
[0141] 步骤318:统计参考卷积网络结构的连续迭代命中次数。
[0142] 步骤320:判断连续迭代命中次数是否大于等于预设阈值,若是,则执行步骤322,若否,则在待筛选卷积网络结构集合中选取至少一个初始卷积网络结构,并继续执行步骤304。
[0143] 步骤322:确定参考卷积网络结构为图像识别业务对应的目标卷积网络结构。
[0144] 步骤324:获取图像识别业务对应的图像训练数据,并根据图像训练数据训练基于目标卷积网络结构为主干网络的图像识别模型。
[0145] 通过本说明书的实施例提供的方法,先根据初始卷积网络结构进行变异扩增后,获得多个扩增卷积网络结构,提高了选择较好网络结构的数据基础,再根据技术人员为目标业务设置的业务需求信息,(具体的是业务需求信息中的卷积结构长宽比阈值)来对多个扩增卷积网络结构进行筛选,筛选掉不符合目标业务实际需求的网络结构,减少了后续进行选择时的数据量,在待筛选卷积网络结构集合中确定一个参考卷积网络结构,并判断该参考卷积网络结构是否满足预设的网络生成条件,若满足,则将该参考卷积网络结构作为目标卷积网络结构,若不满足,则在待筛选卷积网络结构集合中选取至少一个初始卷积网络结构,重复上述操作。
[0146] 参见图4,图4示出了本说明书一实施例提供的图像处理网络结构的生成方法的流程图,具体包括以下步骤:
[0147] 步骤402:获取初始卷积网络结构和目标图像处理业务对应的业务需求信息,其中,所述业务需求信息包括卷积网络结构长宽比阈值,卷积结构长宽比阈值根据卷积网络层数、卷积核大小和卷积通道数确定。
[0148] 步骤404:基于所述初始卷积网络结构生成多个扩增卷积网络结构。
[0149] 步骤406:根据所述业务需求信息在所述多个扩增卷积网络结构中确定待筛选卷积网络结构集合,并在所述待筛选深度学习网络结构集合中确定参考卷积网络结构。
[0150] 步骤408:基于所述参考卷积网络结构和预设网络生成条件,生成所述目标图像处理业务对应的目标卷积网络结构。
[0151] 具体的,基于所述参考卷积网络结构和预设网络生成条件,生成所述目标图像处理业务对应的目标卷积网络结构,包括:
[0152] 在所述参考卷积网络结构不满足预设网络生成条件的情况下,在所述待筛选卷积网络结构集合中选取至少一个待处理卷积网络结构,并将每个待处理卷积网络结构作为初始卷积网络结构,并继续执行生成多个扩增卷积网络结构的操作;
[0153] 在所述参考卷积网络结构满足预设网络生成条件的情况下,确定所述参考卷积网络结构为所述目标图像处理业务对应的目标卷积网络结构。
[0154] 参见图5,图5示出了本说明书一实施例提供的一种深度学习网络结构的生成系统的示意图,该系统可以包括云侧设备501和端侧设备502,该云侧设备501用于选取目标业务对应的目标深度学习网络结构,并基于目标深度学习网络结构训练生成目标业务对应的目标业务深度学习网络模型,该端侧设备502用于基于训练得到的目标业务深度学习网络模型执行目标业务,具体的,深度学习网络结构可以是卷积网络结构、残差网络结构、循环神经网络结构、全连接网络结构等等,目标业务可以是目标物体检测任务、图像识别任务、图像分割任务、语音识别业务、语音处理业务等等,在本说明书提供的实施例中,对深度学习网络模型的形式和目标业务的具体内容不做限定。
[0155] 云侧设备501,用于获取初始深度学习网络结构和目标业务对应的业务需求信息,其中,所述业务需求信息包括深度学习网络结构参数阈值,基于所述初始深度学习网络结构生成多个扩增深度学习网络结构,根据所述业务需求信息在所述多个扩增深度学习网络结构中确定待筛选深度学习网络结构集合,并在所述待筛选深度学习网络结构集合中确定参考深度学习网络结构,基于所述参考深度学习网络结构和预设网络生成条件,生成所述目标业务对应的目标深度学习网络结构,并基于所述目标深度学习网络结构为所述目标业务训练目标业务深度学习网络模型;
[0156] 端侧设备502,用于根据所述目标业务深度学习网络模型执行所述目标业务,获得所述目标业务对应的处理结果。
[0157] 云侧设备501可以是分布式云架构的中心云设备,端侧设备502可以是分布式云架构的边缘云设备,云侧设备501和端侧设备502可以是常规服务器、云服务器或服务器阵列等服务端设备,也可以是终端设备,本说明书实施例对此不做限定。并且,云侧设备501提供超强的计算和存储能力,距离用户较远;而端侧设备502部署范围大,距离用户较近。端侧设备502是云侧设备501的拓展,可将云侧设备501的计算能力向端侧设备502下沉,通过端云的一体化、协同管理来解决集中式云计算模式下无法满足的业务需求。
[0158] 与上述方法实施例相对应,本说明书还提供了深度学习网络结构的生成装置实施例,图6示出了本说明书一个实施例提供的一种深度学习网络结构的生成装置的结构示意图。如图6所示,该装置包括:
[0159] 获取模块602,被配置为获取初始深度学习网络结构和目标业务对应的业务需求信息,其中,所述业务需求信息包括深度学习网络结构参数阈值;
[0160] 扩增模块604,被配置为基于所述初始深度学习网络结构生成多个扩增深度学习网络结构;
[0161] 确定模块606,被配置为根据所述业务需求信息在所述多个扩增深度学习网络结构中确定待筛选深度学习网络结构集合,并在所述待筛选深度学习网络结构集合中确定参考深度学习网络结构;
[0162] 生成模块608,被配置为基于所述参考深度学习网络结构和预设网络生成条件,生成所述目标业务对应的目标深度学习网络结构。
[0163] 可选的,所述生成模块608,进一步被配置为:
[0164] 在所述参考深度学习网络结构不满足预设网络生成条件的情况下,在所述待筛选深度学习网络结构集合中选取至少一个待处理深度学习网络结构,并将每个待处理深度学习网络结构作为初始深度学习网络结构,并继续执行生成多个扩增深度学习网络结构的操作;
[0165] 在所述参考深度学习网络结构满足预设网络生成条件的情况下,确定所述参考深度学习网络结构为所述目标业务对应的目标深度学习网络结构。
[0166] 可选的,所述获取模块602,进一步被配置为:
[0167] 接收针对目标业务的预算指令,其中,所述预算指令中携带有深度学习网络结构参数条件;
[0168] 解析所述深度学习网络结构参数条件,获得所述目标业务对应的深度学习网络结构参数阈值。
[0169] 可选的,所述深度学习网络结构参数条件包括卷积网络结构长宽比阈值、卷积网络参数阈值和卷积网络计算量阈值,其中,所述卷积网络结构长宽比根据卷积网络层数、卷积核大小和卷积通道数确定。
[0170] 可选的,所述确定模块606,进一步被配置为:
[0171] 获取目标扩增深度学习网络结构的目标网络结构参数;
[0172] 在所述目标网络结构参数满足所述业务需求信息的情况下,将所述目标扩增深度学习网络结构添加至待筛选深度学习网络结构集合。
[0173] 可选的,所述确定模块606,进一步被配置为:
[0174] 获取目标扩增深度学习网络结构的目标卷积网络层数、目标卷积核大小、目标卷积通道数、目标卷积参数和目标卷积计算量。
[0175] 可选的,所述深度学习网络结构参数阈值包括卷积网络结构长宽比阈值、卷积网络参数阈值和卷积网络计算量阈值;
[0176] 所述确定模块606,还被配置为:
[0177] 根据所述目标卷积网络层数、所述目标卷积核大小和所述目标卷积通道数确定所述目标扩增深度学习网络结构的目标卷积结构长宽比;
[0178] 在所述目标卷积结构长宽比小于等于所述卷积结构长宽比阈值、所述目标卷积参数小于等于所述卷积参数阈值且所述目标卷积计算量小于等于所述卷积计算量阈值的情况下,确定所述目标网络结构参数满足所述业务需求信息。
[0179] 可选的,所述确定模块606,还被配置为:
[0180] 根据所述目标卷积网络层数确定所述目标扩增深度学习网络结构的卷积结构长度值;
[0181] 根据所述目标卷积核大小和所述目标卷积通道数确定所述目标扩增深度学习网络结构的卷积结构宽度值;
[0182] 根据所述卷积结构长度值和所述卷积结构宽度值确定所述目标卷积结构长宽比。
[0183] 可选的,所述确定模块606,进一步被配置为:
[0184] 为所述待筛选深度学习网络结构集合中的每个待筛选深度学习网络结构进行评分;
[0185] 将评分最高的待筛选深度学习网络结构作为参考深度学习网络结构。
[0186] 可选的,所述装置还包括:
[0187] 统计模块,被配置为统计所述参考深度学习网络结构的连续迭代命中次数;
[0188] 相应的,所述确定模块606,进一步被配置为:
[0189] 在所述连续迭代命中次数达到预设阈值的情况下,确定所述参考深度学习网络结构满足预设网络生成条件。
[0190] 可选的,所述扩增模块604,进一步被配置为:
[0191] 调整所述初始深度学习网络结构中的超参数,其中,所述超参数包括卷积通道数、卷积核大小、卷积网络层数中的至少一项;
[0192] 生成每次调整后对应的扩增深度学习网络结构。
[0193] 可选的,所述装置还包括:
[0194] 训练模块,被配置为基于所述目标深度学习网络结构为所述目标业务训练目标业务深度学习网络模型。
[0195] 通过本说明书的实施例提供的装置,先根据初始深度学习网络结构进行变异扩增后,获得多个扩增深度学习网络结构,提高了选择较好网络结构的数据基础,再根据技术人员为目标业务设置的业务需求信息,(具体的是业务需求信息中的卷积结构长宽比阈值)来对多个扩增深度学习网络结构进行筛选,筛选掉不符合目标业务实际需求的网络结构,减少了后续进行选择时的数据量,在待筛选深度学习网络结构集合中确定一个参考深度学习网络结构,并判断该参考深度学习网络结构是否满足预设的网络生成条件,若满足,则将该参考深度学习网络结构作为目标深度学习网络结构,若不满足,则将参考深度学习网络结构做为新的初始深度学习网络结构,重复上述操作。
[0196] 本说明书实施例定义了卷积网络结构对应的长和宽,并将深度学习网络结构的长宽比作为约束条件来进行筛选,从而选择符合预期长宽比的网络结构,相比于人工设计的网络在性能上有大幅提升,并且能在目标业务对应的业务需求信息下选择更优的网络结构。
[0197] 上述为本实施例的一种深度学习网络结构的生成装置的示意性方案。需要说明的是,该深度学习网络结构的生成装置的技术方案与上述的深度学习网络结构的生成方法的技术方案属于同一构思,深度学习网络结构的生成装置的技术方案未详细描述的细节内容,均可以参见上述深度学习网络结构的生成方法的技术方案的描述。
[0198] 图7示出了根据本说明书一个实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
[0199] 计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN,Public Switched Telephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide Area Network)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,network interface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,Wireless Local Area Network)无线接口、全球微波互联接入(Wi‑MAX,Worldwide Interoperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Field Communication)。
[0200] 在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0201] 计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
[0202] 其中,处理器720用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的深度学习网络结构的生成方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述深度学习网络结构的生成方法的技术方案的描述。
[0203] 本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述深度学习网络结构的生成方法的步骤。
[0204] 上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的深度学习网络结构的生成方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述深度学习网络结构的生成方法的技术方案的描述。
[0205] 本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述深度学习网络结构的生成方法的步骤。
[0206] 上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的深度学习网络结构的生成方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述深度学习网络结构的生成方法的技术方案的描述。
[0207] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0208] 所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0209] 需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
[0210] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0211] 以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。