CN117688984A - 神经网络结构搜索方法、装置及存储介质 - Google Patents
神经网络结构搜索方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117688984A CN117688984A CN202211026784.6A CN202211026784A CN117688984A CN 117688984 A CN117688984 A CN 117688984A CN 202211026784 A CN202211026784 A CN 202211026784A CN 117688984 A CN117688984 A CN 117688984A
- Authority
- CN
- China
- Prior art keywords
- neural network
- model
- network models
- models
- target
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000003062 neural network model Methods 0.000 claims abstract description 338
- 238000012216 screening Methods 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims description 75
- 230000015654 memory Effects 0.000 claims description 47
- 238000005070 sampling Methods 0.000 claims description 34
- 238000013527 convolutional neural network Methods 0.000 claims description 30
- 238000011156 evaluation Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 abstract description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000013508 migration Methods 0.000 description 8
- 230000005012 migration Effects 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 101150041570 TOP1 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- 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
-
- 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
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及人工智能领域,尤其涉及一种神经网络结构搜索方法、装置及存储介质。该方法包括:获取目标约束条件,目标约束条件指示目标实例为运行神经网络模型所限定的模型规模;根据搜索空间获取预先训练完成的多个第一神经网络模型,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例;在多个第一神经网络模型中筛选出符合目标约束条件的目标神经网络模型。本申请实施例提供的方案可以在限定模型规模的目标约束条件下自动搜索到理想的混合神经网络结构,提高了神经网络结构搜索的效果。
Description
技术领域
本申请涉及人工智能(artificial intelligence,AI)领域,尤其涉及一种神经网络结构搜索方法、装置及存储介质。
背景技术
随着AI技术的快速发展,各种神经网络模型层出不穷。神经网络结构的性能对神经网络模型的任务执行效果具有重要的影响。神经网络结构的性能越优,神经网络模型的任务执行效果越好。因此,构建神经网络模型时,如何确定性能优的神经网络结构是本领域技术人员的研究热点。
神经网络结构搜索(neural architecture search,NAS)技术应用而生,NAS技术可以在预先定义的搜索空间中自动搜索到性能最优的神经网络结构。但是,在给定模型规模的情况下不同的神经网络结构的表现存在不一致性,比如在大模型规模下Transformer结构表现出优于卷积神经网络(convolutional neural network,CNN)的性能,又比如在小模型尺度下CNN表现出优于Transformer结构的性能。这表示在给定模型规模的特定约束条件下,很难确定该使用哪种神经网络结构以设计出符合当前约束条件下的理想神经网络结构,相关技术中尚未提供一种合理且有效的实现方式。
发明内容
有鉴于此,提出了一种神经网络结构搜索方法、装置及存储介质,通过预先构建搜索空间,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例,可以实现在限定模型规模的目标约束条件下,确定出符合当前目标约束条件的目标神经网络模型,也即自动搜索到理想的混合神经网络结构,提高了神经网络结构搜索的效果。
第一方面,本申请的实施例提供了一种神经网络结构搜索方法,所述方法包括:
获取目标约束条件,所述目标约束条件指示目标实例为运行神经网络模型所限定的模型规模;
根据搜索空间获取预先训练完成的多个第一神经网络模型,所述搜索空间指示多个模型规模与所述多个第一神经网络模型之间的对应关系,所述多个第一神经网络模型各自的模型结构参数是不同的,所述模型结构参数指示所述第一神经网络模型的至少两个神经网络结构之间的比例;
在所述多个第一神经网络模型中筛选出符合所述目标约束条件的目标神经网络模型。
在该实现方式中,本申请实施例通过预先构建搜索空间,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例,使得在限定模型规模的目标约束条件下,能够在多个第一神经网络模型中自动搜索到符合当前目标约束条件的目标神经网络模型,也即搜索到理想的混合神经网络结构和混合的至少两个神经网络结构之间的比例,提高了神经网络结构搜索的效果。
在一种可能的实现方式中,所述在所述多个第一神经网络模型中筛选出符合所述目标约束条件的目标神经网络模型,包括:
在所述多个第一神经网络模型中筛选出符合所述目标约束条件的至少两个第二神经网络模型;
将所述至少两个第二神经网络模型在目标任务对应的目标数据集上进行训练,得到所述至少两个第二神经网络模型各自对应的评价参数,所述评价参数指示所述第二神经网络模型与所述目标任务的匹配程度;
根据所述至少两个第二神经网络模型各自对应的评价参数,确定所述目标神经网络模型。
在该实现方式中,在多个第一神经网络模型中筛选出符合目标约束条件的至少两个第二神经网络模型后,将至少两个第二神经网络模型在目标任务对应的目标数据集上进行训练,得到至少两个第二神经网络模型各自对应的评价参数,根据至少两个第二神经网络模型各自对应的评价参数,确定目标神经网络模型,即在限定模型规模的目标约束条件下,经过一次训练就能自动搜索出该模型规模下的最优组合即目标神经网络模型,进一步提高了神经网络结构搜索的效率。
在另一种可能的实现方式中,所述根据搜索空间获取预先训练完成的多个第一神经网络模型之前,还包括:
获取超网络的所述搜索空间,所述超网络包括共享各自的模型结构参数的多个神经网络模型,所述搜索空间还指示所述超网络中的部分神经网络模型为所述多个第一神经网络模型。
在该实现方式中,构建了超网络的搜索空间,超网络包括共享各自的模型结构参数的多个神经网络模型,搜索空间还指示超网络中的部分神经网络模型为多个第一神经网络模型,使得后续基于搜索空间指示的多个第一神经网络模型进行神经网络结构搜索,进一步提高了神经网络结构搜索的效率。
在另一种可能的实现方式中,所述至少两个神经网络结构包括CNN结构和Transformer结构。
在该实现方式中,本案涉及的第一神经网络模型包括两个分支即CNN分支和Transformer分支,实现了CNN结构和Transformer结构的混合神经网络结构的搜索方法。
在另一种可能的实现方式中,所述根据搜索空间获取预先训练完成的多个第一神经网络模型之前,还包括:
获取预设的多个原始神经网络模型,所述原始神经网络模型指示所述至少两个神经网络结构和所述至少两个神经网络结构之间的比例;
根据训练样本集对所述多个原始神经网络模型进行训练,得到训练完成的所述多个第一神经网络模型,所述训练样本集中包括多个样本图像。
在该实现方式中,获取预设的多个原始神经网络模型,原始神经网络模型指示至少两个神经网络结构和至少两个神经网络结构之间的比例;根据训练样本集对多个原始神经网络模型进行训练,得到训练完成的多个第一神经网络模型,构建了混合神经网络模型即第一神经网络模型的训练策略,可以大幅提高模型训练效率。
在另一种可能的实现方式中,所述根据训练样本集对所述多个原始神经网络模型进行训练,得到训练完成的所述多个第一神经网络模型,包括:
按照预设采样周期从所述多个原始神经网络模型中确定采样模型;
对于所述训练样本集中的至少一个样本图像,根据所述至少一个样本图像对当前确定出的所述采样模型进行训练得到对应的所述第一神经网络模型。
在该实现方式中,按照预设采样周期从多个原始神经网络模型中确定采样模型,对于训练样本集中的至少一个样本图像,根据至少一个样本图像对当前确定出的采样模型进行训练得到对应的第一神经网络模型,保证了基于采样模型训练得到的第一神经网络模型的可靠性。
在另一种可能的实现方式中,所述采样模型为所述多个原始神经网络模型中模型规模最大的模型、或者为所述多个原始神经网络模型中模型规模最小的模型、或者为所述多个原始神经网络模型中随机确定的模型。
在该实现方式中,采样模型为多个原始神经网络模型中模型规模最大的模型、或者为多个原始神经网络模型中模型规模最小的模型、或者为多个原始神经网络模型中随机确定的模型,进一步保证了模型训练的合理性和有效性。
第二方面,本申请的实施例提供了一种神经网络结构搜索装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令时实现权利要求上述的方法。
第三方面,本申请的实施例提供了一种神经网络结构搜索装置,所述装置包括:
第一获取单元,用于获取目标约束条件,所述目标约束条件指示目标实例为运行神经网络模型所限定的模型规模;
第二获取单元,用于根据搜索空间获取预先训练完成的多个第一神经网络模型,所述搜索空间指示多个模型规模与所述多个第一神经网络模型之间的对应关系,所述多个第一神经网络模型各自的模型结构参数是不同的,所述模型结构参数指示所述第一神经网络模型的至少两个神经网络结构之间的比例;
筛选单元,用于在所述多个第一神经网络模型中筛选出符合所述目标约束条件的目标神经网络模型。
第四方面,本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第一方面或第一方面的任意一种可能的实现方式所提供的方法。
第五方面,本申请的实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机可读代码,或者承载有所述计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在计算设备中运行时,所述计算设备中的处理器执行上述第一方面或第一方面的任意一种可能的实现方式所提供的方法。
第六方面,本申请的实施例提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行上述第一方面或第一方面的任意一种可能的实现方式所提供的方法。
第七方面,本申请的实施例提供了一种包含指令的计算机程序产品,当所述指令被计算设备集群运行时,使得所述计算设备集群执行上述第一方面或第一方面的任意一种可能的实现方式所提供的方法。
第八方面,本申请的实施例提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行上述第一方面或第一方面的任意一种可能的实现方式所提供的方法。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出了本申请一个示例性实施例提供的计算设备的结构示意图。
图2示出了本申请一个示例性实施例提供的神经网络结构搜索方法的流程图。
图3示出了本申请另一个示例性实施例提供的神经网络结构搜索方法的流程图。
图4示出了本申请一个示例性实施例提供的包括CNN结构和Transformer结构的混合神经网络模型的示意图。
图5示出了本申请一个示例性实施例提供的超网络的搜索空间的示意图。
图6示出了本申请另一个示例性实施例提供的神经网络结构搜索方法的流程图。
图7示出了本申请一个示例性实施例提供的神经网络结构搜索装置的框图。
图8示出了本申请一个示例性实施例提供的计算设备集群的结构示意图。
图9示出了本申请一个示例性实施例提供的计算设备集群之间的连接方式的示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
首先,对本申请实施例涉及的一些名词进行介绍。
1、超网络:由多个独立的神经网络模型组成的网络集合,超网络中的所有神经网络模型共享各自的模型结构参数,其中模型结构参数为该神经网络模型的所有模型结构参数中指定的部分模型结构参数。
2、搜索空间:神经网络结构搜索过程中,由待搜索的神经网络模型组成的空间。超网络的搜索空间指示超网络中的部分神经网络模型为待搜索的神经网络模型。也即,搜索空间指示的多个神经网络模型为超网络的子集。可选地,本申请实施例对搜索空间的指示方式不加以限定。比如,搜索空间包括指示的多个神经网络模型。又比如,搜索空间包括搜索规则,该搜索规则指示多个神经网络模型。
3、CNN:是一种带有卷积结构的深度神经网络。CNN包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(英文:feature map)做卷积。卷积层是指CNN中对输入信号进行卷积处理的神经元层。在CNN的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,我们都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在CNN的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少CNN各层之间的连接,同时又降低了过拟合的风险。
4、反向传播(back propagation,BP)算法:CNN可以采用误差反向传播算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
相关技术中,大部分方法聚焦于单个模型尺度和模型规模下的模型结构搜索,然而不同的神经网络模型在不同模型规模下的优越性不同,因此以上方法无法解决不同模型规模下的结构的不一致性。其次,在不同的应用场景中,可用的计算资源差异十分明显,能够部署的模型也不相同,针对不同模型需要进行单独的预训练,模型的复用性很差,十分浪费计算资源。
本申请实施例提出的关于混合神经网络结构(比如CNN+Transformer)的神经网络结构搜索方法,可以较好的解决上述不一致性和计算资源浪费问题。可做到在小模型(比如CNN参数比例高)和大模型(比如Transformer参数比例高)等不同模型规模下均能搜索出理想的混合神经网络结构,且保持高效可靠。并且,本申请实施例根据下游硬件以及部署时限定的参数量和计算量等目标约束条件进行筛选之后,进行快速的预训练即可确定出最佳神经网络模型,不需要对各种网络进行从头的训练再选出最优模型。整个训练花费的硬件资源远远低于在各种场景中从随机初始化训练各种子模型所需的硬件资源。
下面,对本申请涉及的应用场景进行介绍。
本申请实施例提供了一种神经网络结构搜索方法,执行主体为计算设备。请参考图1,其示出了本申请一个示例性实施例提供的计算设备的结构示意图。
该计算设备可以是终端或者服务器。终端包括移动终端或者固定终端,比如终端可以是手机、平板电脑、膝上型便携计算机和台式计算机等等。服务器可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
可选地,在模型训练阶段涉及的计算设备为服务器,比如为包括8块GPU的服务器。本申请实施例通过固定大网络与灵活的动态超网,一次性完成十几万个神经网络模型的预训练。
可选地,在模型推理阶段可根据用户要求,在各种算力大小的计算设备上进行神经网络结构搜索,计算设备为终端或者服务器。
如图1所示,计算设备包括处理器10、存储器20以及通信接口30。本领域技术人员可以理解,图1中示出的结构并不构成对该计算设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器10是计算设备的控制中心,利用各种接口和线路连接整个计算设备的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行计算设备的各种功能和处理数据,从而对计算设备进行整体控制。处理器10可以由CPU实现,也可以由图形处理器(Graphics Processing Unit,GPU)实现。
存储器20可用于存储软件程序以及模块。处理器10通过运行存储在存储器20的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统21、第一获取单元22、第二获取单元23、筛选单元24和至少一个功能所需的应用程序25(比如神经网络训练等)等;存储数据区可存储根据计算设备的使用所创建的数据等。存储器20可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable Read-Only Memory,PROM),只读存储器(ReadOnly Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。相应地,存储器20还可以包括存储器控制器,以提供处理器10对存储器20的访问。
其中,处理器10通过运行第一获取单元22执行以下功能:获取目标约束条件,目标约束条件指示目标实例为运行神经网络模型所限定的模型规模;处理器10通过运行第二获取单元23执行以下功能:根据搜索空间获取预先训练完成的多个第一神经网络模型,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例;处理器10通过运行筛选单元24执行以下功能:在多个第一神经网络模型中筛选出符合目标约束条件的目标神经网络模型。
需要说明的是,本申请实施例提供的神经网络结构搜索方法可以应用于多种应用场景。下面介绍本申请的技术方案的几种示例性应用场景。
一种可能的应用场景为相册管理系统。用户在手机相册中存储了大量的图片,并希望能够对相册中的图片进行分类管理。例如,用户希望手机能够自动将所有鸟类图像归类在一起,将所有人物照片归类在一起。这种应用场景下,可以利用本申请提供的技术方案,基于用户的手机计算资源,搜索出与该手机计算资源匹配的图像分类模型。这样,在手机上运行具有该图像分类模型,就可以对手机相册中的不同类别的图片进行分类管理,从而方便用户的查找,节省用户的管理时间,提高相册管理的效率。即目标约束条件包括手机计算资源,目标神经网络模型为图像分类模型。
另一种可能的应用场景为目标检测与分割。在自动驾驶中,对街道的行人、车辆等目标进行检测和分割,对车辆做出安全驾驶决策至关重要。这种应用场景下,可以利用本申请提供的技术方案,基于车辆计算资源,搜索出与该车辆计算资源匹配的目标检测与分割模型。这样,在车辆上运行具有该模型结构的目标检测与分割模型,即可对车辆采集到的图像中目标进行准确的检测定位与分割。即目标约束条件包括车辆计算资源,目标神经网络模型为目标检测与分割模型。
下面,采用几个示例性实施例对本申请实施例提供的神经网络结构搜索方法进行介绍。
请参考图2,其示出了本申请一个示例性实施例提供的神经网络结构搜索方法的流程图,本实施例以该方法用于图1所示的计算设备中来举例说明。该方法包括以下几个步骤。
步骤201,获取目标约束条件,目标约束条件指示目标实例为运行神经网络模型所限定的模型规模。
可选地,计算设备获取目标约束条件,目标约束条件指示目标实例为运行神经网络模型所限定的模型规模。
可选地,目标实例为物理实例或虚拟实例。示意性地,物理实例可以是物理机,虚拟实例可以是虚拟机或者容器或者裸金属服务器。其中,虚拟机也可称为云服务器(Elastic Compute Service,ECS)、或者弹性实例。本申请实施例对此不加以限定。
可选地,目标实例和计算设备为同一个设备,或者为不同的两个设备。比如,计算设备为服务器,目标实例为终端。又比如,计算设备和目标实例为同一个终端。
可选地,目标约束条件包括目标实例为运行神经网络模型提供的资源的约束条件,资源包括目标实例的计算资源和/或存储资源。
可选地,目标约束条件包括限定的模型规模信息,模型规模信息包括模型参数信息和模型计算信息。比如,目标约束条件包括每秒浮点运算次数(Floating PointOperations per Second,FLOPS)、或者模型参数量、或者模型的最大内存限制量。
步骤202,根据搜索空间获取预先训练完成的多个第一神经网络模型,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例。
可选地,计算设备预先训练完成多个第一神经网络模型。在一种可能的实现方式中,当计算设备为终端时,终端获取自身存储的训练好的多个第一神经网络模型,或者从服务器中获取训练好的多个第一神经网络模型。在另一种可能的实现方式中,当计算设备为服务器时,服务器获取自身存储的训练好的多个第一神经网络模型。
可选地,计算设备预先构建搜索空间,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系。也即,搜索空间指示多个模型规模与多种模型结构参数之间的对应关系,模型结构参数包括至少两个神经网络结构各自对应的参数和/或至少两个神经网络结构之间的参数量比例。
可选地,搜索空间指示的多个模型规模与多个第一神经网络模型之间的对应关系,包括:多个模型规模与多个第一神经网络模型之间一对多的对应关系,即每个模型规模对应一个混合神经网络模型集合,混合神经网络集合包括至少两个第一神经网络模型。
示意性的,在多个模型规模中,任意两个模型规模各自对应的混合神经网络模型集合不存在交集。或者,在多个模型规模中,存在至少两个模型规模各自对应的混合神经网络模型集合不存在交集。
可选地,计算设备获取超网络的搜索空间,超网络包括共享各自的模型结构参数的多个神经网络模型,搜索空间还指示超网络中的部分神经网络模型为多个第一神经网络模型。在一种可能的实现方式中,搜索空间包括多个第一神经网络模型。在另一种可能的实现方式中,搜索空间包括搜索规则,搜索规则指示超网络中的部分神经网络模型为多个第一神经网络模型。
可选地,第一神经网络模型为采用样本图像和正确结果信息对混合神经网络结构进行训练得到的模型。其中,正确结果信息为预先标注的与样本电图像对应的正确结果信息。
第一神经网络模型是具有对图像中结果信息进行识别的循环神经网络模型。
第一神经网络模型用于将输入的图像转化为结果信息。第一神经网络模型用于表示图像与结果信息之间的相关关系。
第一神经网络模型为预设的数学模型,该故障检测模型包括图像与结果信息之间的模型系数。模型系数可以为固定值,也可以是随时间动态修改的值,还可以是随着应用场景动态修改的值。
可选地,结果信息为分类结果信息、检测结果信息、分割结果信息中的任意一种。本申请实施例对此不加以限定。
第一神经网络模型为包括至少两个神经网络结构的混合神经网络模型。可选地,第一神经网络模型为包括两个神经网络结构的混合神经网络模型,比如第一神经网络模型为包括CNN结构和Transformer结构的混合神经网络模型。又比如,第一神经网络模型为包括图卷积网络(Graph Convolutional Networks,GCN)结构和Transformer结构的混合神经网络模型。本申请实施例对此不加以限定。
可选地,多个第一神经网络模型中,每个第一神经网络模型所包括的混合神经网络结构的类型是相同的。比如,多个第一神经网络模型中,每个第一神经网络模型均为包括CNN结构和Transformer结构的混合神经网络模型。
可选地,多个第一神经网络模型中,存在至少两个神经网络模型的混合神经网络结构的类型是不同的,和/或,任意两个第一神经网络模型各自对应的模型结构参数是不同的。
比如,多个第一神经网络模型中,存在至少一个第一神经网络模型为包括CNN结构和Transformer结构的混合神经网络模型,存在至少一个第一神经网络模型为包括GCN结构和Transformer结构的混合神经网络模型。
可选地,在多个第一神经网络模型中,每个第一神经网络模型所包括的混合神经网络结构的类型是相同的情况下,任意两个第一神经网络模型各自对应的模型结构参数是不同的,第一神经网络模型对应的模型结构参数为该第一神经网络模型所包括的至少两个神经网络结构各自对应的参数和/或至少两个神经网络结构之间的参数量比例。即,多个第一神经网络模型为具有不同的模型结构参数的多个混合神经网络模型。
步骤203,在多个第一神经网络模型中筛选出符合目标约束条件的目标神经网络模型。
可选地,计算设备根据搜索空间指示的多个模型规模与多个第一神经网络模型之间的对应关系,将目标约束条件指示的模型规模所对应的第一神经网络模型确定为目标神经网络模型,目标神经网络模型为多个第一神经网络模型中的一个神经网络模型。
其中,目标神经网络模型为符合目标约束条件的待运行的神经网络模型,目标神经网络模型包括至少两个神经网络结构的混合神经网络模型,目标神经网络模型指示所包括的至少两个神经网络结构之间的比例。
可选地,目标神经网络模型包括两个神经网络结构,比如两个神经网络结构为CNN结构和Transformer结构。
可选地,计算设备在多个第一神经网络模型中筛选出符合目标约束条件的目标神经网络模型,包括:计算设备在多个第一神经网络模型中筛选出符合目标约束条件的至少两个第二神经网络模型;将至少两个第二神经网络模型在目标任务对应的目标数据集上进行训练,得到至少两个第二神经网络模型各自对应的评价参数,评价参数指示第二神经网络模型与目标任务的匹配程度;根据至少两个第二神经网络模型各自对应的评价参数,确定目标神经网络模型。
可选地,目标任务为待处理的迁移下游任务。目标任务包括分类任务、检测任务和分割任务中的一种。需要说明的是,目标任务还可以是其他类型的任务,本申请实施例对此不加以限定。
可选地,目标数据集为目标任务部署所用的数据集。比如,下游迁移数据集为PASCAL VOC数据集、或者COCO数据集或者Pets数据集。
可选地,计算设备在筛选出的至少两个第二神经网络模型中随机采样出K个第二神经网络模型,将K个第二神经网络模型在下游迁移数据集上进行训练,得到K个第二神经网络模型各自对应的评价参数。根据K个第二神经网络模型各自对应的评价参数,确定目标神经网络模型,K为大于1的正整数。
可选地,评价参数为评价指标的精度值;计算设备根据至少两个第二神经网络模型各自对应的评价参数,确定目标神经网络模型,包括:根据至少两个第二神经网络模型各自对应的评价指标的精度值,将精度值最高的第二神经网络模型确定为目标神经网络模型。
比如评价指标为平均AP值(Mean Average Precision,mAP)或者Top1。本申请实施例对此不加以限定。
综上所述,本申请实施例通过预先训练完成多个混合神经网络模型即多个第一神经网络模型,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例,使得在限定模型规模的目标约束条件下,能够在多个第一神经网络模型中自动搜索到符合当前目标约束条件的目标神经网络模型,也即搜索到理想的混合神经网络结构和混合的至少两个神经网络结构之间的比例,提高了神经网络结构搜索的效果。
请参考图3,其示出了本申请另一个示例性实施例提供的神经网络结构搜索方法的流程图。为了方便说明,本实施例以该方法涉及的模型训练过程和模型应用过程均用于图1所示的计算设备中来举例说明。该方法包括以下几个步骤。
步骤301,获取预设的多个原始神经网络模型,原始神经网络模型指示至少两个神经网络结构和至少两个神经网络结构之间的比例。
计算设备获取预设的多个原始神经网络模型,原始神经网络模型为包括至少两个神经网络结构的混合神经网络模型。可选地,原始神经网络模型为包括两个神经网络结构的混合神经网络模型,比如原始神经网络模型为包括CNN结构和Transformer结构的混合神经网络模型。又比如,原始神经网络模型为包括GCN结构和Transformer结构的混合神经网络模型。本申请实施例对此不加以限定。
步骤302,根据训练样本集对多个原始神经网络模型进行训练,得到训练完成的多个第一神经网络模型,训练样本集中包括多个样本图像。
可选地,计算设备获取训练样本集,训练样本集中包括多个样本图像。计算设备将训练样本集中的每个样本图像进行预处理得到预处理后的样本图像,根据预处理后的多个样本图像对多个原始神经网络模型进行训练,得到训练完成的多个第一神经网络模型。
可选地,预处理包括归一化处理、裁剪处理(包括以随机裁剪的方式裁剪至统一的大小,比如224×224)、数据增强处理中的至少一种,数据增强处理包括翻转、随机擦除、随机自动增强中的至少一种。本申请实施例对此不加以限定。
可选地,计算设备按照预设采样周期从多个原始神经网络模型中确定采样模型;对于训练样本集中的至少一个样本图像,根据至少一个样本图像对当前确定出的采样模型进行训练得到对应的第一神经网络模型。
可选地,计算设备将预处理后的多个样本图像分批次输入至采样模型中进行训练。采样模型是按照预设采样周期从多个原始神经网络模型中确定的模型。示意性的,采样模型为多个原始神经网络模型中模型规模最大的模型、或者为多个原始神经网络模型中模型规模最小的模型、或者为多个原始神经网络模型中随机确定的模型。
可选地,计算设备根据至少一个样本图像对当前确定出的采样模型进行训练得到对应的第一神经网络模型,包括:根据至少一个样本图像,调用当前确定出的采样模型进行前向传播,并计算损失函数,根据损失函数采用反向传播算法和预设优化器进行训练,经过多次迭代训练得到对应的第一神经网络模型,即最终得到多个原始神经网络模型各自对应的训练完成的第一神经网络模型。
在一个示意性的例子中,包括CNN结构和Transformer结构的混合神经网络模型的示意图如图4所示。该混合神经网络模型包括双分支的网络结构,分别为CNN结构和Transformer结构。其中,在CNN结构上采用动态卷积层模块,动态卷积层模块包括可变宽度的动态卷积算子;在Transformer结构上采用动态Transformer模块,动态Transformer模块包括可变宽度、头部(英文:head)数目中的至少一种参数。其中,d1,d2,d3,d4分别表示四个阶段的网络层数,d1、d2、d3、d4也会在模型训练过程中动态变化,比如d1的数值为4或5,d2的数值为4或5,d3的数值为3或4,d4的数值为1,四个阶段的网络层数相加d1+d2+d3+d4即为d-model,d-model的数值位于12-15之间。
步骤303,获取目标约束条件,目标约束条件指示目标实例为运行神经网络模型所限定的模型规模。
计算设备获取目标约束条件,目标约束条件指示目标实例为运行神经网络模型所限定的模型规模。
步骤304,根据搜索空间获取预先训练完成的多个第一神经网络模型,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例。
计算设备获取超网络的搜索空间,获取搜索空间指示的多个第一神经网络模型,其中,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例。
在一个示意性的例子中,基于图4提供的包括CNN结构和Transformer结构的混合神经网络模型,超网络的搜索空间的示意图如图5所示。每个三元组的值分别表示该维度采样的起始点、终止点、步长。在训练过程中每个迭代过程中,网络会随机从表中采样结构参数并构建结构,然后以此结构进行训练。在测试过程中,也将依照此表制定的搜索空间进行模型结构搜索。其中,widthstem对应图4中的卷积层的卷积的输出通道数;widthb1为d1所对应网络的输出通道数;widthb2为d2所对应网络的输出通道数;widthb3为d3所对应网络的输出通道数,或者也称为d4所对应网络的输出通道数,d3所对应的网络的输出通道数与d4所对应的网络的输出通道数是相同的;dime为自注意力层的特征通道数;nh为自注意力层中注意力头的数量;ratioqkv为自注意力层中q、k、v矩阵的特征维度比例,即q、k、v矩阵的特征维度=n-h*ratioqkv;ratiomlp为多层感知器(Multilayer Perceptron,MLP)层中的隐藏特征维度比例,即MLP层隐藏特征维度为dime*ratiomlp;dmodel为Transformer结构中块的数量。比如,根据超网的大小定义,其中第一类型的超网络也称超小超网,参数量范围为5.5M~13.5M;第二类型的超网络也称小超网,参数量范围为15.1M~39.9M;第三类型的超网络也称基础超网,参数量范围为23.2M~66.2M。本申请实施例对此不加以限定。
步骤305,在多个第一神经网络模型中筛选出符合目标约束条件的目标神经网络模型。
计算设备在多个第一神经网络模型中筛选出符合目标约束条件的目标神经网络模型。需要说明的是,步骤303至步骤305的相关细节可参考上述实施例中的相关描述,在此不再赘述。
综上所述,本申请实施例构建了搜索空间,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型为具有不同比例的混合神经网络模型,在不同的模型规模下可以搜索到理想模型即符合目标约束条件的目标神经网络模型。构建了模型训练策略,可大幅提高模型训练和后续的网络搜索效率。本申请实施例提供的神经网络结构搜索方法可以在公有云/混合云/私有云上应用,提供智能高效的神经网络结构搜索和生产能力并部署。本申请实施例提供的神经网络结构搜索方法可涉及各种分类、检测、分割等各种下游任务。
请参考图6,其示出了本申请另一个示例性实施例提供的神经网络结构搜索方法的流程图,本实施例以该方法用于图1所示的计算设备中来举例说明。该方法包括以下几个步骤。
步骤601,选取上游的图像分类数据集作为训练样本集。
步骤602,获取预设的超网络的搜索空间。
其中,超网络包括共享各自的模型结构参数的多个神经网络模型,搜索空间指示超网络中的部分神经网络模型为多个第一神经网络模型。
步骤603,将训练样本集中每个样本图像进行预处理。
可选地,将训练样本集中每个样本图像进行归一化并以随机裁剪的方式裁剪至统一的大小,然后进行翻转,随机擦除,随机自动增强等数据增强处理。
步骤604,从预设的搜索空间中随机采样一个模型结构作为采样模型。
可选地,在每个批次的样本图像送入超网络之前,从预设的搜索空间中随机采样一个模型结构。采样方法如下,我们以T为周期进行结构类型的采样,在一个预设采样周期内分别采集搜索空间内模型规模最大的模型、模型规模最小的模型、随机采样的T-2个模型;
步骤605,将预处理后的多个样本图像分成各个批次送入采样模型中进行训练,得到多个第一神经网络模型。
可选地,将预处理后的多个样本图像分成各个批次(比如256张图片)送入步骤S3中被采样模型进行前向传播,并计算交叉熵损失函数。采用反向传播算法和预设优化器(比如AdamW优化器)来减小损失函数以训练该模型,经过多次迭代训练得到最终的第一神经网络模型。
步骤606,在完成训练后,遍历搜索空间指示的多个第一神经网络模型,进行信息统计并制表。
可选地,信息统计包括FLOPS、参数量、最大内存限制中的至少一种信息的统计。完成以上步骤,即完成了上游构建,计算设备后续可以根据下游场景(比如数据、模型大小等)进行结构搜索及定制化。
步骤607,根据目标约束条件,在搜索空间中进行逐一遍历,在多个第一神经网络模型中筛选出符合目标约束条件的至少两个第二神经网络模型。
步骤608,选取特定的目标任务。
其中迁移下游任务即为上述的目标任务。
步骤609,选取下游迁移数据集。
其中下游迁移数据集即为上述的目标数据集,为迁移下游任务部署所用的数据集。
步骤610,将至少两个第二神经网络模型在下游迁移数据集上进行训练,得到至少两个第二神经网络模型各自对应的评价参数。
可选地,评价参数为评价指标的精度值,比如评价指标为平均AP值(Mean AveragePrecision,mAP)或者Top1。本申请实施例对此不加以限定。
步骤611,根据至少两个第二神经网络模型各自对应的评价参数,确定目标神经网络模型。
可选地,在筛选出的至少两个第二神经网络模型中随机采样出K个第二神经网络模型,将K个第二神经网络模型在下游迁移数据集上进行训练,得到K个第二神经网络模型各自对应的评价指标的精度值,将精度值最高的第二神经网络模型确定为目标神经网络模型。
综上所述,本申请实施例中的多个第一神经网络模型为包括至少两个神经网络结构的混合神经网络模型,基于多个第一神经网络模型构建了超网络的搜索空间,搜索空间涉及不同层的至少两个神经网络结构的参数量比例,能够最大程度上使模型具备良好的局部特征提取和全局建模能力。并且,本申请实施例提供的神经网络结构搜索方法解决了相关技术中模型结构不一致性的问题,能够在多个模型规模下,得出具有最佳的准确度-参数量均衡比的目标神经网络模型。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图7,其示出了本申请一个示例性实施例提供的神经网络结构搜索装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为计算设备的全部或者一部分。该装置可以包括:第一获取单元710、第二获取单元720和筛选单元730。
第一获取单元710,用于获取目标约束条件,目标约束条件指示目标实例为运行神经网络模型所限定的模型规模;
第二获取单元720,用于根据搜索空间获取预先训练完成的多个第一神经网络模型,搜索空间指示多个模型规模与多个第一神经网络模型之间的对应关系,多个第一神经网络模型各自的模型结构参数是不同的,模型结构参数指示第一神经网络模型的至少两个神经网络结构之间的比例;
筛选单元730,用于在多个第一神经网络模型中筛选出符合目标约束条件的目标神经网络模型。
在一种可能的实现方式中,筛选单元730,还用于:
在多个第一神经网络模型中筛选出符合目标约束条件的至少两个第二神经网络模型;
将至少两个第二神经网络模型在目标任务对应的目标数据集上进行训练,得到至少两个第二神经网络模型各自对应的评价参数,评价参数指示第二神经网络模型与目标任务的匹配程度;
根据至少两个第二神经网络模型各自对应的评价参数,确定目标神经网络模型。
在另一种可能的实现方式中,该装置还包括:第三获取单元;
第三获取单元,用于获取超网络的搜索空间,超网络包括共享各自的模型结构参数的多个神经网络模型,搜索空间还指示超网络中的部分神经网络模型为多个第一神经网络模型。
在另一种可能的实现方式中,至少两个神经网络结构包括卷积神经网络CNN结构和Transformer结构。
在另一种可能的实现方式中,该装置还包括:模型训练单元;模型训练单元用于:
获取预设的多个原始神经网络模型,原始神经网络模型指示至少两个神经网络结构和至少两个神经网络结构之间的比例;
根据训练样本集对多个原始神经网络模型进行训练,得到训练完成的多个第一神经网络模型,训练样本集中包括多个样本图像。
在另一种可能的实现方式中,模型训练单元用于:
按照预设采样周期从多个原始神经网络模型中确定采样模型;
对于训练样本集中的至少一个样本图像,根据至少一个样本图像对当前确定出的采样模型进行训练得到对应的第一神经网络模型。
在另一种可能的实现方式中,采样模型为多个原始神经网络模型中模型规模最大的模型、或者为多个原始神经网络模型中模型规模最小的模型、或者为多个原始神经网络模型中随机确定的模型。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例提供了一种神经网络结构搜索装置,该装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述由计算设备执行的方法。
本申请实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当计算机可读代码在计算设备的处理器中运行时,计算设备中的处理器执行上述由计算设备执行的方法。
本申请实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述由计算设备执行的方法。
本申请实施例还提供了一种计算设备集群。如图8所示,该计算设备集群包括至少一台计算设备800。计算设备800包括:总线802、处理器804、存储器806和通信接口808。处理器804、存储器806和通信接口808之间通过总线802通信。该计算设备800可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备800也可以是台式机、笔记本电脑或者智能手机等终端设备。该计算设备集群中的一个或多个计算设备800中的存储器806中可以存有相同的用于执行神经网络结构搜索方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备800的存储器806中也可以分别存有用于执行神经网络结构搜索方法的部分指令。换言之,一个或多个计算设备800的组合可以共同执行用于执行神经网络结构搜索方法的指令。
需要说明的是,计算设备集群中的不同的计算设备800中的存储器806可以存储不同的指令,分别用于执行神经网络结构搜索装置的部分功能。也即,不同的计算设备800中的存储器806存储的指令可以实现第一获取单元、第二获取单元和筛选单元中的一个或多个单元的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图9示出了一种可能的实现方式。如图9所示,两个计算设备800A和800B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备800A中的存储器806中存有执行第一获取单元、第二获取单元和筛选单元的功能的指令。同时,计算设备800B中的存储器806中存有执行模型训练单元的功能的指令。
图9所示的计算设备集群之间的连接方式可以是考虑到本申请提供的神经网络结构搜索方法需要大量地训练混合神经网络模型并存储训练完成的多个第一神经网络模型,因此考虑将模型训练单元实现的功能交由计算设备800B执行。
应理解,图9中示出的计算设备800A的功能也可以由多个计算设备800完成。同样,计算设备800B的功能也可以由多个计算设备800完成。
本申请的实施例还提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行上述由计算设备执行的方法。
本申请的实施例还提供了一种包含指令的计算机程序产品,当指令被计算设备集群运行时,使得计算设备集群执行上述由计算设备执行的方法。
本申请的实施例还提供了一种计算机可读存储介质,包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行上述由计算设备执行的方法。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Static Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(WideArea Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (13)
1.一种神经网络结构搜索方法,其特征在于,所述方法包括:
获取目标约束条件,所述目标约束条件指示目标实例为运行神经网络模型所限定的模型规模;
根据搜索空间获取预先训练完成的多个第一神经网络模型,所述搜索空间指示多个模型规模与所述多个第一神经网络模型之间的对应关系,所述多个第一神经网络模型各自的模型结构参数是不同的,所述模型结构参数指示所述第一神经网络模型中的至少两个神经网络结构之间的比例;
在所述多个第一神经网络模型中筛选出符合所述目标约束条件的目标神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述在所述多个第一神经网络模型中筛选出符合所述目标约束条件的目标神经网络模型,包括:
在所述多个第一神经网络模型中筛选出符合所述目标约束条件的至少两个第二神经网络模型;
将所述至少两个第二神经网络模型在目标任务对应的目标数据集上进行训练,得到所述至少两个第二神经网络模型各自对应的评价参数,所述评价参数指示所述第二神经网络模型与所述目标任务的匹配程度;
根据所述至少两个第二神经网络模型各自对应的评价参数,确定所述目标神经网络模型。
3.根据权利要求1或2所述的方法,其特征在于,所述根据搜索空间获取预先训练完成的多个第一神经网络模型,所述搜索空间指示多个模型规模与所述多个第一神经网络模型之间的对应关系根据搜索空间获取预先训练完成的多个第一神经网络模型,所述搜索空间指示多个模型规模与所述多个第一神经网络模型之间的对应关系之前,还包括:
获取超网络的所述搜索空间,所述超网络包括共享各自的模型结构参数的多个神经网络模型,所述搜索空间还指示所述超网络中的部分神经网络模型为所述多个第一神经网络模型。
4.根据权利要求1至3任一所述的方法,其特征在于,所述至少两个神经网络结构包括卷积神经网络CNN结构和Transformer结构。
5.根据权利要求1至4任一所述的方法,其特征在于,所述根据搜索空间获取预先训练完成的多个第一神经网络模型之前,还包括:
获取预设的多个原始神经网络模型,所述原始神经网络模型指示所述至少两个神经网络结构和所述至少两个神经网络结构之间的比例;
根据训练样本集对所述多个原始神经网络模型进行训练,得到训练完成的所述多个第一神经网络模型,所述训练样本集中包括多个样本图像。
6.根据权利要求5所述的方法,其特征在于,所述根据训练样本集对所述多个原始神经网络模型进行训练,得到训练完成的所述多个第一神经网络模型,包括:
按照预设采样周期从所述多个原始神经网络模型中确定采样模型;
对于所述训练样本集中的至少一个样本图像,根据所述至少一个样本图像对当前确定出的所述采样模型进行训练得到对应的所述第一神经网络模型。
7.根据权利要求6所述的方法,其特征在于,
所述采样模型为所述多个原始神经网络模型中模型规模最大的模型、或者为所述多个原始神经网络模型中模型规模最小的模型、或者为所述多个原始神经网络模型中随机确定的模型。
8.一种神经网络结构搜索装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令时实现权利要求1-7任意一项所述的方法。
9.一种神经网络结构搜索装置,其特征在于,所述装置包括:
第一获取单元,用于获取目标约束条件,所述目标约束条件指示目标实例为运行神经网络模型所限定的模型规模;
第二获取单元,用于根据搜索空间获取预先训练完成的多个第一神经网络模型,所述搜索空间指示多个模型规模与所述多个第一神经网络模型之间的对应关系,所述多个第一神经网络模型各自的模型结构参数是不同的,所述模型结构参数指示所述第一神经网络模型中的至少两个神经网络结构之间的比例;
筛选单元,用于在所述多个第一神经网络模型中筛选出符合所述目标约束条件的目标神经网络模型。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-7中任意一项所述的方法。
11.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1-7中任意一项所述的方法。
12.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1-7中任意一项所述的方法。
13.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1-7中任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211026784.6A CN117688984A (zh) | 2022-08-25 | 2022-08-25 | 神经网络结构搜索方法、装置及存储介质 |
PCT/CN2023/081678 WO2024040941A1 (zh) | 2022-08-25 | 2023-03-15 | 神经网络结构搜索方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211026784.6A CN117688984A (zh) | 2022-08-25 | 2022-08-25 | 神经网络结构搜索方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117688984A true CN117688984A (zh) | 2024-03-12 |
Family
ID=90012289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211026784.6A Pending CN117688984A (zh) | 2022-08-25 | 2022-08-25 | 神经网络结构搜索方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117688984A (zh) |
WO (1) | WO2024040941A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117829083B (zh) * | 2024-03-01 | 2024-05-28 | 上海励驰半导体有限公司 | 基于神经网络的布线方法、装置、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6799197B2 (ja) * | 2018-05-10 | 2020-12-09 | ヌヴォトンテクノロジージャパン株式会社 | ニューラルネットワーク構築装置、情報処理装置、ニューラルネットワーク構築方法及びプログラム |
CN112445823A (zh) * | 2019-09-04 | 2021-03-05 | 华为技术有限公司 | 神经网络结构的搜索方法、图像处理方法和装置 |
CN111382868A (zh) * | 2020-02-21 | 2020-07-07 | 华为技术有限公司 | 神经网络结构搜索方法和神经网络结构搜索装置 |
US20210383223A1 (en) * | 2020-06-03 | 2021-12-09 | Google Llc | Joint Architecture And Hyper-Parameter Search For Machine Learning Models |
CN111767988A (zh) * | 2020-06-29 | 2020-10-13 | 北京百度网讯科技有限公司 | 神经网络的融合方法和装置 |
CN111767990A (zh) * | 2020-06-29 | 2020-10-13 | 北京百度网讯科技有限公司 | 神经网络的处理方法和装置 |
CN112116090B (zh) * | 2020-09-28 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 神经网络结构搜索方法、装置、计算机设备及存储介质 |
CN112434462A (zh) * | 2020-10-21 | 2021-03-02 | 华为技术有限公司 | 一种模型的获取方法及设备 |
CN112949842B (zh) * | 2021-05-13 | 2021-09-14 | 北京市商汤科技开发有限公司 | 神经网络结构搜索方法、装置、计算机设备以及存储介质 |
CN113505883A (zh) * | 2021-05-31 | 2021-10-15 | 华为技术有限公司 | 一种神经网络训练方法以及装置 |
CN113781518B (zh) * | 2021-09-10 | 2024-05-17 | 商汤集团有限公司 | 神经网络结构搜索方法及装置、电子设备和存储介质 |
CN113869496A (zh) * | 2021-09-30 | 2021-12-31 | 华为技术有限公司 | 一种神经网络的获取方法、数据处理方法以及相关设备 |
CN114330692A (zh) * | 2021-12-30 | 2022-04-12 | 科大讯飞股份有限公司 | 神经网络模型的部署方法、装置、设备及存储介质 |
CN114492767B (zh) * | 2022-03-28 | 2022-07-19 | 深圳比特微电子科技有限公司 | 用于搜索神经网络的方法、装置及存储介质 |
CN115034449A (zh) * | 2022-05-25 | 2022-09-09 | 国网安徽省电力有限公司电力科学研究院 | 架空线停电预测神经网络结构搜索方法及装置 |
-
2022
- 2022-08-25 CN CN202211026784.6A patent/CN117688984A/zh active Pending
-
2023
- 2023-03-15 WO PCT/CN2023/081678 patent/WO2024040941A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024040941A1 (zh) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022083536A1 (zh) | 一种神经网络构建方法以及装置 | |
US10936914B2 (en) | Convolutional neural network with augmentation features | |
CN111275107A (zh) | 一种基于迁移学习的多标签场景图像分类方法及装置 | |
CN111667022A (zh) | 用户数据处理方法、装置、计算机设备和存储介质 | |
US11468316B2 (en) | Cluster compression for compressing weights in neural networks | |
CN113704531A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN114549913B (zh) | 一种语义分割方法、装置、计算机设备和存储介质 | |
CN114970673B (zh) | 一种半监督模型训练方法、系统及相关设备 | |
Rodriguez-Gomez et al. | Codebook hardware implementation on FPGA for background subtraction | |
CN111797992A (zh) | 一种机器学习优化方法以及装置 | |
CN111104954A (zh) | 一种对象分类的方法与装置 | |
CN114419570A (zh) | 一种点云数据识别方法、装置、电子设备及存储介质 | |
CN111222557A (zh) | 图像分类方法、装置、存储介质及电子设备 | |
CN115082790A (zh) | 一种基于连续学习的遥感图像场景分类方法 | |
CN110991247B (zh) | 一种基于深度学习与nca融合的电子元器件识别方法 | |
CN117688984A (zh) | 神经网络结构搜索方法、装置及存储介质 | |
Jiang et al. | Multi-level graph convolutional recurrent neural network for semantic image segmentation | |
CN112183303A (zh) | 变电设备图像分类方法、装置、计算机设备和介质 | |
CN114155388B (zh) | 一种图像识别方法、装置、计算机设备和存储介质 | |
US20170270390A1 (en) | Computerized correspondence estimation using distinctively matched patches | |
CN114118411A (zh) | 图像识别网络的训练方法、图像识别方法及装置 | |
CN115843364A (zh) | 使用交叉连接的连续学习 | |
CN113705598A (zh) | 数据分类方法、装置及电子设备 | |
EP4036811A1 (en) | Combining compression, partitioning and quantization of dl models for fitment in hardware processors | |
US20220036245A1 (en) | EXTRACTING SEQUENCES FROM d-DIMENSIONAL INPUT DATA FOR SEQUENTIAL PROCESSING WITH NEURAL NETWORKS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |