CN116663624A - 网络获取的方法、装置、电子设备及计算机可读介质 - Google Patents
网络获取的方法、装置、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN116663624A CN116663624A CN202210138688.4A CN202210138688A CN116663624A CN 116663624 A CN116663624 A CN 116663624A CN 202210138688 A CN202210138688 A CN 202210138688A CN 116663624 A CN116663624 A CN 116663624A
- Authority
- CN
- China
- Prior art keywords
- network
- sub
- target
- subnetwork
- training
- 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
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000012549 training Methods 0.000 claims abstract description 166
- 238000004590 computer program Methods 0.000 claims description 9
- 239000006185 dispersion Substances 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000007667 floating Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000003062 neural network model Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 6
- 239000012014 frustrated Lewis pair Substances 0.000 description 6
- 238000005070 sampling Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种网络获取的方法、装置、电子设备及计算机可读介质,应用于电子设备,所述方法包括:获取初始超网络,所述初始超网络包括至少一个子网络;从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络;基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。本申请通过查找并训练运算能力满足指定运算需求的目标子网络,使目标子网络能够获得较为充分的训练,并使得到训练的子网络尽量聚集在给定的约束条件下,避免子网络过度分散。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种网络获取的方法、装置、电子设备及计算机可读介质。
背景技术
目前,深度神经网络在很多领域取得了重要的成果,而深度神经网络模型的结构对其性能具有直接的影响。为了以较高效率选出适应不同任务需求的最优的模型结构,可以预先构建包含所有可能的模型结构的超网络,对超网络进行训练,然后在实际深度学习任务中,从超网络中搜索出合适的子网络作为执行该深度学习任务的神经网络模型。然而,目前对超网络的训练方法效果较差,不够理想。
发明内容
本申请提出了一种网络获取的方法、装置、电子设备及计算机可读介质。
第一方面,本申请实施例提供了一种网络获取的方法,应用于电子设备,所述方法包括:获取初始超网络,所述初始超网络包括至少一个子网络;从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络;基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
第二方面,本申请实施例还提供了一种网络获取的装置,应用于电子设备,所述装置包括:获取单元、查找单元以及训练单元。其中,获取单元,用于获取初始超网络,所述初始超网络包括至少一个子网络;查找单元,用于从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络;训练单元,用于基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
第三方面,本申请实施例还提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述方法。
第四方面,本申请实施例还提供了一种计算机可读介质,所述可读存储介质存储有处理器可执行的程序代码,所述程序代码被所述处理器执行时使所述处理器执行上述方法。
第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法。
本申请提供的网络获取的方法、装置、电子设备及计算机可读介质,该方法首先获取初始超网络,从超网络中包括的至少一个子网络中,查找运算能力满足指定运算需求的目标子网络,基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。若随机搜索子网络进行训练,容易被采样到的子网络能够得到较充分的训练,而不容易被采样到的子网络不能得到较充分的训练,使训练的子网络过于分散。本申请通过查找并训练运算能力满足指定运算需求的目标子网络,可以排除对运算能力差的子网络的训练,使得训练的子网络尽量聚集在给定的约束条件下,提高了训练效率,同时避免子网络过度分散。
本申请实施例的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请实施例的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了超网络训练过程中子网的统计分布情况;
图2示出了本申请实施例提供的网络获取的方法应用的场景图;
图3示出了本申请实施例提供的网络获取的方法流程图;
图4示出了本申请又一实施例提供的网络获取的方法流程图;
图5示出了本申请还一实施例提供的网络获取的方法流程图;
图6示出了本申请还一实施例提供的网络获取的方法流程图;
图7示出了本申请另一实施例提供的网络获取的方法流程图;
图8示出了本申请实施例提供的网络获取的装置的单元框图;
图9示出了本申请实施例提供的电子设备的示意图;
图10示出了本申请实施例提供的计算机可读存储介质的结构框图;
图11示出了本申请实施例提供的计算机程序产品的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前,深度神经网络在很多领域取得了重要的成果,而深度神经网络模型的结构对其性能具有直接的影响。传统的神经网络模型的结构是专家根据经验设计的,需要丰富的专家知识,网络结构的设计成本较高。现在通常使用网络结构自动搜索(NeuralArchitecture Search,NAS)通过算法代替繁琐的人工操作,自动搜索出最佳的神经网络架构。
具体的,可以预先构建包含所有可能的模型结构的超网络,对超网络进行训练,然后在实际深度学习任务中,从超网络中搜索出合适的子网络作为执行该深度学习任务的神经网络模型。
然而,发明人在研究中发现,通过目前方法随机搜索子网络进行训练,容易导致采样到的子网络过于分散。且容易被采样到的子网络能够得到较充分的训练,而不容易被采样到的子网络不能得到较充分的训练,导致一些区域的子网络训练不充分,训练获得的超网络效果不理想。例如,请参阅图1,图1的横坐标为浮点运算次数(Floating PointOperations,FLOPs),可以用于表征子网络模型的复杂程度,纵坐标为数量(Quantity),可以用于表征子网络被采样的次数,可以看到浮点运算次数FLOPs分布在40G~60G区间内被采样到的几率会很高,而分布在其他区域内的子网被采样到的几率很低,导致这些区域内的子网络会训练不充分。其中,G为单位giga,即1GFLOPs=109FLOPs。
因此,为了克服上述缺陷,本申请提供了一种网络获取的方法、装置、电子设备及计算机可读介质,该方法首先获取初始超网络,从超网络中包括的至少一个子网络中,查找运算能力满足指定运算需求的目标子网络,基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。若随机搜索子网络进行训练,容易导致采样到的子网络过于分散。且容易被采样到的子网络能够得到较充分的训练,而不容易被采样到的子网络不能得到较充分的训练,导致一些区域的子网络训练不充分。本申请通过查找并训练运算能力满足指定运算需求的目标子网络,使目标子网络能够获得较为充分的训练,并使得训练的子网络尽量聚集在给定的约束条件下,避免子网络过度分散。
请参阅图2,图2示出了本申请实施例提供的网络获取的方法的应用场景,即网络获取场景200,其中,该网络获取场景200包括电子设备210以及互联网220,该电子设备200可以和互联网220连接。
对于一些实施方式,该电子设备210可以通过有线连接或者无线连接和互联网220连接,以接收或发送消息等。一种示例性的,可以通过电子设备210与互联网220发送与语音交互、文本分类、图像识别、关键点检测等任务相关的深度学习任务请求。电子设备220上可以安装有能实现不同功能的应用程序,例如图像处理类应用程序、信息分析类应用程序、语音助手类应用程序等。其中,有线连接还可以包括通过网络电缆或光纤接入互联网220;无线连接还可以包括通过无线通信技术(Wi-Fi)、紫蜂ZigBee、蓝牙Bluetooth等技术连接至互联网220。具体的,该电子设备210可以为智能手机、平板电脑、车载电脑、笔记本电脑、台式计算机等设备。
进一步的,电子设备210可以预先获取深度学习任务数据来构建训练样本,并利用该训练样本来训练用于实现上述各种服务的神经网络。在接收到任务请求时,电子设备210可以实现对神经网络的模型结构的自动搜索和优化。具体的,电子设备210可以通过超网络来实现神经网络的模型结构的自动搜索。
进一步的,该电子设备210可以通过互联网220获取训练样本,然后在本地实现对超网络的训练,可以在接收到任务请求时直接调取使用训练完成的超网络。还可以在接收到任务请求时通过互联网220调取同样接入了互联网220的其他电子设备上训练的超网络进行使用。具体的,其他电子设备可以为运行各种服务的服务器,例如,运行基于图像数据的目标跟踪服务或运行基于语音数据的语音处理服务的服务器。
需要说明的是,用于实现本申请实施例提供的网络获取的方法的电子设备210可以为一个或数个,可以包括但不限于上述涉及的具体设备,可以根据实际需要灵活配置,此处不做限定。
请参阅图3,图3示出了本申请实施例提供的一种网络获取的方法,该方法可以应用于前述实施例中的网络获取场景100,该方法的执行主体可以为电子设备。具体的,该方法包括步骤S310至步骤S330。
步骤S310:获取初始超网络,所述初始超网络包括至少一个子网络。
对于一些实施方式,可以预先获取初始超网络,该初始超网络可以基于神经网络模型的各层的可选结构单元构建,可以通过在每一层中采样一个连接来构建一个完整的神经网络模型。其中,该初始超网络是指包含所有搜索空间的一个网络,可以包括多层,其中每一层可以包括多个可选取得子结构,每一个子结构可以包括一种或多种可选得算子,例如卷积算子、池化算子等。进一步的,从搜索空间的各层中可以采样出至少一个子结构,得到子网络。因此,初始超网络中至少包括一个子网络。其中,采样获取子网络的方式可以包括均匀采样、独立采样。
进一步的,一个子网络中可以包括一个或数个子结构。一种示例性的,该初始超网络可以包括x、y以及z三个层,其中,x层可以包括子结构x1、x2以及x3,y层可以包括子结构y1、y2、y3以及y4,z层可以包括子结构z1、z2以及z3。此时子网络1可以包括子结构x1;子网络2可以包括子结构x2、y1以及z1;子网络3可以包括子结构x3、y2。即此时子网络1包括一个子结构,子网络2包括有三个子结构,子网络3包括两个子结构。
步骤S320:从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络。
对于一些实施方式,可以从前述初始超网络中获取子网络,并通过预先获取的训练数据对子网络进行训练,以更新所述初始超网络。进一步的,还可以对获取到的子网络进行选取,仅对满足要求的子网络进行训练,避免每一次都将获取到的子网络进行训练,造成容易被采样到的子网络能够得到较充分的训练,而不容易被采样到的子网络不能得到较充分的训练,导致一些区域的子网络训练不充分,训练获得的超网络效果不理想。
具体的,对于一些实施方式,可以设定一个目标,通过遍历的方式将该初始超网络中的每一个子网络都获取出来,然后判断每一个子网络是否满足设定的目标,若满足设定的目标,则判定该子网络符合要求。将所有符合要求的子网络筛选出来,再通过预先获取的训练数据对子网络进行训练,以更新所述初始超网络。具体的可以参阅后续实施例。
对于另一些实施方式,还可以设定一个目标,从该初始超网络中选取任意数量子网络,判断选取得子网络是否满足该目标,若判定满足该目标,则使用预先获取的训练数据对子网络进行训练,以更新所述初始超网络。其中,该任意数量的子网络,可以为一个或数个,数个为小于或等于该超网络中包含的子网络数量的最大值。示例性的,若该初始超网络中包括有100个子网络,则该选取的任意数量的子网络可以为1个至100个之间的整数个。进一步的,还可以以比例的形式对选取的子网络数量进行限制,以避免一次选取过多的子网络。示例性的,可以设定选取的最大子网络数量和该初始超网络中最大的子网络数量的比值。例如可以设定选取的最大子网络数量和该初始超网络中最大的子网络数量的比值为M,该M可以为1/10,则当该初始超网络中包括有100个子网络时,100xM=10,即该选取的任意数量的子网络可以为1个至10个之间的整数个。具体的,可以参阅后续实施例。
容易理解的是,可以基于不同的设定的目标,对获取的子网络进行判断是否满足该目标。对于本申请提供的一种实施方式,子网络对应的运算能力,可以通过浮点运算次数FLOPs来表示,则该设定的目标可以为指定运算需求,该指定运算需求对应有目标算力。此时可以获取子网络的运算能力与目标算力之间的差值,若该差值小于指定阈值,则可以判定该子网络的运算能力满足该指定运算需求。一种示例性的,可以设定目标算力为M,指定阈值为N,若获取到子网络的运算能力为X,此时该子网络的运算能力与目标算力之间的差值可以由|M-X|来表示。其中,“||”为绝对值符号,因为目标算力M可以大于指定阈值N,也可以小于指定阈值N,仅需对其差值进行判断,因此取绝对值即可。此时可以判断|M-X|和N的大小关系,若|M-X|<N,则该差值小于指定阈值,则可以判定该子网络的运算能力满足该指定运算需求。例如,若获取到该子网络的运算能力为10GFLOPs,目标算力M为10.5GFLOPs,指定阈值N为1GFLOPs,则此时|10GFLOPs-10.5GFLOPs|<1GFLOPs,可以判定该子网络的运算能力满足该指定运算需求,即可以将该子网络作为目标子网络。
进一步的,上述设定的目标算力,还可以为大于一个,此时获取子网络对应的运算能力,通过求取该运算能力和每一个设定的目标算力的差值,判断每一个差值是否满足指定阈值,若至少有一个差值满足指定阈值,则可以判定该子网络的运算能力满足该指定运算需求。一种示例性的,可以设定目标算力为M1、M2、M3以及M4,指定阈值为N,若获取到子网络的运算能力为X,此时该子网络的运算能力与目标算力之间的差值可以由|M1-X|、|M2-X|、|M3-X|以及|M4-X|来表示。其中,使用绝对值的原因和前述介绍的原因相同,此处就不再赘述。此时可以分别判断|M1-X|、|M2-X|、|M3-X|以及|M4-X|和N的大小关系,若|M1-X|<N、|M2-X|<N、|M3-X|<N以及|M4-X|<N中任意一个成立,则可以判定该差值小于指定阈值,则可以判定该子网络的运算能力满足该指定运算需求。例如,若获取到该子网络的运算能力为10GFLOPs,目标算力M1为10.5GFLOPs、M2为30GFLOPs、M3为50GFLOPs、M4为70GFLOPs,指定阈值N为1GFLOPs,则此时有|10GFLOPs-10.5GFLOPs|<1GFLOPs成立,可以判定该子网络的运算能力满足该指定运算需求,即可以将该子网络作为目标子网络。
具体的,对于本申请提供的一种实施方式,根据超网络中子网络的FLOPs分布可以确定出四个FLOPs值,在这四个FLOPs值附近的子网络较多。具体的,该四个值分别为19396673536GFLOPs,35339173888GFLOPs,59391655936GFLOPs,94138007552GFLOPs。
步骤S330:基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
对于一些实施方式,可以基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。具体的,该训练数据可以为图像数据、文本数据、音频数据或视频数据,容易理解的是,该训练数据应与子网络处理的具体任务相对应。例如,若该子网络处理的具体任务为自然语音处理相关的任务,则对应的训练数据可以为图像数据以及文本数据。该训练数据可以预先通过电子设备从互联网获取并存储在该电子设备的存储设备中,在执行训练时直接从本地进行调取。也可以直接通过互联网从专门存储数据的数据库中获取训练数据,在执行训练时从数据库中获取该训练数据。
进一步的,由于初始超网络中包括子网络以及该子网络对应的子结构,因此训练后获取的子网络中各子网络结构对应的参数发生的变化,也将同步更新初始超网络中对应的子网络以及该子网络对应的子结构。示例性的,若从该初始超网络中获取到的子网络1满足指定运算需求,其中该子网络1包括子结构x1、y1以及z1。当通过与预先获取的训练数据对该子网络进行训练后,子结构x1可能更新了参数,子结构y1以及z1没有发生变化。此时对于初始超网络包括的子结构x1将同步进行更新。
本申请提供的网络获取的方法、装置、电子设备及计算机可读介质,该方法首先获取初始超网络,从超网络中包括的至少一个子网络中,查找运算能力满足指定运算需求的目标子网络,基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。若随机搜索子网络进行训练,容易被采样到的子网络能够得到较充分的训练,而不容易被采样到的子网络不能得到较充分的训练,使训练的子网络过于分散。本申请通过查找并训练运算能力满足指定运算需求的目标子网络,可以排除对无关子网络的训练,使得训练的子网络尽量聚集在给定的约束条件下,提高了训练效率,同时避免子网络过度分散。
请参阅图4,图4示出了本申请实施例提供的一种网络获取的方法,该方法可以应用于前述实施例中的网络获取场景100,该方法的执行主体可以为电子设备。具体的,该方法包括步骤S410至步骤S450。
步骤S410:获取初始超网络,所述初始超网络包括至少一个子网络。
其中,步骤S410在前述实施例中已经详细描述,此处就不再赘述。
步骤S420:从所述至少一个子网络中,查找运算能力满足指定运算需求的所有子网络,作为目标子网络。
对于一些实施方式,可以设定一个目标,通过遍历的方式将该初始超网络中的每一个子网络都获取出来,然后判断每一个子网络是否满足设定的目标,若满足设定的目标,则判定该子网络符合要求。将所有符合要求的子网络筛选出来,再通过预先获取的训练数据对子网络进行训练,以更新所述初始超网络。
一种示例性的,可以对初始超网络中的每一个子网络进行从1开始按顺序编号,然后按照编号从小至大的顺序一次获取每一个子网络,直至遍历获取完所有编号的子网络。然后将每一个获取到的子网络依照编号从小到大的顺序依次判断是否满足设定的目标,将满足设定目标的子网络进行标记,当完成遍历所有子网络后,即可获取到由有标记的子网络组成的满足设定目标的所有子网络。
具体的,对于本申请提供的一种实施方式,子网络对应的运算能力,可以通过浮点运算次数FLOPs来表示,则该设定的目标可以为指定运算需求,该指定运算需求对应有目标算力。对于每一个获取到的子网络,可以通过前述实施例中描述的方法进行判断该子网络的运算能力是否满足目标算力,此处就不再赘述。通过上述方法,可以获取到该初始超网络中所有满足目标算力的子网络,可以将该子网络的集合作为目标子网络。
步骤S430:基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
对于一些实施方式,由于步骤S420中获取到的目标子网络可以为数个满足指定运算需求的子网络构成的合集,因此可以在训练时从目标子网络中选取一个子网络进行训练,可以随机选取,也可以按照顺序依次选取,此处不做限定。
其中,通过训练数据对目标子网络进行训练,以更新所述初始超网络的方法可以参阅前述实施例中的介绍,此处就不再赘述。
步骤S440:判断更新后的所述初始超网络是否满足指定条件。
步骤S450:若不满足,返回基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
对于一些实施方式,可以对更新后的初始超网络进行评估,以判断该更新后的初始超网络是否满足指定条件,若满足,可以结束对目标子网络的训练,使用该更新后的初始超网络执行任务;若不满足,可以返回基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
一种示例性的,可以获取对目标子网络进行训练的次数,当该次数达到计数阈值时,即结束对该目标子网络的训练,使用此时对应的更新后的初超网络执行任务。例如,该指定条件可以为技术阈值,该技术阈值若为10000,则当对目标子网络训练的次数达到10000时,可以结束对目标子网络的训练,使用该更新后的初始超网络执行任务。当对该目标子网络训练的次数未达到10000时,可以返回基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
可选的,一种示例性的,可以统计该更新后的初始超网络中各个子网络的性能数据来评估该更新后的初始超网络。例如,该指定条件可以为平均值阈值,可以统计该更新后的初始超网络中各个子网络的性能值,再求取所有子网络的性能值的平均值,若该平均值小于平均值阈值,则可以判断该更新后的初始超网络满足指定条件。若该平均值大于或等于平均值阈值,可以返回基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
可选的,因为对目标子网络训练的次数一般较大,普遍是以万次为单位计算的,若每一次对目标子网络训练后都判断更新后的超网络是否满足指定条件,会造成资源的浪费,并降低整个系统的运行效率。因此,还可以将上述两种示例相结合,即可以设定一个计数阈值,在对目标子网络的训练次数达到该计数阈值时,再通过该更新后的初始超网络中各个子网络的性能数据来评估该更新后的初始超网络。若该性能数据不满足指定条件,可以继续对目标子网络进行训练,并将获取到的对目标子网络的训练次数清零再重新计数,直至该训练次数达到计数阈值,再通过该更新后的初始超网络中各个子网络的性能数据来评估该更新后的初始超网络。一种示例性的,可以设定计数阈值为1万次,则当对目标子网络的训练次数达到1万次时,通过上述方法确认此时对应的更新后的超网络是否满足指定条件,若满足,可以结束对目标子网络的训练,使用该更新后的初始超网络执行任务;若不满足,则将对目标子网络训练次数的计数清零,然后返回基于预先获取的训练数据对所述目标子网络进行训练,同时对训练次数进行计数,直至训练次数达到1万次时再次确认此时对应的更新后的超网络是否满足指定条件。
可选的,由于预先获取的训练数据一般较大,在训练过程中一般可以将训练数据中的一部分用于此次的训练,而在下一次训练中则可以将训练数据中的另一部分用于训练。因此,可以判断用于训练的数据是否覆盖全部训练数据,当用于训练的数据覆盖全部训练数据时,再统计该更新后的初始超网络中各个子网络的性能数据来评估该更新后的初始超网络。若该性能数据不满足指定条件,可以继续对目标子网络进行训练,并重新统计用于训练的数据是否覆盖全部训练数据,再通过该更新后的初始超网络中各个子网络的性能数据来评估该更新后的初始超网络。该方法和上述方法类似,此处就不再赘述。
进一步的,对于本申请提供的实施方式,由于步骤S420中已经从初始超网络中确认出了所有满足指定运算需求的目标子网络,因此当判定更新后的初始超网络不满足指定条件时,可以直接对上述已经确认满足指定运算需求的目标子网络进行训练,而不用再次判断当前获取的子网络是否满足指定条件。
可选的,由于目标子网络中可以包括多个子网络,每次训练可以从目标子网络中选取一个子网络进行训练,示例性的,可以为随机选取,也可以按照顺序依次选取,此处不做限定。
本申请提供的网络获取的方法、装置、电子设备及计算机可读介质,该方法首先获取初始超网络,从超网络中包括的至少一个子网络中,查找运算能力满足指定运算需求的所有子网络,作为目标子网络,基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,若判定更新后的初始超网络不满足指定条件,返回基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。若随机搜索子网络进行训练,容易被采样到的子网络能够得到较充分的训练,而不容易被采样到的子网络不能得到较充分的训练,使训练的子网络过于分散。本申请通过设定运算需求,预先获取初始超网络中所有满足指定运算需求的目标子网络,再直接对所有满足指定运算需求的目标子网络进行训练,避免了每次选取子网络后都去判断本次选取的子网络是否满足指定运算需求,优化了流程,然后通过判断更新后的初始超网络是否满足指定条件,在不满足时进行继续训练,使目标子网络能够获得较为充分的训练,并使得训练的子网络尽量聚集在给定的约束条件下,避免子网络过度分散。
请参阅图5,图5示出了本申请实施例提供的一种网络获取的方法,该方法可以应用于前述实施例中的网络获取场景100,该方法的执行主体可以为电子设备。具体的,该方法包括步骤S510至步骤S550。
步骤S510:获取初始超网络,所述初始超网络包括至少一个子网络。
其中,步骤S510在前述实施例中已经详细描述,此处就不再赘述。
步骤S520:从所述至少一个子网络中,查找运算能力满足指定运算需求的任意一个子网络,作为目标子网络。
对于一些实施方式,可以设定一个目标,每次从初始超网络中获取到子网络时,判断该子网络是否满足设定的目标,若满足设定的目标,则判定该子网络符合要求,作为目标子网络进行训练。若不满足设定的目标,则判定该子网络不符合要求,返回重新从初始超网络中获取子网络。
具体的,对于本申请提供的一种实施方式,子网络对应的运算能力,可以通过浮点运算次数FLOPs来表示,则该设定的目标可以为指定运算需求,该指定运算需求对应有目标算力。对于每一个获取到的子网络,可以通过前述实施例中描述的方法进行判断该子网络的运算能力是否满足目标算力,此处就不再赘述。将满足指定运算需求的子网络作为目标子网络,参与训练。
进一步的,对于另一些实施方式,还可以查找运算能力满足指定运算需求的不止一个子网络,即可以从初始超网络选取不止一个子网络,例如选取两个子网络,对选取的两个子网络分别判断是否满足指定运算需求。判断的方法可以参阅前述实施例,此处就不再赘述。
步骤S530:基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
对于一些实施方式,若步骤S520中获取到的目标子网络仅包括一个子网络,则可以直接对该目标子网络进行训练;若获取到的目标子网络包括不止一个子网络,则可以从该目标子网络中获取一个子网络进行训练,获取的方式可以为随机获取,还可以为选取目标自网络中最接近指定运算需求的子网络,此处不做限定。
进一步的,通过训练数据对目标子网络进行训练,以更新所述初始超网络的方法可以参阅前述实施例中的介绍,此处就不再赘述。
步骤S540:判断更新后的所述初始超网络是否满足指定条件。
步骤S550:如果不满足,返回执行从所述至少一个子网络中,查找运算能力满足指定运算需求的任意一个子网络,作为目标子网络,以及基于预先获取的训练数据对所述目标子网络训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
其中,判断更新后的所述初始超网络是否满足指定条件的方法可以参阅前述实施例介绍的方法,此处就不再赘述。
若判定更新后的所述初始超网络不满足指定条件,则可以返回执行从初始超网络中获取目标子网络,再基于预先获取的训练数据对所述目标子网络训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
本申请提供的网络获取的方法、装置、电子设备及计算机可读介质,该方法首先获取初始超网络,从所述至少一个子网络中,查找运算能力满足指定运算需求的任意一个子网络,作为目标子网络,基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,若判定更新后的初始超网络不满足指定条件,返回基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。若随机搜索子网络进行训练,容易被采样到的子网络能够得到较充分的训练,而不容易被采样到的子网络不能得到较充分的训练,使训练的子网络过于分散。本申请通过设定运算需求,在每次获取到子网络时,增加一个判断该子网络是否满足指定运算需求的步骤,仅对满足运算需求的目标子网络进行训练,然后通过判断更新后的初始超网络是否满足指定条件,在不满足时进行继续训练,在不改变现有训练超网络的方法流程的基础上,仅通过增加一个判断步骤,解决了一些区域的子网络训练不充分的问题,使目标子网络能够获得较为充分的训练,并使得训练的子网络尽量聚集在给定的约束条件下,避免子网络过度分散。
请参阅图6,图6示出了本申请实施例提供的一种网络获取的方法,该方法可以应用于前述实施例中的网络获取场景100,该方法的执行主体可以为电子设备。具体的,该方法包括步骤S610至步骤S690。
步骤S610:以迭代次数=1开始迭代。
步骤S620:基于训练数据获取一部分数据。
对于一些实施方式,由于预先获取的训练数据一般较大,在训练过程中一般可以将训练数据中的一部分用于此次的训练,而在下一次训练中则可以将训练数据中的另一部分用于训练。
步骤S630:获取子网络。
从初始超网络中获取子网络的方法可以参阅前述实施例,此处就不再赘述。
步骤S640:获取子网络的运算能力。
可选的,可以通过浮点运算次数FLOPs来表示子网络的运算能力。
步骤S650:是否满足指定运算需求。
对于本申请提供的一种实施方式,分别设定四个指定运算需求,当子网络的运算能力满足任意一个指定运算需求时,即判定满足指定运算需求。
步骤S660:训练目标子网络。
基于步骤S620获取到的训练数据中的一部分数据,对目标子网络进行训练。
步骤S670:是否覆盖全部训练数据。
对于一些实施方式,可以检测本次迭代中步骤S620使用的一部分数据,是否覆盖全部训练数据。若没有全部覆盖,返回执行步骤S620;若全部覆盖,跳转至步骤S680。
步骤S680:迭代次数是否小于指定次数。
对于一些实施方式,可以预先设定指定次数,用于限制训练该初始超网络的最大的迭代次数。可以检测当前迭代次数是否小于设定的指定次数,若小于,将当前的迭代次数+1,然后跳转至执行步骤S620;若不小于设定的指定次数,执行步骤S690。
步骤S690:结束。
请参阅图7,图7示出了本申请实施例提供的一种网络获取的方法,该方法可以应用于前述实施例中的网络获取场景100,该方法的执行主体可以为电子设备。具体的,该方法包括步骤S710至步骤S740。
步骤S710:获取初始超网络,所述初始超网络包括至少一个子网络。
步骤S720:从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络。
步骤S730:基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
其中,步骤S710至步骤S730在前述实施例中已经详细描述,此处不再赘述。
步骤S740:基于更新后的所述初始超网络获取目标网络,所述目标网络用于执行目标任务。
对于一些实施方式,可以基于更新后的初始超网络执行目标任务。容易理解的是,可以通过给定约束条件来减小满足条件的更新后的初始超网络中子网络的数量,从而减小搜寻适合子网络所消耗的资源。一种示例性的,该约束条件可以为浮点运算次数FLOPs,通过给定浮点运算次数FLOPs的约束,搜索满足条件的子网络配置情况,可以获取到最优的子网络对应的子结构以及训练好的模型。另一种示例,该约束条件还可以为子网络中的参数数量。应该理解的是,上述约束条件可以根据需要灵活设置,本申请不做限定。
本申请提供的网络获取的方法、装置、电子设备及计算机可读介质,在获取到更新后的初始超网络后,可以在执行目标任务时通过设定约束条件提高搜索获取子网络的性能,从而提高端侧部署的性能。
请参阅图8,图8示出了本申请实施例提供的一种网络获取的装置800的结构图,应用于电子设备,所述装置包括:获取单元810、查找单元820以及训练单元830。
获取单元810,用于获取初始超网络,所述初始超网络包括至少一个子网络。
查找单元820,用于从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络。
进一步的,查找单元820还用于从所述至少一个子网络中,查找运算能力满足指定运算需求的所有子网络,作为目标子网络。
进一步的,查找单元820还用于判断更新后的所述初始超网络是否满足指定条件;若不满足,返回基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
进一步的,查找单元820还用于从所述至少一个子网络中,查找运算能力满足指定运算需求的任意一个子网络,作为目标子网络。
进一步的,查找单元820还用于判断更新后的所述初始超网络是否满足指定条件;如果不满足,返回执行从所述至少一个子网络中,查找运算能力满足指定运算需求的任意一个子网络,作为目标子网络,以及基于预先获取的训练数据对所述目标子网络训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
训练单元830,用于基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
进一步的,所述网络获取的装置800还用于基于更新后的所述初始超网络获取目标网络,所述目标网络用于执行目标任务。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,单元相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
请参考图9,图9示出了本申请实施例提供的一种电子设备的结构框图。该电子设备900可以是智能手机、平板电脑、服务器等能够运行应用程序的电子设备。本申请中的电子设备900可以包括一个或多个如下部件:处理器910、存储器920,其中所述一个或多个处理器用于执行上述的方法。
处理器910可以包括一个或者多个处理核。处理器910利用各种接口和线路连接整个电子设备900内的各个部分,通过运行或执行存储在存储器920内的指令、程序、代码集或指令集,以及调用存储在存储器920内的数据,执行电子设备900的各种功能和处理数据。可选地,处理器910可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器910可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neura lNnetwork Processing Units,NPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;NPU可以用于进行神经网络的计算,调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器920可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器920可用于存储指令、程序、代码、代码集或指令集。存储器920可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令、用于实现上述各个方法实施例的指令等。存储数据区还可以存储电子设备900在使用中所创建的数据。
请参考图10,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1000中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1000可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1000包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1000具有执行上述方法中的任何方法步骤的程序代码1010的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1010可以例如以适当形式进行压缩。
请参考图11,其示出了本申请实施例提供的一种计算机程序产品的结构框图1100。该计算机程序产品1100中包括计算机程序/指令1110,该计算机程序/指令1110被处理器执行时实现上述方法的步骤。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种网络获取的方法,其特征在于,应用于电子设备,所述方法包括:
获取初始超网络,所述初始超网络包括至少一个子网络;
从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络;
基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
2.根据权利要求1所述的方法,其特征在于,所述从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络,包括:
从所述至少一个子网络中,查找运算能力满足指定运算需求的所有子网络,作为目标子网络。
3.根据权利要求2所述的方法,其特征在于,所述基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络之后,还包括:
判断更新后的所述初始超网络是否满足指定条件;
若不满足,返回基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
4.根据权利要求1所述的方法,其特征在于,所述从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络,包括:
从所述至少一个子网络中,查找运算能力满足指定运算需求的任意一个子网络,作为目标子网络。
5.根据权利要求4所述的方法,其特征在于,所述基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络之后,还包括:
判断更新后的所述初始超网络是否满足指定条件;
如果不满足,返回执行从所述至少一个子网络中,查找运算能力满足指定运算需求的任意一个子网络,作为目标子网络,以及基于预先获取的训练数据对所述目标子网络训练,以更新所述初始超网络,直至更新后的所述初始超网络满足指定条件。
6.根据权利要求1所述的方法,其特征在于,所述指定运算需求对应有目标算力,子网络的运算能力满足指定运算需求包括所述子网络的算力与目标算力的差值小于指定阈值。
7.根据权利要求1所述的方法,其特征在于,所述基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络之后,还包括:
基于更新后的所述初始超网络获取目标网络,所述目标网络用于执行目标任务。
8.一种网络获取的装置,其特征在于,应用于电子设备,所述装置包括:
获取单元,用于获取初始超网络,所述初始超网络包括至少一个子网络;
查找单元,用于从所述至少一个子网络中,查找运算能力满足指定运算需求的目标子网络;
训练单元,用于基于预先获取的训练数据对所述目标子网络进行训练,以更新所述初始超网络。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138688.4A CN116663624A (zh) | 2022-02-15 | 2022-02-15 | 网络获取的方法、装置、电子设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138688.4A CN116663624A (zh) | 2022-02-15 | 2022-02-15 | 网络获取的方法、装置、电子设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116663624A true CN116663624A (zh) | 2023-08-29 |
Family
ID=87710425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210138688.4A Pending CN116663624A (zh) | 2022-02-15 | 2022-02-15 | 网络获取的方法、装置、电子设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116663624A (zh) |
-
2022
- 2022-02-15 CN CN202210138688.4A patent/CN116663624A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108764304B (zh) | 场景识别方法、装置、存储介质及电子设备 | |
US10102227B2 (en) | Image-based faceted system and method | |
CN106471851B (zh) | 基于学习模型的设备定位 | |
CN111813532B (zh) | 一种基于多任务机器学习模型的图像管理方法及装置 | |
CN110990159A (zh) | 一种基于历史数据分析的容器云平台资源配额预测方法 | |
CN109564571A (zh) | 利用搜索上下文的查询推荐方法及系统 | |
KR101732319B1 (ko) | 목표 지향적 빅데이터 비즈니스 분석 프레임워크 | |
CN114721833A (zh) | 一种基于平台业务类型的智能云端协调方法和装置 | |
CN105183772A (zh) | 投放信息点击率预估方法及装置 | |
CN103942221B (zh) | 检索方法及设备 | |
CN103345516A (zh) | 基于应用程序图标的应用程序搜索方法和系统 | |
CN110049079A (zh) | 信息推送及模型训练方法、装置、设备及存储介质 | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN108960912A (zh) | 用于确定目标位置的方法和装置 | |
CN112598117A (zh) | 神经网络模型设计方法、部署方法、电子设备及存储介质 | |
CN112764920A (zh) | 一种边缘应用部署方法、装置、设备和存储介质 | |
CN110245310A (zh) | 一种对象的行为分析方法、装置及存储介质 | |
CN107257365B (zh) | 一种数据下载处理方法和装置 | |
CN116663624A (zh) | 网络获取的方法、装置、电子设备及计算机可读介质 | |
CN111444249A (zh) | 基于热数据的用户画像生成方法、装置、设备及存储介质 | |
CN107870811B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
CN112948763B (zh) | 件量预测方法、装置、电子设备及存储介质 | |
CN114996578A (zh) | 模型训练方法、目标对象选取方法、装置及电子设备 | |
CN114625967A (zh) | 基于大数据业务优化的用户信息挖掘方法及人工智能系统 | |
CN113051126B (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 |