CN114118403A - 神经网络架构搜索方法、装置、存储介质及电子设备 - Google Patents
神经网络架构搜索方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114118403A CN114118403A CN202111213860.XA CN202111213860A CN114118403A CN 114118403 A CN114118403 A CN 114118403A CN 202111213860 A CN202111213860 A CN 202111213860A CN 114118403 A CN114118403 A CN 114118403A
- Authority
- CN
- China
- Prior art keywords
- network
- model
- search
- sub
- architecture
- 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
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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种神经网络架构搜索方法、装置、存储介质及电子设备,其中,方法包括:获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元,基于业务样本数据对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型,基于所述第一神经网络模型对应的模型参数生成第二神经网络模型。采用本申请实施例,可以提高架构搜索效率,节省搜索时间。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种神经网络架构搜索方法、装置、存储介质及电子设备。
背景技术
随着计算机技术的发展,神经网络模型架构绝大多数是通过人工设计的。在神经网络模型架构的设计的过程中,需要大量的研究和实验来对不同的网络模型结构效果进行尝试和探索。另外,神经网络的结构逐年优化,新的网络结构不断涌现也越来越复杂。
神经网络架构搜索(Neural Architecture Search,NAS)作为一种可以自动涉及神经网络结构的技术,引起了越来越多的研究者们的注意。NAS设计出来的最佳架构已经在多种任务,例如图像分类、语义分割、对象检测等等任务上面,取得了超越人类手工设计的网络架构的性能。
发明内容
本申请实施例提供了一种神经网络架构搜索方法、装置、存储介质及电子设备,可以为业务线程分配到合适的处理器集群。本申请实施例的技术方案如下:
第一方面,本申请实施例提供了一种神经网络架构搜索方法,所述方法包括:
获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元;
基于业务样本数据对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型;
基于所述第一神经网络模型对应的模型参数生成第二神经网络模型,所述第二神经网络模型对应的搜索模型单元数量大于或等于所述第一神经网络模型对应的搜索模型单元数量。
第二方面,本申请实施例提供了一种神经网络架构搜索装置,所述装置包括:
网络获取模块,用于获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元;
搜索训练模块,用于基于业务样本数据对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型;
模型确定模块,用于基于所述第一神经网络模型对应的模型参数生成第二神经网络模型,所述第二神经网络模型对应的搜索模型单元数量大于或等于所述第一神经网络模型对应的搜索模型单元数量。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,电子设备获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元,然后基于业务样本数据对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型,最后基于所述第一神经网络模型对应的模型参数可以生成第二神经网络模型,通过避免采用同一类架构参数相同的搜索模型单元搭建初始神经搜搜网络,可以适应不同神经网络深度的架构搜索需求,避免网络结构单一导致的架构搜索效率低时间长,大幅提升了神经网络搜索架构的效率,节省了网络模型搜索时间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种神经网络架构搜索方法的流程示意图;
图2是本申请实施例提供的神经网络架构搜索方法涉及的一种神经网络架构搜索的场景图;
图3是本申请实施例提供的神经网络架构搜索涉及的一种搜索模型单元的内部结构示意图;
图4是本申请实施例提供的神经网络架构搜索涉及的另一种搜索模型单元的内部结构示意图;
图5是本申请实施例提供的一种目标类型确定模块的流程示意图;
图6是本申请实施例提供的神经网络架构搜索方法涉及的一种初始神经搜索网络的架构示意图;
图7是本申请实施例提供的神经网络架构搜索方法涉及的一种子网络的架构示意图;
图8是一种初始神经搜索网络的网络架构搜索场景示意图;
图9是本申请实施例提供的另一种神经网络架构搜索装置的结构示意图;
图10是本申请实施例提供的另一种神经网络架构搜索装置的结构示意图;
图11是本申请实施例提供的一种网络获取模块的结构示意图;
图12是本申请实施例提供的操作系统和用户空间的结构示意图;
图13是图11中安卓操作系统的架构图;
图14是图11中IOS操作系统的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面结合具体的实施例对本申请进行详细说明。
在一个实施例中,如图1所示,特提出了一种神经网络架构搜索方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的神经网络架构搜索装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
具体的,该神经网络架构搜索方法包括:
步骤S101:获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元。
在实际应用中,神经网络架构搜索的流程可简化为如图2所示,图2是一种神经网络架构搜索的场景图,神经网络架构搜索通过构建一个合适的用于架构搜索的神经搜索网络,也即本申请的初始神经搜索网络,然后在初始神经搜索网络中基于相应的架构搜索方式得到一个候选的神经网络架构(如图2所示的网络架构x),同时对候选的神经网络架构(如图2所示的网络架构X)进行网络性能评估,基于评估结果(网络架构X的性能)对反馈至架构搜索方式并进行相应调整优化架构搜索,不断重复上述过程直至找到符合预期的神经网络架构;可以理解从预构建的初始神经搜索网络中选择具体的网络架构x,该网络架构x会进行性能评估,得到网络架构x的性能估计结构,然后反馈至搜索方式(模块,也可理解为搜索策略),在搜索性能出色的神经网络架构的过程中,会不断从初始神经搜索网络中进行采样,且进行正常神经网络模型训练的全过程,最后是在整个过程中选取符合预期的最优秀的模型作为算法的输出,这通常就需要大量的计算资源与计算时间。从而最终生成对应神经网络架构的神经网络模型。
在本申请中用于神经网络架构搜索的初始神经搜索网络不采用同类(cell)搜索模型单元重复叠加生成,在相关技术中多采用同类cell也即相同架构类型的且(初始)架构参数相同的cell重复堆叠来形成用于神经网络架构搜索的初始神经搜索网络,这样的搜索网络搜索空间在网络搜索乃至网络训练过程中,常会出现模型搜索过程中的瓶颈难以达到较好的网络性能。在本申请中,通过实践发现不同网络深度进行网络架构搜索过程中实际上对网络架构或结构的需求是不一样的,采用同类(cell)搜索模型单元重复叠加生成的初始神经搜索网络通常在不同网络深度处所呈现的网络架构或网络结构实则相同,在本申请中,在创建初始神经搜索网络阶段不采用前述构思,而采用不同类的cell也即不同架构参数对应的搜索模型单元,以适应不同网络深度处的网络结构需求,可以理解为不同网络深度的cell其架构参数不一样。
搜索模型单元(cell)作为构建初始神经搜索网络的基本组成单元,搜索模型单元可作为一个有向无环图,每个搜索模型单元由i(i为大于1的整数)个有序的节点,每个节点表示一个特征图,每个有向边代表用一种操作符,操作符即对若干候选操作(例如池化、卷积等),用于对输入的特征图进行处理。例如,有向边(i,j)表示由节点i指向节点j的连接关系,有向边(i,j)上的操作符o∈O用于将节点i输入的特征图x_i转化为特征图x_j。其中,O表示搜索空间内的所有候选操作。基于搜索模型单元(cell)的结构由于其分层演化的特定,可以使得网络变“深”以及使得网络变“宽”,基于此构思常常可经神经网络架构搜索生成不同类型的神经网络,如卷积神经网络CNN、循环神经网络RNN。
示意性的,如图3所示,图3是一种搜索模型单元的内部结构示意图,图3示出的Cell包含7个节点,前两个节点为输入节点(也即输入1、输入2),分别由前面的两个Cell的输出得来。接下来的4个节点是中间节点(也即图中“0”、“1”、“2”、“3”所示出的4个节点),每个中间节点由之前的所有节点计算结果,可理解为任一中间节点的输入来自于本单元内该节点所有的前向节点。最后一个节点是输出节点,是中间节点的特征向量的连接,代表整个Cell的输出。
示意性的,如图4所示,图4是另一种搜索模型单元的内部结构示意图,图4示出的Cell包含4个节点,该Cell由4个节点组成(1个输入节点x1,2个中间节点x2、x3,1个输出节点x4)。如果要得到最终输出节点x4,那么首先要通过节点x1和操作O1、O2计算节点x2和节点x3的值,节点x2和节点x3分别采取O3操作和O4操作得到x4的结果。
可理解的是,图中的两两节点中的线代表节点之间的操作。候选操作可以是如下形式中的一种或多种:
3x3的可分离卷积、5x5的可分离卷积,3x3空洞可分离卷积操作、5x5的空洞可分离卷积操作,3x3最大池化层操作,3x3的平均池化层操作、恒等变换操作、zero,即无连接操作等等。这些操作在初始神经搜索网络中对应权重参数,可以是由softmax函数赋予权重,并松弛到连续空间中;在后续训练过程中,主要通过对这些操作的权值调整来进行结构的优化(也即基于反向传播更新参数)。最后一个节点为输出节点,输出节点为4个中间节点的级联操作。
进一步的,所述搜索模型单元(cell)分为两种,分为普通单元NC和压缩单元RC两种架构类型,区别在于:NC:NC前后通道数不变,其输入和输出数据特征的长和宽相同RC:经过压缩单元RC后通道数变为原来的1/2,其输入数据特征的长和宽为输出的两倍。
需要说明的是,前述“至少两类搜索模型单元”中的“两类”并非“普通单元NC和压缩单元RC两种架构类型”的含义,“至少两类搜索模型单元”细化到具体的普通单元NC和压缩单元RC可以理解为:至少两类普通单元NC和/或至少两类压缩单元RC,区别在于:同架构类型的普通单元NC或压缩单元RC在整个初始神经搜索网络中的架构参数可以是不一样的。
搜索模型单元的(单元)架构参数包括但不限于:搜索模型单元中每个节点间对应的候选操作类型、搜索模型单元中每个节点对应候选操作的操作参数、搜索模型单元中每个节点对应候选操作的权重(也可理解为权值)、搜索模型单元的单元模型参数(单个搜索模型单元可视作为一个微型神经网络),在一些实施例中,搜索模型单元的架构参数还可以是初始态的激活函数(在一些实施场景中激活函数随训练可进一步神经演化)。
至少两类搜索模型单元中包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元。
可以理解的,采用至少两类搜索模型单元堆叠,以构建至少两个不同网络深度类型的子网络,生成包含各所述子网络的初始神经搜索网络;
其中,在同一所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数相同;在不同所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数不同。
可选的,针对单个搜索模型单元(NC或RC)可以是使用与业务样本数据同类的至少两个小规模的数据集进行训练分别得到搜索模型单元;通常使用不同的数据集训练得到的搜索模型单元的架构参数通常不一样,也就是说前述架构参数不同的搜索模型单元可基于此进行模型单元训练得到。
可选的,也可对上述训练好的搜索模型单元中的一种或多种架构参数进行修正,如采用专家端进行修正,这样可得到不同类的搜索模型单元,具体修正策略基于实际业务形态量化确定。
进一步的,上述针对神经搜索网络的构建过程可以是在电子设备本端完成的;也可以是在服务端上完成并存储的,电子设备仅需向服务端发送请求,即可获取到服务端上由至少两类搜索模型单元组成的初始神经搜索网络。
步骤S102:对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型。
根据一些实施步骤中,神经网络架构搜索通过获取构建的初始神经搜索网络,初始神经搜索网络时由至少两类搜索模型单元组成以适应不同网络深度处的结构需求。然后在初始神经搜索网络中基于设置的架构搜索方式得到一个候选的神经网络架构(如图2所示的网络架构x),同时对候选的神经网络架构(如图2所示的网络架构X)进行网络性能评估,基于评估结果(网络架构X的性能)对反馈至架构搜索方式并进行相应调整优化架构搜索,不断重复上述过程直至找到符合预期的神经网络架构;可以理解从预构建的初始神经搜索网络中选择具体的网络架构x,该网络架构x会进行性能评估,得到网络架构x的性能估计结构,然后反馈至搜索方式(模块,也可理解为搜索策略),在搜索性能出色的神经网络架构的过程中,会不断从初始神经搜索网络中进行采样,且进行正常神经网络模型训练的全过程,最后是在整个过程中选取符合预期的最优秀的模型作为算法的输出,从而最终生成对应神经网络架构的神经网络模型。
在一种具体的实施场景中,可以采用可微的方式实现神经网络架构搜索,也即同时搜索神经网络的模型架构参数和模型权值参数,由于在初始神经搜索网络阶段,针对至少两类搜索模型单元中的各搜索模型单元:每搜索模型单元中两节点间设定了组成网络的候选操作集合(包含多个候选操作),这些操作在初始神经搜索网络中对应权重参数具体由softmax函数赋予权重,并松弛到初始神经搜索网络对应的连续空间中。具体搜索阶段,采用业务样本数据输入至初始神经搜索网络中进行网络训练和神经网络架构搜索,在搜索过程中对候选操作使用softmax函数加权,每次加权得到的神经网络架构采用性能评估策略进行网络性能评估,基于评估结果采用反向传播算法(BP算法)不断调整搜索策略,将网络结构和模型参数共同优化,然后优化过程中使用softmax函数加权,将整个网络通过反向传播更新参数,一些实施方式中,最终只保留网络cell每条连接上对应权值最大的操作,直至初始神经搜索网络收敛,得到第一神经网络模型。
在一些实施方式中,第一神经网络模型可视作为最后得到的神经网络模型的代理模型,可以理解的是,为了提升网络搜索效率节省网络架构搜索时间,性能评估策略采用代理模型的策略,基于代理模型策略得到第一神经网络模型,整个过程中不侧重与关于网络的验证误差确定,而是采用近似任务替代的构思,代替时间验证任务,将代理模型在代理任务采用业务样本数据得到的结果代替实际网络误差,这样可以节约大量因评估每个阶段模型的评估时间。在本申请中后续可基于模型数据迁移的手段,将基于代理模型策略对应代理任务(可视作为实际业务的近似替代业务)上得到的模型迁移至目标任务上。最终训练得到最后期望获取到的神经网络模型。
步骤S103:基于所述第一神经网络模型对应的模型参数生成第二神经网络模型。
在一些实施例中,所述第二神经网络模型对应的搜索模型单元数量大于或等于所述第一神经网络模型对应的搜索模型单元数量。
实际应用中,神经网络模型的模型参数包括但不限于模型架构参数以及模型权重参数。
可以理解的是,可以基于模型应用业务确定第二神经网络模型对应的搜索模型单元数量,一种方式可以是预先可建立模型应用业务与参考搜索模型单元数量的映射关系,模型应用业务一定程度上可反馈期望建立的神经网络模型的情况,例如图像分类业务、语义分割业务、对象识别业务、语音识别业务等等,在前述不同模型应用业务中,参考搜索模型单元数量可以是基于实际模型开发经验确定同类型业务中所采用的一个参考范围也可以是一个确定的参数值。所述映射关系可以是以映射集合、映射链式表、表格、数组等形式进行表征。实际应用过程中,基于相应的模型应用业务,电子设备的用户通常可基于实际模型开发经验确定针对最终生成第二神经网络模型所需的搜索模型单元数量。比如针对某一类型业务常使用CNN网络模型,则CNN网络模型通常所需的搜索模型单元数量基于经验可以确定一参考值或参考范围的。
在确定第二神经网络模型对应的搜索模型单元数量之后,则可基于采用神经网络架构搜索方法确定第一神经网络的模型参数,初始化第二神经网络模型。
可选的,当第二神经网络模型对应的搜索模型单元数量等于所述第一神经网络模型对应的搜索模型单元数量时,此时可将第一神经网络模型作为第二神经网络模型。
可选的,当第二神经网络模型对应的搜索模型单元数量大于所述第一神经网络模型对应的搜索模型单元数量时,可以基于第一神经网络模型的模型参数进行模型扩展,将第一神经网络模型扩展为第二神经网络模型,具体扩展过程中主要是基于第一神经网络模型的搜索模型单元数量等比例扩展以增加cell数量,如搜索模型单元数量扩大n倍(n为正整数),扩展的搜索模型单元可对前述第一神经网络模型的搜索模型单元的模型架构参数进行继承,这样可得到扩展后的初始第二神经网络模型,然后采用模型应用业务对应的业务样本数据对初始第二神经网络模型进行模型训练即可,通过模型训练完成对第二神经网络模型的模型权重参数的训练,可以理解的是在架构搜索训练过程中已经确定了模型架构参数,则在模型训练过程中通常模型架构参数是不变动的,仅对模型权重参数进行优化训练即可。具体模型训练方式可采用常规的神经网络模型训练技术实现,此处不进行赘述。
进一步的,在生成初始第二神经网络过程中,扩展后的初始第二神经网络模型的模型权重参数可以同样继承第一神经网络模型;扩展后的初始第二神经网络模型的模型权重参数也可以不继承第一神经网络模型,仅在扩展生成初始第二神经网络模型时继承搜索模型单元的架构参数。
在实际应用过程中,考虑到不同的模型应用业务会涉及到最终期望神经网络模型对应的搜索模型单元数量不一样,计算处理程度越高的模型应用业务,其所需的搜索模型单元数量越多,为了节省计算资源与降低计算时间,可先训练搜索模型单元少的代理模型,以得到第一神经网络模型,此时通常第一神经网络模型的模型架构与最终期望的神经网络模型的模型架构相似度较高,基于第一神经网络模型的模型参数再生成初始第二神经网络模型,继而采用样本继续模型训练,优化初始第二神经网络模型的模型权重,训练完成后,即可得到最终的第二神经网络模型,完成整个神经网络架构搜索过程。大幅降低了架构搜索时间。
可以理解的,电子设备通过前述方式获取所述第一神经网络模型对应的模型架构参数,以及确定针对所述第一神经网络模型的单元扩展比例;然后基于所述单元扩展比例、所述模型架构参数以及所述第一神经网络模型,生成初始第二神经网络模型。进一步的,具体应用中,电子设备基于所述单元扩展比例对所述第一神经网络模型的所述搜索模型单元的数量进行扩展处理,得到初始神经网络模型;基于所述模型架构参数对所述初始神经网络模型进行模型架构更新,生成初始第二神经网络模型;其中,对初始第二神经网络模型的训练主要是涉及对所述初始第二神经网络模型的模型权重参数进行模型训练,对所述初始第二神经网络模型进行模型训练之后,得到训练后的第二神经网络模型
在本申请实施例中,电子设备获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元,然后基于业务样本数据对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型,最后基于所述第一神经网络模型对应的模型参数可以生成第二神经网络模型,通过避免采用同一类架构参数相同的搜索模型单元搭建初始神经搜搜网络,可以适应不同神经网络深度的架构搜索需求,避免网络结构单一导致的架构搜索效率低时间长,大幅提升了神经网络搜索架构的效率,节省了网络模型搜索时间。
请参见图5,图5是本申请提出的一种神经网络架构搜索方法的另一种实施例的流程示意图。具体的:
步骤S201:采用至少两类搜索模型单元堆叠,以构建至少两个不同网络深度类型的子网络。
步骤S202:生成包含各所述子网络的初始神经搜索网络。
在本申请中,在同一所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数相同;在不同所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数不同。
所述网络深度类型基于子网络在初始神经搜索网络的网络层深度确定,如可将初始神经搜索网络分为浅网络层深度的浅层子网络、中网络层深度的中层子网络、深网络层深度的深层子网络;又如可将初始神经搜索网络分为第一类网络深度类型的第一子网络、第二类网络深度类型的第二子网络...第N类网络深度类型的第N子网络(N为大于2的整数)。
进一步的,第i(i为小于N的整数)类网络深度类型的第i子网络的搜索模型单元可称为cell-i,搜索模型单元分两种,分为普通单元NC和压缩单元RC两种架构类型,则第i子网络的普通单元NC可为NC-i,第i子网络的普通单元RC可为RC-i;如,第1子网络的普通单元NC-1、第4子网络的普通单元RC-4...等等。
“在同一所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数相同”可理解为:第i类网络深度类型的第i子网络的所有普通单元NC-i的架构参数相同,和/或,第i类网络深度类型的第i子网络的所有压缩单元RC-i的架构参数相同。
“在不同所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数不同”可理解为::第i类网络深度类型的第i子网络的cell-i与第j(j为小于N的整数,且i与j不同)类网络深度类型的第j子网络的cell-j所对应的架构参数不同,例如,RC-i与RC-j的架构参数不同、NC-i与NC-j的架构参数不同。
搜索模型单元的(单元)架构参数包括但不限于:搜索模型单元中每个节点间对应的候选操作类型、搜索模型单元中每个节点对应候选操作的操作参数、搜索模型单元中每个节点对应候选操作的权重(也可理解为权值)、搜索模型单元的单元模型参数(单个搜索模型单元可视作为一个微型神经网络),在一些实施例中,搜索模型单元的架构参数还可以是初始态的激活函数(在一些实施场景中激活函数随训练可进一步神经演化)。
另外,初始神经搜索网络中各类搜索模型单元的(单元)架构参数根据模型应用任务的实际情况来结合不同的网络深度设置,例如常根据模型开发经验对同类型的模型应用任务所开发好的参考神经网络模型进行分析处理,基于大量参考神经网络模型在处理此类模型应用任务的参考神经网络模型的搜索模型单元的单元架构共性来设置。单元架构共性主要体现在同网络深度的各节点候选操作的权重特征、搜索模型单元的单元模型参数特征、节点间对应的最终候选操作类型特征,等等。在本申请涉及的整个初始神经搜索网络的构建不采用同一种架构参数的cell简单堆叠的方式,避免架构单一不适用在不同网络深度的单元架构需求。例如:在网络深度对应的深层次架构中,训练好的参考神经网络模型常将搜索模型单元中节点的初始候选操作设置为较多的跳跃连接操作,因为基于梯度在跳跃连接中下降最快可加速反向传播过程。
需要说明的是,在不同的网络深度类型的子网络的cell对应的架构参数基于实际业务应用情况来确定,在本申请中所涉及的举例仅仅为了举例说明,本领域技术人员应用理解的是所涉及的举例内容并未对本申请造成任何限定。
在一种可行的实施方式,初始神经搜索网络处于不同网络深度类型的子网络其神经网络架构搜索的时序不一样,网络深度越浅的子网络首次进行网络架构搜索的时序越靠前。例如,第i子网络的网络架构搜索的时序在第i+1子网络的网络架构搜索的时序之前。
在一种可行的实施方式,对初始神经搜索网络进行的网络架构搜索的方式为:
第1阶段网络架构搜索:对第1子网络进行网络架构搜索处理;
第2阶段网络架构搜索:对第1阶段训练好的第1子网络和第2子网络进行网络架构搜索,可理解为,将第1阶段训练好的第1子网络加入至第2子网络进行网络架构搜索处理;
第3阶段网络架构搜索:对第2阶段训练好的“第1子网络和第2子网络”加入至第3子网络进行网络架构搜索处理;
....
第N阶段网络架构搜索:对第N-1阶段训练好的“第1子网络、第2子网络...、第N-1子网络”加入至第N子网络进行网络架构搜索处理。
在一种具体的实施场景中,初始神经搜索网络可表示为由n个随网络深度递增的子(搜索)网络构成,如图6所示,图6是一种初始神经搜索网络的架构示意图,如图6一些实施方式中各子网络两两相互关联(可视作两两子网络相连接),也即第i个子网络的与第i-1子网络和第i+1子网络相关联。第i个子网络的网络深度大于第i-1子网络的网络深度而小于第i+1子网络的网络深度。每个子网络由相应网络深度的一类搜索模型单元构成。
可选的,初始神经搜索网络所包含的子网络的数量由用户基于实际业务情况预先设置,不同业务类型的模型应用业务基于经验可设置不同数量的子网络,在一些实施方式中,可预先建立模型应用业务的业务类型与初始神经搜索网络对应的子网络规格的规格映射关系,子网络规格可理解为子网络的数量、子网络所包含的cell架构、子网络中cell的数量、子网络类型等等。则实际应用中可根据当前的模型应用业务在前述规格映射关系中确定初始神经搜索网络对应的子网络规格,进而完成初始神经搜索网络的搭建,也即生成包含各子网络的初始神经搜索网络。
可选的,在初始神经搜索网络对应的子网络中,一个子网络可由一类相同架构参数的搜索模型单元堆叠组成,可理解为一个子网络可由一类NC和/或一类RC堆叠组成,在一些实施方式中,通常在初始神经网络中的部分或全部的子网络中cell的数量是相同,不同的是cell的架构参数;在一些实施方式,通常第一子网络或者最后一个子网络与初始神经搜索网络中的其他子网络的cell数量不一样。
例如,第一子网络到第N-1子网络中均由a数量的NC和b数量的RC组成,最后一个子网络也即第N个子网络由c数量的NC组成,其中,a、b、c为正整数。
在一种具体的实施场景中,以下结合一种由三类不同架构参数的搜索模型单元构建的初始神经搜索网络为例进行释义:
1、电子设备确定三类不同架构参数的搜索模型单元,各类所述搜索模型单元中同架构类型的搜索模型单元所对应的架构参数相同。
根据一些实施例步骤中,电子设备可采用专家端介入根据模型开发经验对同类型的模型应用任务所开发好的参考神经网络模型进行分析处理,基于大量参考神经网络模型在处理此类模型应用任务的参考神经网络模型的搜索模型单元的单元架构共性来设置;单元架构共性主要体现在同网络深度的各节点候选操作的权重特征、搜索模型单元的单元模型参数特征、节点间对应的最终候选操作类型特征,等等。在本申请涉及的整个初始神经搜索网络的构建不采用同一种架构参数的cell简单堆叠的方式,避免架构单一不适用在不同网络深度的单元架构需求。在一些实施方式中,可预先创建不同“模型应用任务的类型”与“搜索模型单元对应的架构参数种类”的种类映射关系,基于此种类映射关系可电子设备可根据模型应用任务的情景来确定当前所需采用的至少两种搜索模型单元的架构参数的种类。示意性的,在一种应用场景中基于前述方式,电子设备去了采用三类不同架构参数的搜索模型单元,可表示为cell-1、cell-2、cell-3。在一些实施方式中,架构参数种类可以是前述子网络规格的一种参数,也就是说架构映射关系可以是前述规格映射关系中的子关系。
可以理解的,三类不同架构参数的搜索模型单元分别应用在不同的子网络中,如三类不同架构参数的“cell-1、cell-2、cell-3”分别应用在三个不同网络深度类型的子网络中以构建初始神经搜索网络。
三类不同架构参数的搜索模型单元,体现在如下架构参数中,包括但不限于:搜索模型单元中每个节点间对应的候选操作类型、搜索模型单元中每个节点对应候选操作的操作参数、搜索模型单元中每个节点对应候选操作的权重(也可理解为权值)、搜索模型单元的单元模型参数(单个搜索模型单元可视作为一个微型神经网络),在一些实施例中,搜索模型单元的架构参数还可以是初始态的激活函数(在一些实施场景中激活函数随训练可进一步神经演化)。
三类不同架构参数的搜索模型单元,可表示为cell-1、cell-2、cell-3,cell-1也即第一类搜索模型单元,cell-2也即第二类搜索模型单元、cell-3也即第三类搜索模型单元。
需要说明的是,各类不同架构参数的搜索模型单元其具体参数构成在此不做具体限定,其基于实际应用环境确定。
2、电子设备基于所述三类搜索模型单元中的第一类搜索模型单元进行堆叠,构建第一子网络;基于所述三类搜索模型单元中的第二类搜索模型单元进行堆叠,构建第二子网络;基于所述三类搜索模型单元中的第三类搜索模型单元进行堆叠,构建第三子网络。
其中,所述第二子网络的网络深度大于所述第一子网络的网络深度且小于所述第三子网络的网络深度。
在一种具体的实施场景中,构建第一子网络采用的第一类搜索模型单元可包括第一类普通单元和第一类压缩单元,可记为:NC-1、RC-1。构建第二子网络采用的第二类搜索模型单元可包括第二类普通单元和第二类压缩单元,可记为:NC-2、RC-2。构建第三子网络采用的第三类搜索模型单元可包括第三类普通单元,可记为:NC-3。
进一步的,所述第一类搜索模型单元包括第一类普通单元和第一类压缩单元、所述第二类搜索模型单元包括第二类普通单元和第二类压缩单元以及所述第三类搜索模型单元包括第三类普通单元;
如图7所示,第一子网络由两个所述第一类普通单元NC-1和一个第一类压缩单元RC-1堆叠构成;所述第二子网络由两个所述第二类普通单元NC-2和一个所述第二类压缩单元RC-2堆叠构成;所述第三子网络由两个所述第三类普通单元NC-3堆叠构成。采用上述结构,在一些场景中,可以满足不同的任务需要以及适应在不同网络深度的单元架构需求,可大幅提升架构搜索效率,节省网络模型搜索时间。
步骤S203:基于业务样本数据按照网络深度分别对初始神经搜索网络所包含的至少两个子网络的模型权重参数和模型架构参数进行训练优化,得到训练优化后的第一神经网络模型。
在本申请中,为了达到较好的模型效果,避免采用相关技术中对单一结构的网络架构的直接架构搜索,本申请中针对初始神经搜索网络基于至少两类搜索模型单元部署至少两个子网络,在这种结构中,各子网络的搜索单元结构各不相同,以满足不同的任务需要。每子网络的搜索单元结构都由网络的自动更新优化完成,通过多轮迭代训练,最终可以达到较好的模型效果
进一步的,本申请对初始神经搜索网络进行架构搜索训练时,可以采用样本业务数据直接对完整的初始神经搜索网络进行架构搜索训练,得到训练优化后的第一神经网络模型。
进一步的,考虑到网络的搜索成本和搜索效率,基于初始神经搜索网络的子网络数量采用分部训练的方式(可理解为分子网络进行训练)逐步对各子网络进行搜索架构训练。可以理解的是,本申请并非对逐个子网络单独进行训练而是分部递进式进行,具体如下:
S2031:电子设备按照网络深度从初始神经搜索网络所包含的至少两个子网络中确定当前的目标子网络;
可理解的,初始神经搜索网络是由多个子网络堆叠连接构成的一个超网络,各子网络由至少一类搜索模型单元堆叠构成。
S2032:基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化,得到优化处理后的神经网络模型;
对初始神经搜索网络的架构搜索处理过程,通常是从第一个子网络逐个训练至最后一个子网络。因此在进行每轮针对子网络的训练优化过程时先确定当前待训练的目标子网络,然后再使用业务样本数据对目标子网络进行训练优化。
由于在初始神经搜索网络阶段,针对初始神经搜索网络所包含每个子网络中的各搜索模型单元:每搜索模型单元中两节点间设定了组成网络的候选操作集合(包含多个候选操作),这些候选操作在初始神经搜索网络中对应权重参数具体由softmax函数赋予权重,并松弛到初始神经搜索网络对应的连续空间中。
具体搜索阶段,采用业务样本数据输入至初始神经搜索网络对应的当前目标子网络进行网络训练和网络架构搜索,在搜索过程中目标子网络的各搜索模型单元的节点上对候选操作使用softmax函数加权,每次加权得到的目标子网络的神经网络架构采用性能评估策略进行网络性能评估,基于评估结果采用反向传播算法(BP算法)不断调整搜索策略,将目标子网络的模型权重参数和模型架构参数共同优化,然后优化过程中使用softmax函数加权,将整个目标子网络通过反向传播更新参数,一些实施方式中,最终只保留目标子网络对应cell的节点上每条连接上对应权值最大的操作,直至初始神经搜索网络收敛,得到优化处理后的神经网络模型。
S2033:若存在所述目标子网络对应下一网络深度的下一子网络,并将所述下一子网络连接至所述神经网络模型,将所述神经网络模型更新为所述目标子网络并执行基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化的步骤;
所述将所述下一子网络连接至所述神经网络模型,可理解为:电子设备确定所述神经网络模型尾端对应的第一搜索模型单元以及确定所述下一子网络首端对应的第二搜索模型单元;然后将所述第一搜索模型单元与所述第二搜索模型单元进行单元连接处理。
可以理解的,对初始神经搜索网络进行的网络架构搜索的方式为:
第1阶段网络架构搜索:对第1子网络进行网络架构搜索处理;
第2阶段网络架构搜索:对第1阶段训练好的第1子网络和第2子网络进行网络架构搜索,可理解为,将第1阶段训练好的第1子网络加入至第2子网络进行网络架构搜索处理;
第3阶段网络架构搜索:对第2阶段训练好的“第1子网络和第2子网络”加入至第3子网络进行网络架构搜索处理;
....
第N阶段网络架构搜索:对第N-1阶段训练好的“第1子网络、第2子网络...、第N-1子网络”加入至第N子网络进行网络架构搜索处理。
示意性的,电子设备首先进行第一阶段网络结构搜索,此时目标子网络也即第一子网络,对第一子网络进行网络架构搜索处理,在目标子网络完成第一阶段网络结构搜索之后将优化处理后的第一子网络作为神经网络模型;
进行第二阶段网络架构搜索,获取“目标子网络对应下一网络深度的下一子网络”也即“第二子网络”,将所述下一子网络(第二子网络)连接至所述神经网络模型,然后将神经网络模型更新为下一阶段的网络架构搜索处理对象,也即将神经网络模型更新为所述目标子网络,采用业务样本数据执行对目标子网络的网络架构搜索处理过程。
...以此类推,
进行第i(i为小于N的正整数)阶段网络架构搜索,获取“目标子网络对应下一网络深度的下一子网络”也即“第i子网络”,若存在所述目标子网络对应下一网络深度的下一子网络,将所述下一子网络(第i子网络)连接至所述神经网络模型,然后将神经网络模型更新为下一阶段的网络架构搜索处理对象,也即将神经网络模型更新为所述目标子网络,采用业务样本数据执行对目标子网络的网络架构搜索处理过程。
...以此类推
S2034:若不存在所述目标子网络对应下一网络深度的下一子网络,将所述神经网络模型作为训练优化后的第一神经网络模型。
“不存在所述目标子网络对应下一网络深度的下一子网络”可理解为已经完成对最后一个子网网络的网络架构搜索处理过程。
需要说明的是,前述每一阶段对目标子网络的网络架构搜索处理过程,每个阶段的样本业务数据可以是相同的,也可以是部分相同或全部不同,如可将总的业务数据按照子网络的个数平均分配,每一份作为样本业务数据。
进一步的,每一阶段对目标子网络的训练过程可以设置训练轮数y,按照训练轮数y对目标子网络进行训练。
如设置针对初始神经搜索网络的总轮数为X,子网络的数量为m,则y=X/m;
在一种具体的实施场景中,以初始神经搜索网络包含第1子网络、第2子网络以及第三子网络为例,也即如图6所示的各子网络,第1子网络由2个NC-1和1个RC-1构成,第2子网络由2个NC-2和1个RC-2构成,第3子网络由2个NC-3构成,如图8所示,图8是一种初始神经搜索网络的网络架构搜索场景示意图。
具体的,对图8示出初始神经搜索网络进行的网络架构搜索的方式为:
第1阶段网络架构搜索:将样本业务数据输入至第1子网络进行网络架构搜索处理,假设初始神经搜索网络的训练总轮数为N,则我们将第1阶段的第一子网络(相当于浅层网络)的训练轮数设置为1/3*N;
第2阶段网络架构搜索:对第1阶段训练好的第1子网络和第2子网络进行网络架构搜索,可理解为,将第1阶段训练好的第1子网络加入至第2子网络进行网络架构搜索处理;相当于可以理解为浅层网络(第1子网络)训练到一定程度得到包含第一子网络的神经网络模型,将中层网络(第2子网络)加入至神经网络模型进行训练,设置训练轮数为1/3*N。 这样,浅层和中层网络中的单元结构设置为不同,可以来适应不同深度处的网络需要。
第3阶段网络架构搜索:对第2阶段训练好的“第1子网络和第2子网络”加入至第3子网络进行网络架构搜索处理;当浅层网络和中层网络(第1子网络和第2子网络)对应的神经网络模型训练完毕后,将深层网络中的两个普通单元NC加入至神经网络模型进行训练,设置训练轮数为1/3*N。此时,可以得到了完整的代理模型也即第一神经网络模型。这一步骤中主要完成对整个网络的训练与优化。后续基于第一神经网络模型的模型参数生成初始第二神经网络模型,再使用样本业务数据对初始第二神经网络模型进行最终训练,得到最终的模型-“第二神经网络模型”。
在一种可行的实施方式中,初始神经搜索网络中的至少一个第一搜索模型单元与位于所述第一搜索模型单元之前的第二搜索模型单元以及第三搜索模型单元相关联,可以理解为从第3个搜索模型单元起:每个搜索模型单元(第一搜索模型单元)的输入为该搜索模型单元前两个单元(第二搜索模型单元和第三搜索模型单元)的输出。进一步的,每个搜索模型单元内部,通过前向节点计算后,将四个中间节点上的特征图进行聚合,成为该搜索模型单元的输出
可理解的是,上述:将所述下一子网络连接至所述神经网络模型,将所述神经网络模型更新为所述目标子网络,在“下一子网络连接至所述神经网络模型”的过程中,一种方式可以是直接进行连接,不对下一子网络的网络参数进行改动,也即以在连接后的神经网络模型中保留下一子网络的初始网络参数(包含模型权重参数和模型架构参数)。
可选的,考虑到网络的搜索成本和效果,本申请中初始神经搜索网络较现有技术而言网络多样性大大提升,一种方式还可以在“下一子网络连接至所述神经网络模型”的过程之后:可对新连接加入神经网络模型的下一子网络中初始模型参数进行优化,从而来降低训练周期,提升搜索效率。也可保证神经网络模型的模型权重等模型参数得到充分的训练,具体可参见下述涉及子网络层间继承初始化方法的方法。如下:
S1:按照网络深度从初始神经搜索网络所包含的至少两个子网络中确定当前的目标子网络;
S2:基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化,得到优化处理后的神经网络模型;
S3:若存在所述目标子网络对应下一网络深度的下一子网络,并将所述下一子网络连接至所述神经网络模型,基于所述神经网络模型对所述下一子网络进行模型参数更新处理。
可以理解的:电子设备获取所述神经网络模型中各参考搜索模型单元对应的目标模型权重参数以及确定所述参考搜索模型单元在所述下一子网络中的目标搜索模型单元;然后基于所述目标模型权重参数对所述目标搜索模型单元进行层间参数继承处理。
在一些实施方式中,参考搜索模型单元可理解为从神经网络模型所选取的用于对下一子网络中搜索模型单元进行参数继承的单元。
参考搜索模型单元的确定:基于下一子网络的搜索模型单元的数量和种类(种类是指RC和NC)确定,如下一子网络的搜索模型单元的数量为3,具体为两个NC和一个RC,则选取参考搜索模型单元的依据是从训练优化后的神经网络模型中的最后一个cell开始逐个遍历,选择相应数量的NC和RC作为参考搜索模型单元。
以图7为例,假设此时下一子网络为第二子网络,第二子网络包括2个NC和1个RC,此时参考搜索模型单元即为神经网络模型中第一子网络的两个NC-1和一个RC-2,也就是说下一子网络中的2个NC-2继承“第一子网络的两个NC-1”的目标模型权重参数,一个RC-2“第一子网络的一个RC-1”的目标模型权重参数。
也就是说在第二阶段对第二子网络进行训练时,引入第二子网的普通单元NC-2和压缩单元RC-2至神经网络模型时,将上一阶段的普通单元NC-1的目标模型权重参数作为普通单元NC-2的初始化值,将压缩单元RC-1的目标模型权重参数作为压缩单元RC-2的初始化值。相同地,在第三阶段对第三子网络进行训练时,引入第三子网络的普通单元NC-3至神经网络模型时中,我们将普通单元NC-2的目标模型权重参数作为普通单元NC-3的初始化值。在层间继承初始化的基础上,进行网络的训练和优化,可以保证网络的有效性,并且在一定程度上解决了计算量大、深层单元训练不充分等问题。
需要说明的是,层间参数继承处理可理解为继承了上一个阶段的模型权重参数而非模型架构参数。继承模型权重参数可使神经网络模型快速训练到比较优的状态。架构参数是不需要继承的,每一阶段的神经网络模型的是需要训练出不同的架构参数。进一步的,若采用前述“在“下一子网络连接至所述神经网络模型”的过程中,一种方式可以是直接进行连接,不对下一子网络的网络参数进行改动,也即以在连接后的神经网络模型中保留下一子网络的初始网络参数(包含模型权重参数和模型架构参数)”的方式,此时需要对每个阶段的神经网络模型中下一子网络的模型权重参数和模型架构参数进行训练的。
S4:将所述神经网络模型更新为所述目标子网络,执行基于业务样本数据对目标子网络的模型架构参数进行训练优化的步骤。
S5:若不存在所述目标子网络对应下一网络深度的下一子网络,将所述神经网络模型作为训练优化后的第一神经网络模型。
步骤S204:基于所述第一神经网络模型对应的模型参数生成第二神经网络模型。
所述第二神经网络模型对应的搜索模型单元数量大于或等于所述第一神经网络模型对应的搜索模型单元数量。
具体可参见步骤s103,此处不再赘述。
在本申请实施例中,电子设备获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元,然后基于业务样本数据对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型,最后基于所述第一神经网络模型对应的模型参数可以生成第二神经网络模型,通过避免采用同一类架构参数相同的搜索模型单元搭建初始神经搜搜网络,可以适应不同神经网络深度的架构搜索需求,避免网络结构单一导致的架构搜索效率低时间长,大幅提升了神经网络搜索架构的效率,节省了网络模型搜索时间;以及,与采用重复堆叠的相同单元的传统方法(如DARTS、FairDARTS等搜索空间都是基于重复堆叠的相同搜索单元进行)相比,显著增加了网络了灵活性以及可变性。灵活的模型结构使得模型能够适应不同网络深度处的需求,对模型整体性能实现了显著的提升;以及,通过改良神经网络架构搜索方法可不采用全程直接对整个网络进行架构搜索,而是分段式进行网络架构搜索训练,节省了网络架构搜索时间;以及,基于上一阶段的模型参数对下一阶段的模型搜索单元的参数进行继承,可提升网络性能,节省网络架构搜索训练的时间以及效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图9,其示出了本申请一个示例性实施例提供的神经网络架构搜索装置的结构示意图。该神经网络架构搜索装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括网络获取模块11、搜索训练模块12和模型确定模块13。
网络获取模块11,用于获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元;
搜索训练模块12,用于基于业务样本数据对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型;
模型确定模块13,用于基于所述第一神经网络模型对应的模型参数生成第二神经网络模型。
可选的,所述网络获取模块11,具体用于:
采用至少两类搜索模型单元堆叠,以构建至少两个不同网络深度类型的子网络,生成包含各所述子网络的初始神经搜索网络;
其中,在同一所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数相同;在不同所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数不同。
可选的,如图10所示,所述网络获取模块11,包括:
参数确定单元111,用于确定三类不同架构参数的搜索模型单元,各类所述搜索模型单元中同架构类型的搜索模型单元所对应的架构参数相同;
子网络构建单元112,用于基于所述三类搜索模型单元中的第一类搜索模型单元进行堆叠,构建第一子网络;基于所述三类搜索模型单元中的第二类搜索模型单元进行堆叠,构建第二子网络;基于所述三类搜索模型单元中的第三类搜索模型单元进行堆叠,构建第三子网络;
其中,所述第二子网络的网络深度大于所述第一子网络的网络深度且小于所述第三子网络的网络深度。
可选的,所述第一类搜索模型单元包括第一类普通单元和第一类压缩单元、所述第二类搜索模型单元包括第二类普通单元和第二类压缩单元以及所述第三类搜索模型单元包括第三类普通单元和第三类压缩单元;
所述第一子网络由两个所述第一类普通单元和一个所述第一类压缩单元堆叠构成;所述第二子网络由两个所述第二类普通单元和一个所述第二类压缩单元堆叠构成;所述第三子网络由两个所述第三类普通单元堆叠构成。
可选的,所述搜索训练模块12,具体用于:
基于业务样本数据按照网络深度分别对初始神经搜索网络所包含的至少两个子网络的模型权重参数和模型架构参数进行训练优化,得到训练优化后的第一神经网络模型。
可选的,所述搜索训练模块12,具体用于:
按照网络深度从初始神经搜索网络所包含的至少两个子网络中确定当前的目标子网络;
基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化,得到优化处理后的神经网络模型;
若存在所述目标子网络对应下一网络深度的下一子网络,并将所述下一子网络连接至所述神经网络模型,将所述神经网络模型更新为所述目标子网络并执行基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化的步骤;
若不存在所述目标子网络对应下一网络深度的下一子网络,将所述神经网络模型作为训练优化后的第一神经网络模型。
可选的,所述搜索训练模块12,具体用于:
确定所述神经网络模型尾端对应的第一搜索模型单元以及确定所述下一子网络首端对应的第二搜索模型单元;
将所述第一搜索模型单元与所述第二搜索模型单元进行单元连接处理。
可选的,所述搜索训练模块12,具体用于:
基于所述神经网络模型对所述下一子网络进行模型参数更新处理。
可选的,所述搜索训练模块12,具体用于:
获取所述神经网络模型中各参考搜索模型单元对应的目标模型权重参数以及确定所述参考搜索模型单元在所述下一子网络中的目标搜索模型单元;
基于所述目标模型权重参数对所述目标搜索模型单元进行层间参数继承处理。
可选的,所述搜索训练模块12,具体用于:
将所述神经网络模型更新为所述目标子网络,执行基于业务样本数据对目标子网络的模型架构参数进行训练优化的步骤。
可选的,所述初始神经搜索网络中的至少一个第一搜索模型单元与位于所述第一搜索模型单元之前的第二搜索模型单元以及第三搜索模型单元相关联。
需要说明的是,上述实施例提供的神经网络架构搜索装置在执行神经网络架构搜索方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的神经网络架构搜索装置与神经网络架构搜索方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图8所示实施例的所述神经网络架构搜索方法,具体执行过程可以参见图1-图8所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图8所示实施例的所述神经网络架构搜索方法,具体执行过程可以参见图1-图8所示实施例的具体说明,在此不进行赘述。
请参考图11,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。
参见图12所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图13所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、神经网络架构搜索程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图14所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图14所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquid crystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用电子设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图11所示的电子设备中,处理器110可以用于调用存储器120中存储的神经网络架构搜索应用程序,并具体执行以下操作:
获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元;
对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型;
基于所述第一神经网络模型对应的模型架构参数生成第二神经网络模型。
在一个实施例中,所述处理器110在执行所述所述获取由至少两类搜索模型单元组成的神经网络搜索空间时,具体执行以下步骤:
采用至少两类搜索模型单元堆叠,以构建至少两个不同网络深度类型的子网络,生成包含各所述子网络的初始神经搜索网络;
其中,在同一所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数相同;在不同所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数不同。
在一个实施例中,所述处理器110在执行所述采用至少两类搜索模型单元堆叠,以构建至少两个不同网络深度类型的子网络时,具体执行以下步骤:
确定三类不同架构参数的搜索模型单元,各类所述搜索模型单元中同架构类型的搜索模型单元所对应的架构参数相同;
基于所述三类搜索模型单元中的第一类搜索模型单元进行堆叠,构建第一子网络;基于所述三类搜索模型单元中的第二类搜索模型单元进行堆叠,构建第二子网络;基于所述三类搜索模型单元中的第三类搜索模型单元进行堆叠,构建第三子网络;
其中,所述第二子网络的网络深度大于所述第一子网络的网络深度且小于所述第三子网络的网络深度。
在一个实施例中,所述第一类搜索模型单元包括第一类普通单元和第一类压缩单元、所述第二类搜索模型单元包括第二类普通单元和第二类压缩单元以及所述第三类搜索模型单元包括第三类普通单元和第三类压缩单元;
所述第一子网络由两个所述第一类普通单元和一个所述第一类压缩单元堆叠构成;所述第二子网络由两个所述第二类普通单元和一个所述第二类压缩单元堆叠构成;所述第三子网络由两个所述第三类普通单元堆叠构成。
在一个实施例中,所述处理器110在执行所述对初始神经搜索网络进行架构搜索训练处理时,具体执行以下步骤:
基于业务样本数据按照网络深度分别对初始神经搜索网络所包含的至少两个子网络的模型权重参数和模型架构参数进行训练优化,得到训练优化后的第一神经网络模型。
在一个实施例中,所述处理器110在执行所述基于业务样本数据按照网络深度分别对初始神经搜索网络所包含的至少两个子网络的模型权重参数和模型架构参数进行训练优化,得到训练优化后的第一神经网络模型时,具体执行以下步骤:
按照网络深度从初始神经搜索网络所包含的至少两个子网络中确定当前的目标子网络;
基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化,得到优化处理后的神经网络模型;
若存在所述目标子网络对应下一网络深度的下一子网络,并将所述下一子网络连接至所述神经网络模型,将所述神经网络模型更新为所述目标子网络并执行基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化的步骤;
若不存在所述目标子网络对应下一网络深度的下一子网络,将所述神经网络模型作为训练优化后的第一神经网络模型。
在一个实施例中,所述处理器110在执行所述将所述下一子网络连接至所述神经网络模型时,具体执行以下步骤:
确定所述神经网络模型尾端对应的第一搜索模型单元以及确定所述下一子网络首端对应的第二搜索模型单元;
将所述第一搜索模型单元与所述第二搜索模型单元进行单元连接处理。
在一个实施例中,所述处理器110在执行所述将所述下一子网络连接至所述神经网络模型之后,还包括:
基于所述神经网络模型对所述下一子网络进行模型参数更新处理。
在一个实施例中,所述处理器110在执行所述基于所述神经网络模型对所述下一子网络进行模型参数更新处理,包括:
获取所述神经网络模型中各参考搜索模型单元对应的目标模型权重参数以及确定所述参考搜索模型单元在所述下一子网络中的目标搜索模型单元;
基于所述目标模型权重参数对所述目标搜索模型单元进行层间参数继承处理。
在一个实施例中,所述处理器110在执行所述将所述神经网络模型更新为所述目标子网络并执行基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化的步骤,包括:
将所述神经网络模型更新为所述目标子网络,执行基于业务样本数据对目标子网络的模型架构参数进行训练优化的步骤。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (14)
1.一种神经网络架构搜索方法,其特征在于,所述方法包括:
获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元;
对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型;
基于所述第一神经网络模型对应的模型参数生成第二神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述获取由至少两类搜索模型单元组成的初始神经搜索网络,包括:
采用至少两类搜索模型单元堆叠,以构建至少两个不同网络深度类型的子网络,生成包含各所述子网络的初始神经搜索网络;
其中,在同一所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数相同;在不同所述网络深度类型的子网络中同架构类型的搜索模型单元所对应的架构参数不同。
3.根据权利要求2所述的方法,其特征在于,所述采用至少两类搜索模型单元堆叠,以构建至少两个不同网络深度类型的子网络,包括:
确定三类不同架构参数的搜索模型单元,各类所述搜索模型单元中同架构类型的搜索模型单元所对应的架构参数相同;
基于所述三类搜索模型单元中的第一类搜索模型单元进行堆叠,构建第一子网络;基于所述三类搜索模型单元中的第二类搜索模型单元进行堆叠,构建第二子网络;基于所述三类搜索模型单元中的第三类搜索模型单元进行堆叠,构建第三子网络;
其中,所述第二子网络的网络深度大于所述第一子网络的网络深度且小于所述第三子网络的网络深度。
4.根据权利要求3所述的方法,其特征在于,
所述第一类搜索模型单元包括第一类普通单元和第一类压缩单元、所述第二类搜索模型单元包括第二类普通单元和第二类压缩单元以及所述第三类搜索模型单元包括第三类普通单元和第三类压缩单元;
所述第一子网络由两个所述第一类普通单元和一个所述第一类压缩单元堆叠构成;所述第二子网络由两个所述第二类普通单元和一个所述第二类压缩单元堆叠构成;所述第三子网络由两个所述第三类普通单元堆叠构成。
5.根据权利要求1-4任意一项所述的方法,所述对初始神经搜索网络进行架构搜索训练处理,包括:
基于业务样本数据按照网络深度分别对初始神经搜索网络所包含的至少两个子网络的模型权重参数和模型架构参数进行训练优化,得到训练优化后的第一神经网络模型。
6.根据权利要求5所述的方法,所述基于业务样本数据按照网络深度分别对初始神经搜索网络所包含的至少两个子网络的模型权重参数和模型架构参数进行训练优化,得到训练优化后的第一神经网络模型,包括:
按照网络深度从初始神经搜索网络所包含的至少两个子网络中确定当前的目标子网络;
基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化,得到优化处理后的神经网络模型;
若存在所述目标子网络对应下一网络深度的下一子网络,并将所述下一子网络连接至所述神经网络模型,将所述神经网络模型更新为所述目标子网络并执行基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化的步骤;
若不存在所述目标子网络对应下一网络深度的下一子网络,将所述神经网络模型作为训练优化后的第一神经网络模型。
7.根据权利要求6所述的方法,所述将所述下一子网络连接至所述神经网络模型,包括:
确定所述神经网络模型尾端对应的第一搜索模型单元以及确定所述下一子网络首端对应的第二搜索模型单元;
将所述第一搜索模型单元与所述第二搜索模型单元进行单元连接处理。
8.根据权利要求6所述的方法,所述将所述下一子网络连接至所述神经网络模型之后,还包括:
基于所述神经网络模型对所述下一子网络进行模型参数更新处理。
9.根据权利要求6所述的方法,所述基于所述神经网络模型对所述下一子网络进行模型参数更新处理,包括:
获取所述神经网络模型中各参考搜索模型单元对应的目标模型权重参数以及确定所述参考搜索模型单元在所述下一子网络中的目标搜索模型单元;
基于所述目标模型权重参数对所述目标搜索模型单元进行层间参数继承处理。
10.根据权利要求9所述的方法,所述将所述神经网络模型更新为所述目标子网络并执行基于业务样本数据对目标子网络的模型权重参数和模型架构参数进行训练优化的步骤,包括:
将所述神经网络模型更新为所述目标子网络,执行基于业务样本数据对目标子网络的模型架构参数进行训练优化的步骤。
11.根据权利要求1-10任意一项所述的方法,所述初始神经搜索网络中的至少一个第一搜索模型单元与位于所述第一搜索模型单元之前的第二搜索模型单元以及第三搜索模型单元相关联。
12.一种神经网络架构搜索装置,其特征在于,所述装置包括:
网络获取模块,用于获取由至少两类搜索模型单元组成的初始神经搜索网络,所述至少两类搜索模型单元包括至少两类属于同架构类型的不同架构参数对应的搜索模型单元;
搜索训练模块,用于基于业务样本数据对初始神经搜索网络进行架构搜索训练处理,得到训练后的第一神经网络模型;
模型确定模块,用于基于所述第一神经网络模型对应的模型参数生成第二神经网络模型。
13.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~11任意一项的方法步骤。
14.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~11任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111213860.XA CN114118403A (zh) | 2021-10-19 | 2021-10-19 | 神经网络架构搜索方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111213860.XA CN114118403A (zh) | 2021-10-19 | 2021-10-19 | 神经网络架构搜索方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114118403A true CN114118403A (zh) | 2022-03-01 |
Family
ID=80375965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111213860.XA Pending CN114118403A (zh) | 2021-10-19 | 2021-10-19 | 神经网络架构搜索方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114118403A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502679A (zh) * | 2023-05-15 | 2023-07-28 | 之江实验室 | 一种模型构建方法、装置、存储介质及电子设备 |
WO2024040792A1 (zh) * | 2022-08-25 | 2024-02-29 | 天翼电子商务有限公司 | 一种基于模型压缩思想的nas架构搜索方法 |
-
2021
- 2021-10-19 CN CN202111213860.XA patent/CN114118403A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024040792A1 (zh) * | 2022-08-25 | 2024-02-29 | 天翼电子商务有限公司 | 一种基于模型压缩思想的nas架构搜索方法 |
CN116502679A (zh) * | 2023-05-15 | 2023-07-28 | 之江实验室 | 一种模型构建方法、装置、存储介质及电子设备 |
CN116502679B (zh) * | 2023-05-15 | 2023-09-05 | 之江实验室 | 一种模型构建方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908667B (zh) | 神经网络联合编译的方法、装置和电子设备 | |
CN109117953B (zh) | 网络参数训练方法和系统、服务器、客户端及存储介质 | |
CN112837099B (zh) | 潜在流失用户识别方法、装置、存储介质及电子设备 | |
CN111813869B (zh) | 一种基于分布式数据的多任务模型训练方法及系统 | |
CN111275784B (zh) | 生成图像的方法和装置 | |
CN114118403A (zh) | 神经网络架构搜索方法、装置、存储介质及电子设备 | |
US11423307B2 (en) | Taxonomy construction via graph-based cross-domain knowledge transfer | |
CN113515672A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN112839223B (zh) | 图像压缩方法、装置、存储介质及电子设备 | |
CN111124668A (zh) | 内存释放方法、装置、存储介质及终端 | |
CN111143039A (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN111985597A (zh) | 模型压缩方法及装置 | |
CN111444379A (zh) | 音频的特征向量生成方法及音频片段表示模型的训练方法 | |
CN113163055B (zh) | 一种震动调节方法、装置、存储介质及电子设备 | |
CN117555459A (zh) | 一种应用组处理方法、装置、存储介质及电子设备 | |
CN112256354A (zh) | 应用启动方法、装置、存储介质及电子设备 | |
CN111966894A (zh) | 信息查询方法、装置、存储介质及电子设备 | |
CN113282237B (zh) | 分区创建方法、装置、存储介质及计算机设备 | |
CN116188251A (zh) | 模型构建方法、虚拟形象生成方法、装置、设备、介质 | |
CN114756714A (zh) | 一种图数据的处理方法、装置以及存储介质 | |
CN113051126B (zh) | 画像构建方法、装置、设备及存储介质 | |
CN114356512A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN113822429A (zh) | 针对推荐系统的解释方法、装置、设备及可读存储介质 | |
WO2021100109A1 (ja) | イベント予測方法、イベント予測装置及びプログラム | |
CN113268414A (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 |