CN114492767A - 用于搜索神经网络的方法、装置及存储介质 - Google Patents
用于搜索神经网络的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114492767A CN114492767A CN202210308712.4A CN202210308712A CN114492767A CN 114492767 A CN114492767 A CN 114492767A CN 202210308712 A CN202210308712 A CN 202210308712A CN 114492767 A CN114492767 A CN 114492767A
- Authority
- CN
- China
- Prior art keywords
- neural network
- training
- sampling
- network structure
- model
- 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.)
- Granted
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
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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/045—Combinations of networks
-
- 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/048—Activation functions
-
- 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
-
- 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)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
Abstract
本公开涉及一种用于搜索神经网络的方法、装置及存储介质。提供了一种用于搜索神经网络的方法,包括:设置神经网络的搜索空间,其中,所述搜索空间包括候选的一个或多个不同类型的作为神经网络单元结构的块以及各个类型的块的超参数的取值范围;以及通过对搜索空间进行采样来获取采样得到的块的类型和超参数,根据所述块的类型和超参数确定对应的神经网络结构,其中,所述采样包括以当前采样的神经网络结构的性能指标为约束并基于贝叶斯优化来获取下一个采样的神经网络结构。
Description
技术领域
本公开总体而言涉及深度学习领域,具体而言涉及一种用于搜索神经网络的方法、装置及存储介质。
背景技术
当前,深度学习的神经网络架构已经大规模走入工业领域。但是,一个好的神经网络架构的诞生往往需要根据人工先验设计出合理的深度与宽度,并配合大量的实验尝试,才能获取一个较为不错的预训练模型。
随着硬件的发展,需要越来越多的基于硬件的模型应用于生产实践中。在硬件上得到“又快又好”的模型是目前神经网络搜索中的难题。并且,如何在较为简易的搜索空间中更为快速和有效地搜索到可以复用迁移到各类任务上的神经网络架构依然是当前学术界和工业界共同面临的难题。
发明内容
为了解决上述问题,本公开提供了一种用于搜索神经网络的方法、装置及存储介质。
根据本公开的第一方面,提供了一种用于搜索神经网络的方法,包括:设置神经网络的搜索空间,其中,所述搜索空间包括候选的一个或多个不同类型的作为神经网络单元结构的块以及各个类型的块的超参数的取值范围;以及通过对搜索空间进行采样来获取采样得到的块的类型和超参数,根据所述块的类型和超参数确定对应的神经网络结构,其中,所述采样包括以当前采样的神经网络结构的性能指标为约束并基于贝叶斯优化来获取下一个采样的神经网络结构。
根据本公开的第二方面,提供了一种用于搜索神经网络的装置,包括:设置模块,所述设置模块被配置为设置神经网络的搜索空间,其中,所述搜索空间包括候选的一个或多个不同类型的作为神经网络单元结构的块以及各个类型的块的超参数的取值范围;以及采样模块,所述采样模块被配置为通过对搜索空间进行采样来获取采样得到的块的类型和超参数,根据所述块的类型和超参数确定对应的神经网络结构,其中,所述采样包括以当前采样的神经网络结构的性能指标为约束并基于贝叶斯优化来获取下一个采样的神经网络结构。
根据本公开的第三方面,提供了一种非暂态计算机可读存储介质,其上存储有程序,其特征在于,当所述程序由计算机执行时,使得所述计算机执行根据本公开的第一方面所述的方法。
根据本公开的第四方面,提供了一种用于搜索神经网络的装置,包括存储器和处理器,所述存储器与所述处理器通信耦合,所述存储器中存储有程序,所述程序当由处理器执行时,使得所述处理器执行根据本公开的第一方面所述的方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出了根据本公开的实施例的用于搜索神经网络的方法的流程图;
图2示出了根据本公开的实施例的作为候选神经网络单元结构的块的示意图;
图3示出了根据本公开的实施例的用于搜索神经网络的方法的流程图;
图4示出了根据本公开的实施例的用于搜索神经网络的装置的示意图;
图5示出了根据本公开的实施例的用于搜索神经网络的装置的示意图。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,公开并不限于附图等所公开的位置、尺寸及范围等。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的电路和方法是以示例性的方式示出,来说明本公开中的电路或方法的不同实施例,而并非意图限制。本领域的技术人员将会理解,它们仅仅说明可以用来实施本公开的示例性方式,而不是穷尽的方式。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
图1示出了根据本公开的实施例的用于搜索神经网络的方法的流程图。
如图1所示,在S11处,可以设置神经网络的搜索空间。
搜索空间可以包括候选的一个或多个不同类型的作为神经网络单元结构的块。图2示出了根据本公开的实施例中的候选的作为神经网络单元结构的块的示意图。应理解的是,图2示出的仅仅是常见的四种类型的块,本公开不限于此,而是可以根据需要包括更多其他类型的神经网络单元结构作为候选块。此外,应理解的是,在搜索神经网络时,所选择的块的类型和块内部的超参数可能发生变化。
具体而言,Regular块(Regular block)可以依次包括输入层(input)、卷积层(conv)、批量归一化层(Batch Normalization,BN)、激活层(Rectified Linear Units,ReLU),由这些层简单堆叠构成。
Depthwise块(Depthwise block)可以依次包括输入层、卷积层、批量归一化层、激活层、1x1卷积核(conv 1x1)、批量归一化层;并且存在跨接(add)的可能,即,out=f(x)+x,如图2所示,可以将Depthwise块的输出与输入跨接输出。
Mobile块(Mobile block)可以依次包括输入层、Pointwise层、Depthwise层、Pointwise层;并且,存在通道扩张比例(exp_ratio),即,中间通道有可能进行扩充;出现倒残差的情况;并且存在跨接(add)的可能,即,out=f(x)+x,如图2所示,可以将Mobile块的输出与输入跨接输出。Pointwise层可以包括1x1卷积核和批量归一化层。Depthwise层可以包括卷积核(conv),在Mobile block中常用3x3卷积核,并且还包括批量归一化层。通过第一个Pointwise层进行降维且第二个Pointwise层进行升维或者第一个Pointwise层进行升维且第二个Pointwise层进行降维来实现残差或倒残差,以增强特征表述。
Repvgg块(Repvgg block)可以包括普通卷积和1x1卷积,其中,普通卷积可以包括普通卷积层,1x1卷积可以包括1x1卷积。
神经网络的搜索空间还可以包括神经网络的各个类型的候选块的超参数的取值范围。作为非限制性示例,根据本公开的搜索空间可以涉及以下超参数中的一种或多种:kernel size(卷积核的大小)、groups(分组卷积的组数)、skip(是否需要跨接以形成恒等映射)、filter_num(卷积核的数量)、exp_ratio(通道扩张的比例)、stride(卷积步长)。具体而言,如果搜索得到的groups取值为1,则块采取普通卷积;如果搜索得到的groups取值为非1的其他正整数,则块采取分组卷积。exp_ratio可以是指在倒残差结构中的中间的通道所乘以的系数。作为非限制性示例,倒残差结构中包括的通道数分别为24、96、24,那么该倒残差结构的相应的通道扩张比例为96/24=4。在根据本公开的实施例中,filter_num可以直接表示卷积核的数量;在根据本公开的实施例中,filter_num也可以在确定的基数的基础上表示为比例系数,即每层卷积核的数量=基数×比例系数,这样可以在搜索中每层的卷积核数量可能不确定的情况下将卷积核数量在确定的基数上进行扩张或者收缩,从而有利于确保参数量和精度的平衡。
此外,根据本公开的神经网络中可以包括多个相同类型的块,诸如,可以在每个块后连续或非连续地衔接一定数量的相同类型的块。因此,根据本公开的搜索空间还可以包括神经网络中的各类型的块的数量(block_num)。
根据本公开的搜索空间的一个非限制性示例如下:
kernel size = {1, 3, 5, 7};
groups = {1, 2, 4, 8, 16, 32, 64};
skip = {identity, no};
exp_ratio = {1, 2, 3, 4, 5, 6};
filter_num = {0.5, 0.75, 1, 1.25, 1.5}(这里,filter_num被限定为如前文所述的比例系数);
stride = {1, 2};
block_num = {1, 2, 3, 4, 5}。
应理解的是,以上数值范围仅仅是非限制性示例,并且各个超参数的取值范围可以根据需要进行调整。
返回参考图1,接着在S12处,可以对搜索空间进行采样来获取采样得到的块的类型和超参数,根据所述块的类型和超参数确定对应的神经网络结构。应理解的是,这里,超参数是指无法通过学习获取的关于神经网络模型的结构的参数;在块的类型及超参数已确定的基础上,对应的基础的神经网络结构是确定的。
采样可以包括以当前采样的神经网络结构的性能指标为约束并基于贝叶斯优化来获取下一个采样的神经网络结构。优选地,采取TPE(Tree-structured ParzenEstimator)算法来获取下一个采样的神经网络结构。TPE算法能够以较快的速度收敛,同时会对较优点附近区域进行探索。由于TPE算法内部存在较优点的竞争机制,因此在多最优点的问题中,该算法可以仅收敛于某一最优点。因此,TPE算法具有很好的收敛能力和探索能力,能够专一、精细地对某一最优区域进行搜索。但应理解的是,其他贝叶斯优化算法也可以用于获取下一个采样的神经网络结构,诸如但不限于采用高斯过程或随机森林作为回归模型的基于模型的序贯优化(Sequential Model Based Optimization,SMBO)算法。
通过采样在搜索空间中进行搜索的步骤(即,S12)的更详细的流程可以参考图3。图3示出了根据本公开的实施例的用于搜索神经网络的方法的流程图。
如图3所示,在S121处,可以基于训练集对当前采样的神经网络结构进行训练,以获取经训练的神经网络模型。在神经网络结构因为采样而相对确定的基础上,可以进行神经网络训练以得到经训练的神经网络模型,例如,得到神经网络模型的更新的参数。
在根据本公开的实施例中,对于每次采样得到的神经网络结构,可以利用正常的单个任务训练集进行训练。应理解的是,在根据本公开的实施例中,也可以仅利用训练集的一部分数据进行训练。例如,对于诸如ImageNet之类的数据集而言,可以随机选用40k的数据量作为训练集,对于诸如PASCAL VOC或者COCO之类的检测数据集而言,可以随机选用40%的数据量作为训练集。在根据本公开的实施例中,对于每次采样得到的神经网络结构,可以仅训练预定数量的epoch,即,仅进行较少的有限数量次的正向计算损失loss和反向传播梯度,而非进行完整周期的、从头到尾的训练。作为非限制性示例,可以仅训练5个epoch。在根据本公开的实施例中,对于每次采样得到的神经网络结构,可以在不设置衰减策略的情况下采取预定的学习率进行训练。作为非限制性示例,可以将学习率设置为0.01。
在S122处,可以基于验证集获取经训练的神经网络模型的精度(acc)。具体而言,验证集可以与训练集相同或不同。验证集可以是由从如上所述的数据集中选择(诸如,随机选择)的数据构成的集合,也可以是由训练集中的数据构成的集合。在根据本公开的实施例中,对于每次采样的经训练的神经网络模型,可以利用正常的单个任务的验证集计算模型的精度。应理解的是,在根据本公开的实施例中,也可以仅利用验证集中的一部分数据进行验证以获取精度。精度(acc)的计算方法是本领域中公知的,在此不进行详述。
在S123处,可以在精度的基础上以性能指标为约束获取与经训练的神经网络模型对应的得分。
在根据本公开的实施例中,性能指标可以包括神经网络模型的参数量、时延、内存占用、芯片面积等。
其中,Reward为得分,acc为基于验证集获取的经训练的神经网络模型的精度,P为对当前采样的神经网络结构进行统计得到的参数量,α指示精度与参数量之间的权重,β指示“参数量的幅度”或者“参数量的温度”。
从上式可以看出,对神经网络模型进行统计得到的参数量越接近100k,以及该模型的精度越高,则对应的得分越高。通过对参数量进行约束,可以有利地避免得到的模型的参数过多或过少,从而兼顾模型的精度以及在硬件端运行的时耗或算力约束。
应理解的是,以上计算得分的式子仅仅是针对参数量的性能指标的非限制性示例,并且其中与参数量相关的参数和变量可以被改变为与诸如时延、内存占用、芯片面积之类的性能指标相关的参数和变量,以实现针对其他性能指标的约束。即,直接将上述P换成时延、内存占用或芯片面积,对应后面的“100”换成分别对应于时延、内存占用或芯片面积的数值。并且,应理解的是,以上式子针对作为性能指标之一的参数量利用高斯函数进行约束,但本公开不限于此,用于约束的函数不限于高斯函数。
应理解的是,以上计算得分的式子为单目标评价函数。在根据本公开的实施例中,除了参数量之外,还可以以时延、内存占用、芯片面积等指标来衡量模型的性能,从而形成多目标评价函数,即,可以针对神经网络结构的性能指标中的两种或更多种进行约束。作为非限制性示例,对于参数量估计值为并且时延估计值为的神经网络结构,其得分可以通过下式计算得到:
其中,α1指示精度与参数量之间的权重,β1指示“参数量的幅度”或者“参数量的温度”,α2指示精度与时延之间的权重,β2指示“时延的幅度”或者“时延的温度”。
此外,在以上关于S122和S123的描述中,得分是基于经训练的神经网络模型的精度(acc),但应理解的是,本公开不限于此,而是可以基于神经网络的其他衡量指标(诸如但不限于,Precision、AP、mAP等)得到模型的得分以用于采样。具体而言,对于用于计算得分的以上多个式子,可以将其中的acc替换为其他衡量指标,诸如,Precision、AP、mAP等。
在S124处,可以基于得分获取下一个采样的神经网络结构。具体而言,可以采取TPE算法,包括:采取核密度估计(Kernel Density Estimation,KDE)方法,分类建立代理模型,其中,代理模型对得分与超参数之间的关系进行近似;以及采用EI(ExpectedImprovement)作为采集函数,生成下一个超参数的样本点。与其余SMBO算法运用回归的方式建立代理模型不同,TPE采用分类的方式建立代理模型,分类的代理模型不会直接估算各个样本点的输出,而是模糊地将样本点切分为优和差两类,并分别利用KDE方法进行建模;采集函数会根据KDE方法进行采样以选择样本点,选择出的样本点离优类(即,得分更高)近,离差类(即,得分更低)远。通过TPE算法,期望的是得到的下一个采样的神经网络结构对应的得分比当前采样的神经网络结构对应的得分更高。有利的是,与常规使用的基于强化学习的搜参方法相比,基于TPE算法的搜参方法耗时更短。
在S124之后,流程可以返回到S121,直到已经进行足够的采样为止,诸如,已经完成预定的次数的采样,或者已收敛到最优点(即,可视为已得到贝叶斯公式中的最大条件概率)。
在S121至S124(即,S12)所述的采样搜索阶段期间,优选地,不使用全量数据进行完整训练,而是采取代理任务,使用一定比例的数据和周期。诸如,在S121处的训练过程中,对于每次采样到的模型,只训练5个epoch;在S121和S122处的训练过程和验证过程中,对于诸如ImageNet之类的数据集而言,从训练集中随机选用40k的数据量作为训练集和验证集,对于诸如PASCAL VOC或者COCO之类的检测数据集而言,选用40%的数据量作为训练集和验证集;在S121处的训练过程中,在搜参过程中学习率设置为0.01,不设置任何衰减策略;在每次搜参过程中,设置1000至2000次实验等等。
返回参考图1,在根据本公开的实施例中,接着,在S13处,可以按照得分从所采样的神经网络结构中选择多个神经网络结构。作为非限制性示例,按照得分从高到低的顺序选择前15个神经网络结构,选择出的这些神经网络可以同时满足精度和诸如参数量之类的性能指标的要求。
在根据本公开的实施例中,在S14处,可以基于全量数据对选择出的多个神经网络结构进行训练和验证,以获取最优神经网络模型。优选地,在S14处,可以对选择出的多个神经网络结构进行全量数据的完整周期的训练。最优神经网络模型可以是指得分最高的模型;应理解的是,最优神经网络模型也可以是指以其他指标为衡量标准(诸如,仅考虑精度(acc)或仅考虑参数量)的最优模型。
在S13至S14所述的训练和验证阶段期间,作为非限制性示例,可以满足:使用全量数据进行训练和验证,设置150个epoch的周期,使用余弦(cosine)的学习率衰减方式,配合随机梯度下降(Stochastic Gradient Descent,SGD)优化器。这样可以有利地更容易得到最优神经网络模型。
在根据本公开的实施例中,方法还可以包括将搜索得到的神经网络结构(特别是其中进一步被确定为最优的神经网络结构)迁移复用至其他任务,诸如检测、分割等。有利地,搜索得到的神经网络结构可以被迁移到任意任务中作为主干网络(backbone),并在任务中具有良好的表现。
在根据本公开的实施例中,方法还可以包括对最优神经网络模型进行微调(finetune),以保证模型参数的鲁棒性。具体而言,在将神经网络用于下游的诸如检测、分割等任务时,可以将利用全量数据训练好的模型参数载入到主干网络中并加上检测、分割等任务所需要的用于收集不同阶段特征的网络层(neck)和用于预测的头部(head)进行训练,以完成微调。在为了下游任务而更改数据源后,通过学习得到相关的参数,其仍然服从目标数据源的数据分布,具有良好的鲁棒性。
在根据本公开的实施例中,对于搜索得到(例如,在S13处选择出的)的多个神经网络结构,还可以通过对比学习生成预训练模型,并将预训练模型进行微调以用于下游的任务。具体而言,通过对比学习,可以不进行有监督的训练,即不需要用到数据的标签,而是直接在无标签数据集上进行训练,以动量对比学习(Momentum Contrast,MoCo)为例,可以采用队列存放正样本和负样本的相似度,并用动量编码器来更新参数,其目的在于学习得到一种表征。将这种表征应用到下游任务中,配合下游的neck和head可以对物体的位置、语义类别等进行更好的区分,可能有利地具有优于有监督学习的效果。
图4示出了根据本公开的实施例的用于搜索神经网络的装置400的示意图。如图4所示,该装置400可以包括设置模块410,该设置模块410可以被配置为设置神经网络的搜索空间。装置400可以包括采样模块420,该采样模块420可以被配置为通过对搜索空间进行采样来获取采样得到的块的类型和超参数,根据所述块的类型和超参数确定对应的神经网络结构。在根据本公开的实施例中,装置400还可以包括选择模块430,该选择模块430可以被配置为按照得分从所采样的神经网络结构中选择多个神经网络结构,以及基于全量数据对选择出的多个神经网络结构进行训练和验证,以获取最优神经网络模型。
图5示出了根据本公开的实施例的用于搜索神经网络的装置500的示意图。如图5所示,装置500包括一个或多个处理器510、一个或多个存储器520、以及通常存在于计算机等装置中的其他组件(未示出)。一个或多个存储器520中的每一个可以存储可以由一个或多个处理器510访问的内容,包括可以由一个或多个处理器510执行的指令521、以及可以由一个或多个处理器510来检索、操纵或存储的数据522。
指令521可以是将由一个或多个处理器510直接地执行的任何指令集,诸如机器代码,或者间接地执行的任何指令集,诸如脚本。本文中的术语“指令”、“应用”、“过程”、“步骤”和“程序”在本文中可以互换使用。指令521可以存储为目标代码格式以便由一个或多个处理器510直接处理,或者存储为任何其他计算机语言,包括按需解释或提前编译的独立源代码模块的脚本或集合。指令521可以包括引起诸如一个或多个处理器510来充当本文中的各模型的指令。本文其他部分更加详细地解释了指令521的功能、方法和例程。
一个或多个存储器520可以是能够存储可由一个或多个处理器510访问的内容的任何临时性或非临时性计算机可读存储介质,诸如硬盘驱动器、存储卡、ROM、RAM、DVD、CD、USB存储器、能写存储器和只读存储器等。一个或多个存储器520中的一个或多个可以包括分布式存储系统,其中指令521和/或数据522可以存储在可以物理地位于相同或不同的地理位置处的多个不同的存储装置上。一个或多个存储器520中的一个或多个可以经由网络连接至一个或多个处理器510,和/或可以直接地连接至或并入一个或多个处理器510中的任何一个中。
一个或多个处理器510可以根据指令521来检索、存储或修改数据522。存储在一个或多个存储器520中的数据522可以包括上文所述的一个或多个存储装置310中存储的各项中一项或多项的至少部分。数据522可以被格式化为任何计算装置可读格式,诸如但不限于二进制值、ASCII或统一代码。此外,数据522可以包括足以识别相关信息的任何信息,诸如编号、描述性文本、专有代码、指针、对存储在诸如其他网络位置处等其他存储器中的数据的引用或者被函数用于计算相关数据的信息。
一个或多个处理器510可以是任何常规处理器,诸如市场上可购得的中央处理单元(CPU)等。可替换地,一个或多个处理器510还可以是专用组件,诸如专用集成电路(ASIC)或其他基于硬件的处理器。
虽然图5中示意性地将一个或多个处理器510以及一个或多个存储器520示出在同一个框内,但是装置500可以实际上包括可能存在于同一个物理壳体内或不同的多个物理壳体内的多个处理器或存储器。例如,一个或多个存储器520中的一个可以是位于与上文所述的一个或多个计算装置(未示出)中的每一个的壳体不同的壳体中的硬盘驱动器或其他存储介质。因此,引用处理器、计算机、计算装置或存储器应被理解成包括引用可能并行操作或可能非并行操作的处理器、计算机、计算装置或存储器的集合。
根据本公开的用于搜索神经网络的方法和装置具有包括如下的优点:
扩大了搜索空间,搜索空间集合了当前常用的、适用于硬件的一些块,并且使得结构可以由单独的某一种块堆叠演变到多种块交叉混合,允许块的多次复用,较为灵活;
在采用的搜参策略中进行多次实验,每次实验为一个单独采样的神经网络结构,各实验之间相互独立,避免了采取超级网络之类的复杂构建方式;
搜参时建立的是代理任务,无需使用全量数据对每个采样的神经网络结构进行完整的从头到尾训练,大大降低了搜参的时耗,确保搜索的实时性;
除了精度外,还引入其他模型性能指标作为搜参策略的约束,并且引入参数来调整二者之间的权重和幅值,使得模型结构在保证精度的同时沿着性能最好的方向演进;
搜索出的神经网络结构具有一定的复用和迁移性,可以作为主干网络应用于检测、分类、分割等任务上。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
另外,在本公开的描述中,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性和顺序。
本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。
Claims (24)
1.一种用于搜索神经网络的方法,包括:
设置神经网络的搜索空间,其中,所述搜索空间包括候选的一个或多个不同类型的作为神经网络单元结构的块以及各个类型的块的超参数的取值范围;以及
通过对搜索空间进行采样来获取采样得到的块的类型和超参数,根据所述块的类型和超参数确定对应的神经网络结构,
其中,所述采样包括以当前采样的神经网络结构的性能指标为约束并基于贝叶斯优化来获取下一个采样的神经网络结构。
2.根据权利要求1所述的方法,其中,对搜索空间进行采样包括:
基于训练集对当前采样的神经网络结构进行训练,以获取经训练的神经网络模型;
基于验证集获取所述经训练的神经网络模型的精度;
在所述精度的基础上以所述性能指标为约束获取与所述经训练的神经网络模型对应的得分;以及
基于所述得分获取下一个采样的神经网络结构。
3.根据权利要求2所述的方法,其中,基于所述得分获取下一个采样的神经网络结构采取TPE算法,包括:
采取核密度估计KDE方法,分类建立代理模型,其中,所述代理模型对得分与超参数之间的关系进行近似;以及
采用EI作为采集函数,生成下一个超参数的样本点。
4.根据权利要求1所述的方法,所述性能指标为神经网络模型的参数量、时延、内存占用、芯片面积中的一个或多个。
6.根据权利要求2所述的方法,其中,通过采样在所述搜索空间中进行的搜索满足以下中的一项或多项:
基于训练集中的一部分数据对采样的神经网络结构进行训练;
对采样的神经网络结构进行预定数量的epoch的训练;
在不设置衰减策略的情况下采取预定的学习率对采样的神经网络结构进行训练;
基于验证集中的一部分数据获取精度;以及
进行预定数量次的采样。
7.根据权利要求2或6所述的方法,其中,所述方法还包括:
按照得分从所采样的神经网络结构中选择多个神经网络结构;以及
基于全量数据对选择出的多个神经网络结构进行训练和验证,以获取最优神经网络模型。
8.根据权利要求7所述的方法,其中,所述方法还包括对所述最优神经网络模型进行微调以用于下游的任务。
9.根据权利要求7所述的方法,其中,基于全量数据的训练满足以下中的一项或多项:
进行比采样阶段更多的epoch;
采取余弦学习率衰减方式;以及
采取SGD优化器。
10.根据权利要求2或6所述的方法,其中,所述方法还包括:
按照得分从所采样的神经网络结构中选择多个神经网络结构;
通过对比学习在选择出的多个神经网络结构的基础上生成预训练模型;以及
将所述预训练模型进行微调以用于下游的任务。
11.根据权利要求1所述的方法,其中,所述超参数包括以下中的一项或多项:
卷积核的大小;
分组卷积的组数;
是否跨接;
卷积核的数量;
通道扩张的比例;
卷积步长;以及
各类型的块的数量。
12.根据权利要求1所述的方法,其中,所述块包括以下中的一种或多种:
Regular块;
Depthwise块;
Mobile块;以及
Repvgg块。
13.一种用于搜索神经网络的装置,包括:
设置模块,所述设置模块被配置为设置神经网络的搜索空间,其中,所述搜索空间包括候选的一个或多个不同类型的作为神经网络单元结构的块以及各个类型的块的超参数的取值范围;以及
采样模块,所述采样模块被配置为通过对搜索空间进行采样来获取采样得到的块的类型和超参数,根据所述块的类型和超参数确定对应的神经网络结构,
其中,所述采样包括以当前采样的神经网络结构的性能指标为约束并基于贝叶斯优化来获取下一个采样的神经网络结构。
14.根据权利要求13所述的装置,其中,对搜索空间进行采样包括:
基于训练集对当前采样的神经网络结构进行训练,以获取经训练的神经网络模型;
基于验证集获取所述经训练的神经网络模型的精度;
在所述精度的基础上以所述性能指标为约束获取与所述经训练的神经网络模型对应的得分;以及
基于所述得分获取下一个采样的神经网络结构。
15.根据权利要求14所述的装置,其中,基于所述得分获取下一个采样的神经网络结构采取TPE算法,包括:
采取核密度估计KDE方法,分类建立代理模型,其中,所述代理模型对得分与超参数之间的关系进行近似;以及
采用EI作为采集函数,生成下一个超参数的样本点。
16.根据权利要求13所述的装置,所述性能指标为神经网络模型的参数量、时延、内存占用、芯片面积中的一个或多个。
18.根据权利要求14所述的装置,其中,通过采样在所述搜索空间中进行的搜索满足以下中的一项或多项:
基于训练集中的一部分数据对采样的神经网络结构进行训练;
对采样的神经网络结构进行预定数量的epoch的训练;
在不设置衰减策略的情况下采取预定的学习率对采样的神经网络结构进行训练;
基于验证集中的一部分数据获取精度;以及
进行预定数量次的采样。
19.根据权利要求14或18所述的装置,其中,所述装置还包括选择模块,所述选择模块被配置为:
按照得分从所采样的神经网络结构中选择多个神经网络结构;以及
基于全量数据对选择出的多个神经网络结构进行训练和验证,以获取最优神经网络模型。
20.根据权利要求19所述的装置,其中,所述选择模块还被配置为对所述最优神经网络模型进行微调以用于下游的任务。
21.根据权利要求19所述的装置,其中,基于全量数据的训练满足以下中的一项或多项:
进行比采样阶段更多的epoch;
采取余弦学习率衰减方式;以及
采取SGD优化器。
22.根据权利要求14或18所述的装置,其中,所述装置还包括选择模块,所述选择模块被配置为:
按照得分从所采样的神经网络结构中选择多个神经网络结构;
通过对比学习在选择出的多个神经网络结构的基础上生成预训练模型;以及
将所述预训练模型进行微调以用于下游的任务。
23.一种非暂态计算机可读存储介质,其上存储有程序,其特征在于,当所述程序由计算机执行时,使得所述计算机执行根据权利要求1-12中的任一项所述的方法。
24.一种用于搜索神经网络的装置,包括存储器和处理器,所述存储器与所述处理器通信耦合,所述存储器中存储有程序,所述程序当由处理器执行时,使得所述处理器执行根据权利要求1-12中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210308712.4A CN114492767B (zh) | 2022-03-28 | 2022-03-28 | 用于搜索神经网络的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210308712.4A CN114492767B (zh) | 2022-03-28 | 2022-03-28 | 用于搜索神经网络的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114492767A true CN114492767A (zh) | 2022-05-13 |
CN114492767B CN114492767B (zh) | 2022-07-19 |
Family
ID=81487987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210308712.4A Active CN114492767B (zh) | 2022-03-28 | 2022-03-28 | 用于搜索神经网络的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114492767B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034368A (zh) * | 2022-06-10 | 2022-09-09 | 小米汽车科技有限公司 | 车载模型训练方法、装置、电子设备、存储介质及芯片 |
WO2024040941A1 (zh) * | 2022-08-25 | 2024-02-29 | 华为云计算技术有限公司 | 神经网络结构搜索方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200082275A1 (en) * | 2018-09-10 | 2020-03-12 | Fujitsu Limited | Neural network architecture search apparatus and method and computer readable recording medium |
CN113592060A (zh) * | 2020-04-30 | 2021-11-02 | 华为技术有限公司 | 一种神经网络优化方法以及装置 |
-
2022
- 2022-03-28 CN CN202210308712.4A patent/CN114492767B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200082275A1 (en) * | 2018-09-10 | 2020-03-12 | Fujitsu Limited | Neural network architecture search apparatus and method and computer readable recording medium |
CN110889487A (zh) * | 2018-09-10 | 2020-03-17 | 富士通株式会社 | 神经网络架构搜索装置和方法及计算机可读记录介质 |
CN113592060A (zh) * | 2020-04-30 | 2021-11-02 | 华为技术有限公司 | 一种神经网络优化方法以及装置 |
Non-Patent Citations (2)
Title |
---|
LIU C ET AL: "Progressive Neural Architecture Search", 《PROCEEDINGS OF THE EUROPEAN CONFERENCE ON COMPUTER VISION(ECCV).MUNICH GERMANY:IEEE》 * |
卞伟伟等: "基于神经网络结构搜索的目标识别方法", 《空军工程大学学报(自然科学版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034368A (zh) * | 2022-06-10 | 2022-09-09 | 小米汽车科技有限公司 | 车载模型训练方法、装置、电子设备、存储介质及芯片 |
CN115034368B (zh) * | 2022-06-10 | 2023-09-29 | 小米汽车科技有限公司 | 车载模型训练方法、装置、电子设备、存储介质及芯片 |
WO2024040941A1 (zh) * | 2022-08-25 | 2024-02-29 | 华为云计算技术有限公司 | 神经网络结构搜索方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114492767B (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114492767B (zh) | 用于搜索神经网络的方法、装置及存储介质 | |
WO2019186194A2 (en) | Ensemble model creation and selection | |
JP7111671B2 (ja) | 学習装置、学習システム、および学習方法 | |
JP2015210750A (ja) | 検出装置、検出方法、およびプログラム | |
CN108509324B (zh) | 选择计算平台的系统和方法 | |
US11288580B2 (en) | Optimal solution search method, optimal solution search program, and optimal solution search apparatus | |
WO2019089267A1 (en) | Learning the structure of hierarchical extraction models | |
CN116306888B (zh) | 神经网络剪枝方法、装置、设备及存储介质 | |
CN113176022B (zh) | 一种分段式神经网络压力传感器压力检测方法及系统 | |
US20220108180A1 (en) | Method and apparatus for compressing artificial neural network | |
KR20210107491A (ko) | 어노말리 데이터 생성 방법 | |
CN112164426A (zh) | 基于TextCNN的药物小分子靶点活性预测方法和装置 | |
KR20220017497A (ko) | 이미지 특징 추출 및 네트워크의 훈련 방법, 장치 및 기기 | |
CN110837555A (zh) | 海量文本去重筛选的方法、设备和存储介质 | |
CN113159115A (zh) | 基于神经架构搜索的车辆细粒度识别方法、系统和装置 | |
CN114511083A (zh) | 一种模型的训练方法、装置、存储介质及电子装置 | |
US20190392331A1 (en) | Automatic and self-optimized determination of execution parameters of a software application on an information processing platform | |
CN111832693A (zh) | 神经网络层运算、模型训练方法、装置及设备 | |
CN104111887A (zh) | 基于Logistic模型的软件故障预测系统及方法 | |
US20220076121A1 (en) | Method and apparatus with neural architecture search based on hardware performance | |
US20200050970A1 (en) | Learning device and learning method | |
CN108229572B (zh) | 一种参数寻优方法及计算设备 | |
CN104391828A (zh) | 确定短文本相似度的方法和装置 | |
CN111401569B (zh) | 超参数优化方法、装置和电子设备 | |
EP4148623A1 (en) | Hyperparameter adjustment device, non-transitory recording medium in which hyperparameter adjustment program is recorded, and hyperparameter adjustment program |
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 |