CN115222011A - 神经网络架构搜索方法及电子设备 - Google Patents
神经网络架构搜索方法及电子设备 Download PDFInfo
- Publication number
- CN115222011A CN115222011A CN202110414442.0A CN202110414442A CN115222011A CN 115222011 A CN115222011 A CN 115222011A CN 202110414442 A CN202110414442 A CN 202110414442A CN 115222011 A CN115222011 A CN 115222011A
- Authority
- CN
- China
- Prior art keywords
- candidate
- operations
- search space
- candidate operation
- data processing
- 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 68
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 90
- 238000012549 training Methods 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 14
- 238000010606 normalization Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 238000003709 image segmentation Methods 0.000 description 11
- 230000011218 segmentation Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 6
- 238000011176 pooling Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例涉及AI技术领域,提供了一种神经网络架构搜索方法。该方法中,在获得搜索空间内的第一候选操作集之后,电子设备根据第一候选操作集各个候选操作的权值,从第一候选操作集中获得至少两个第一目标操作,以根据该至少两个第一目标操作获得数据处理网络。其中,第一候选操作集包含搜索空间内至少两个子空间的候选操作,且第一候选操作集中各个候选操作的权值的和为1。即,本方法以全部候选子空间作为权值归一化的基础。可见,采用本技术方案,基于搜索空间的全局性能从搜索空间中获得数据处理网络,从而能够确保所得到的数据处理网络的性能最佳。
Description
技术领域
本申请实施例涉及AI(Artificial Intelligence,人工智能)技术领域,尤其涉及一种神经网络架构搜索方法及电子设备。
背景技术
数据处理业务遍布各行各业,人们对数据处理网络的性能的要求也越来越高。基于此,本领域提供了一种神经网络架构搜索技术,可以根据数据处理的业务类型,从一定数量的搜索空间中选出用于处理相关业务的多种操作,进而,基于选出的多种操作形成用于处理相关业务的网络架构。
目前的神经网络架构搜索技术,将每个子搜索空间作为独立的单元,从中选择性能最优的操作。而这样的机制,无法从搜索空间获得性能最佳的数据处理网络。
发明内容
本申请实施例提供了一种神经网络架构搜索方法及电子设备,以解决基于现有方案无法获得性能最佳的数据处理网络的问题。
第一方面,本申请实施例提供了一种神经网络架构搜索方法,该方法包括:
获得搜索空间,搜索空间包含第一候选操作集,第一候选操作集包含搜索空间内至少两个子空间的候选操作;
根据第一候选操作集中各个候选操作的权值,从第一候选操作集中确定至少两个第一目标操作,第一候选操作集中各个候选操作的权值的和为1;
根据至少两个第一目标操作获得数据处理网络。
第二方面,本申请实施例提供了一种数据处理架构的确定装置,该装置包括:
获取模块,用于获得搜索空间,搜索空间包含第一候选操作集,第一候选操作集包含搜索空间内至少两个子空间的候选操作;
搜索模块,用于根据第一候选操作集中各个候选操作的权值,从第一候选操作集中确定至少两个第一目标操作,第一候选操作集中各个候选操作的权值的和为1;根据至少两个第一目标操作获得数据处理网络。
第三方面,提供了一种电子设备,该电子设备包括:所述电子设备包括存储器和一个或多个处理器;其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得电子设备执行第一方面所述的神经网络架构搜索方法的部分或全部步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行第一方面的方法的部分或全部步骤。
为解决常用技术存在的技术问题,本申请实施例的实现方式,在获得搜索空间内的,根据第一候选操作集中各个候选操作的权值,从第一候选操作集中确定至少两个第一目标操作,以根据至少两个第一目标操作获得可以数据处理网络。其中,第一候选操作集中各个候选操作的权值的和为1,即本申请技术方案中,候选子空间内的各个候选操作的权值,是将搜索空间内的全部候选子空间为基础归一化得到的。这样,能够基于搜索空间的全局性能从搜索空间中获得数据处理网络,从而能够确保所得到的数据处理网络的性能最佳。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。应理解,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的子空间的示例性场景示意图;
图2为本申请实施例提供的神经网络架构搜索方法10的方法流程图;
图3A为本申请实施例提供的子空间的一种示例性场景示意图;
图3B为本申请实施例提供的子空间的另一种示例性场景示意图;
图4A为本申请实施例提供的骨干搜索空间的示例性示意图;
图4B为本申请实施例提供的attention搜索空间的示例性示意图;
图4C为本申请实施例提供的搜索图像分割网络的场景示意图;
图5A为本申请提供的神经网络架构搜索装置50的示例性组成示意图;
图5B为本申请提供的电子设备51的示例性结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例的技术方案进行描述。
本申请以下实施例中所使用的术语是为了描述特定实施例的目的,而并非旨在作为对本申请技术方案的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,尽管在以下实施例中可能采用术语第一、第二等来描述某一类对象,但所述对象不应限于这些术语。这些术语用来将该类对象的具体实现对象进行区分。例如,以下实施例中采用术语第一、第二等来描述目标操作,但目标操作不限于这些术语。这些术语仅用来区分来自不同搜索空间的目标操作。以下实施例中可能采用术语第一、第二等来描述的其他类对象同理,此处不再赘述。
本申请实施例涉及神经网络架构搜索(Neural Architecture Search,NAS)技术,NAS技术属于自动机器学习(Auto Machine Learning)技术,是一种从预设的搜索空间中获得网络结构的技术。所获得的网络结构用于执行数据处理,本申请实施例涉及的数据处理可以包括图像分割(例如语义分割)、图像分类、语义分割和语言建模等处理。
搜索空间是指可以被搜索的神经网络组成的空间。由于搜索空间中包含多个神经网络,所以,本领域中,搜索空间可以逻辑等效为一个超网(super-net)。该超网是所有候选子网络的集合,子网络也可以被称为“子空间”。每个子空间可以是一个支持数据处理业务的功能模块。每个子空间可以包括至少一个候选操作(operator,op),该至少一个候选操作相互之间的性能可以不同。这里的“候选操作”是指相应子空间的一种业务处理方式,示例性的,每种业务处理方式例如是一种算法,或者一种执行流程。基于此,实际实现中,本领域涉及的搜索得到一个数据处理网络,可以是从搜索空间内各个子空间的候选操作中,选择出至少一个操作,将选择出的至少一个操作形成用于数据处理的网络架构。
本申请实施例中的数据处理网络可以为神经网络,或神经网络架构,如果数据处理业务为语义分割业务,则数据处理网络可以为执行语义分割任务的神经网络或神经网络架构。
本申请实施例涉及的神经网络可以包括,RNN(Recurrent Neural Network,循环神经网络)、NMT(Neural Machine Translation,神经网络机器翻译)、Encoder-Decoder(编码器-解码器)结构的神经网络等,此处不详述。
本申请实施例涉及的“操作(op)”可以包括pwise(Pointwise逐点卷积)、Dwise(Depthwise深度卷积)操作、Split(分裂)操作和Shuffle(交换重排)操作等,此处不详述。
请参考图1,图1示意了一种子空间的示例性场景。如图1所示,该子空间包含三种候选操作:候选操作op1、候选操作op2和候选操作op3,每个候选操作均对应一个权值α,用于指示相应候选操作的重要性。其中,权值α越大,指示相应候选操作的重要性越高。例如,op1的权值是α1,op2的权值是α2,op3的权值是α3,若α1大于α3,则指示op1的重要性相较op3更高。
应理解,上述图1仅是示意性描述,不构成对本申请技术方案的限制。在实际实现中,本申请实施例涉及的子空间还可以包含更多或者更少的候选操作。本申请实施例对此不限制。
一种常用的神经网络架构搜索方法实现为,按照权值从大到小的顺序,从搜索空间内全部候选子空间的候选操作中,选择预设数量的候选操作,进而,基于该预设数量的候选操作得到数据处理网络。由于目前以子空间为单位通过归一化设置每个子空间内候选操作的权值,即图1中的权值满足:∑i=1~3αi=1,使得搜索空间内各个子空间对应的权值相互独立,即各个子空间内的候选操作的权值不相关。这样,该常用的神经网络架构搜索方法,本质上是基于每个独立的子空间进行搜索,而不是基于网络架构全局进行搜索,从而无法从搜索空间中获得性能最佳的数据处理网络。
本申请实施例提供了一种神经网络架构搜索方法及电子设备,该电子设备以搜索空间内的全部候选子空间为归一化的基础,确定候选子空间内的各个候选操作的权值,以及根据权值选择目标操作,根据目标操作得到数据处理网络。这样,能够基于搜索空间的全局性能从搜索空间中获得数据处理网络,从而能够确保所得到的数据处理网络的性能最佳。
可选的,本申请实施例涉及的搜索过程可以是梯度搜索方法。
可以理解的是,本申请实施例还可以适用于面向未来的神经网络搜索技术。本申请实施例描述的神经网络架构、深度学习算法以及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对本申请提供的技术方案的限定,本领域普通技术人员可知,随着深度学习算法的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。
如图2所示,本申请实施例提供了一种神经网络架构搜索方法10(以下简称方法10),方法10包括:电子设备获得搜索空间,该搜索空间包含第一候选操作集,第一候选操作集包含搜索空间内至少两个子空间的候选操作。之后,电子设备可以根据第一候选操作集中各个候选操作的权值,从第一候选操作集中确定至少两个第一目标操作,进而,根据至少两个第一目标操作获得数据处理网络。其中,第一候选操作集中各个候选操作的权值的和为1。训练搜索空间,以得到第一候选操作集中各个候选操作的权值,以根据权值从第一候选操作集中确定至少两个第一目标操作。
根据前述对搜索空间、子空间和候选操作的描述可知,每个子空间包含至少一个候选操作。在本申请的一种可选实现方式中,可以将多个子空间逻辑等效为一个候选操作集,即第一候选操作集对应至少两个子空间,该多个子空间可以是一个待搜索网络架构中的子空间。其中,第一候选操作集中各个候选操作的权值的和为1,说明训练过程中,电子设备以待搜索网络架构为基础对各个候选操作的权值进行的归一化。基于此,电子设备基于权值从第一候选操作集中选择第一目标操作,以及根据第一目标操作形成数据处理网络,依赖于待搜索网络架构的整体性能,这样能够确保所得到的数据处理网络的性能最佳。
需要指出的是,前述搜索空间可以是根据数据处理业务,基于常用的算法预配置的,常用的算法例如包括MobileNetV2算法和self-attention(自注意力)算法等。对应不同的数据处理业务,可以采用相匹配的算法,此处不限制。
一些实施方式中,搜索空间内的全部子空间支持特征提取的维度相同,例如,均是支持基于全局数据进行特征提取的网络,本示例中,将搜索空间内的全部子空间作为一个待搜索网络架构,以及将该待搜索网络架构相关的全部候选操作,作为前述第一候选操作集。另一些实施方式中,搜索空间内的子空间支持特征提取的维度不相同,例如部分子空间支持基于全局数据进行特征提取(例如骨干网络),另一部分子空间支持基于局部数据进行特征提取(例如注意力(attention)网络)。本示例中,可以按照支持特征提取的维度,将搜索空间内的子空间划分为不同的待搜索子网络。例如,将搜索空间划分为骨干搜索空间(搜索骨干网络的搜索空间)和attention搜索空间(搜索attention网络的搜索空间)。其中,每一个待搜索子网络作为一个候选操作集。示例性的,第一候选操作集例如是attention搜索空间对应的候选操作集,那么,搜索空间还包括第二候选操作集,第二候选操作集包括骨干搜索空间的子空间。
进一步的,一些实施方式中,在获得搜索空间之后,电子设备可以先训练该搜索空间,以得到第一候选操作集中全部候选操作的权值。另一些实施方式中,电子设备在确定至少两个第一目标操作之前,已经训练得到第一候选操作集中全部候选操作的权值。下面对本申请实施例涉及的训练搜索空间,得到前述权值的过程进行说明。
需要指出的是,第一候选操作集对应的至少两个子空间按层部署。基于此,为了确保以第一候选操作集为范围对权值归一化,在训练搜索空间的过程中,针对至少两个子空间中的任一子空间,电子设备可以在满足第一候选操作集中全部候选操作的权值加权为1的条件下,将该子空间输出的特征图,用作该子空间下一层子空间的输入特征图。由于每个子空间输出的特征图是根据输入的特征图、该子空间包含的各个候选操作及各个候选操作的权值进行计算得到的,所以,这种模式可以实现以第一候选操作集为范围,对各候选操作的权值进行归一化。
需要指出的是,该至少两个子空间中第一层子空间的输入是初始特征图。
请参考图3A,图3A的attention搜索空间例如满足:AttSets=AttSet1∪AttSet2,即AttSet1和AttSet2是attention搜索空间内的两个attention子空间,其中,AttSet1包含m个候选操作,ATT1,……,ATTm,β11至β1m分别是m个候选操作的权值,AttSet2包含n个候选操作,ATT1,……,ATTn,β21至β2n分别是n个候选操作的权值。其中,m和n均是大于或者等于1的数值。β11至β1m以及β21至β2n的具体值待确定,β11至β1m以及β21至β2n满足:∑att∈AttSetsβatt=1(公式1),βatt表示attention搜索空间AttSets中任意子空间AttSet(以下简写为att)的权值,βatt属于β11至β1m以及β21至β2n。0指示是AttSet1的输入特征图,1指示AttSet1的输出特征图,以及AttSet2的输入特征图。2是AttSet2的输出特征图。1指示的特征图x1满足公式2:
其中,att′表示AttSets中的任一attention子空间(即任一AttSet),βatt′表示attention子空间att′中的候选操作的权值,att(x0)是指attention子空间AttSet1按照候选操作ATT1,……,ATTm,作用到特征图x0的算法操作,x1是AttSet1基于特征图x0输出的特征图。
2指示的特征图x2满足公式3:
其中,att(x1)是指attention子空间AttSet2按照候选操作ATT1,……,ATTn,作用到特征图x1的算法操作,x2是AttSet1基于特征图x1输出的特征图。
可以理解的是,图3A仅是示意性描述,对本申请实施例涉及的attention子空间不构成限制。在另一些实施方式中,本申请实施例涉及的attention子空间的层数还可以更多或者更少,且每个attention子空间包含候选操作也可以更多或者更少。
在满足公式1、公式2和公式3的条件下,电子设备可以基于训练样本,计算搜索空间的网络损失函数值。若网络损失函数值大于或者等于第一预设值,则认为网络损失函数值未收敛,需要继续调整搜索空间的参数,进而,将第一候选操作集中每个候选操作的第一训练值调整为第二训练值,并再次计算搜索空间的网络损失函数值。若网络损失函数值小于或者等于第一预设值,则认为网络损失函数值收敛,搜索空间的性能达到预期,进而,将第一候选操作集中每个候选操作的第一训练值确定为权值。其中,第一训练值是指相应候选操作当前的权值。在第一轮训练中,第一训练值即为搜索空间中各候选操作的初始值。
应理解,第一预设值可以基于实际的数据处理业务灵活设置,此处不限制。
需要指出的是,常用的训练搜索空间超参数的方式,训练得到的权值,并不接近于0或1,使得基于这样的权值搜索得到的网络准确性较差。为了提高数据处理网络的准确性,本申请实施例可以增加权值的熵值或者使用交叉熵损失函数来细分性能。另外,为了获得轻量级数据处理网络,本申请实施例添加硬件限制(例如FLOPs(floating pointoperations,浮点运算数))的方式,引导搜索过程选择较符合目标的候选操作,以得到轻量级网络架构。
一种可能的实现方式中,电子设备根据预配置的计算量计算网络损失函数。可选的,电子设备通过FLOPs表征计算量。预配置的计算量可以是待获得的数据处理网络的计算量。
示例性的,表示搜索空间的网络损失函数例如通过公式4表示:
loss=lossarch+ω1×lossflops+ω2×lossentropy (公式4)
其中,lossarch表示数据处理业务的精度损失函数,例如图像分割精度的损失函数,lossflops表示网络计算量的损失函数,用以控制实际所搜索的网络的大小,lossentropy为搜索空间内候选操作的权值的熵值,ω1表示控制重要性的超参数,ω2表示控制重要性的超参数。ω1和ω2是平衡lossarch、lossflops和lossentropy之间比率的系数。
公式4中的网络计算量的损失函数lossflops例如通过公式5表示:
lossflops=(flopspredict-flopstarget)÷flopstarget (公式5)
其中,flopspredict表示实际所搜索的网络flops,flopstarget表示目标flops。
可见,采用本实现方式,通过增加计算量的限制,电子设备能够降低训练过程中的运算量,从而降低开销。
进一步的,电子设备可以基于权值从第一候选操作集中确定至少两个第一目标操作,以根据至少两个第一目标操作获得数据处理网络。
示例性的,电子设备可以按照权值从大到小的顺序,将第一候选操作集中预设数量的候选操作确定为第一目标操作。应理解,预设数量的值可以根据数据处理网络的大小确定,一个可选示例中,预设数量例如是3。
例如,以attention搜索空间为例,搜索候选操作的方式例如通过公式6表达:
selectedatts=top p(βatt),att∈AttSets (公式6)
其中,AttSets表示attention搜索空间,att表示AttSets中的子空间,βatt表示前述attention搜索空间内全部attention子空间的权值,p表示预设数量,top p表示从βatt中按照从大到小的顺序选择p个权值,相应的,也从attention搜索空间中选择出p个子空间。
可见,采用本实现方式搜索得到的第一目标操作,是基于待搜索网络架构全局的性能获得的,从而可以表征为搜索空间内表现最优的操作。
进一步的,根据前述对搜索空间与待搜索网络架构的描述可知,一些实施方式中,搜索空间还包括第二候选操作集,第二候选操作集例如对应至少一个子空间。本示例中,电子设备可以根据前述操作搜索第一候选操作集得到至少两个第一目标操作过程中,还可以搜索第二候选操作集得到至少一个第二目标操作。
示例性的,对于第二候选操作集相关的每个子空间,选择该子空间训练后的权值最大的候选操作,作为该子空间对应的第二目标操作,最终得到至少一个第二目标操作。
以第二候选操作集对应骨干搜索空间为例,请参考图3B,图3B示意了一个骨干网络子空间的场景示意图。其中,该骨干网络子空间例如包括6个候选操作,k表示每个候选操作的卷积核大小,e表示每个候选操作的拓展系数。例如,标注k3_e1的候选操作,表示该候选操作的卷积核大小是3,拓展系数是1。α1至α6分别是该6个候选操作的权值。其中,α1至α6满足:∑i=1…6αi=1,即,对应骨干搜索空间,以子空间为单位对候选操作的权值进行归一化。进一步的,α1至α6中α3的值例如最大,将对应的候选操作作为本子空间的第二目标操作。
可以理解的是,图3B仅是示意性描述,对本申请实施例涉及的骨干网络子空间不构成限制。在另一些实施方式中,本申请实施例涉及的骨干网络子空间包含候选操作也可以更多或者更少。每个候选操作的卷积核采纳数和拓展系数也可以为其他。
进一步的,在搜索空间只包含第一候选操作集的场景下,电子设备可以组合至少两个第一目标操作得到初始数据处理网络,以及训练初始数据处理网络,得到数据处理网络。在搜索空间包含第一候选操作集和第二候选操作集的场景下,电子设备可以组合至少两个第一目标操作和至少一个第二目标操作得到初始数据处理网络,以及训练初始数据处理网络,得到数据处理网络。
可选的,前述组合操作可以包括以下至少一种:平行组合和顺序组合。实际实现中,可以根据数据处理业务等灵活配置,本申请实施例对此不限制。
如图3A所示,通过堆叠两层AttSet作为attention搜索空间,该attention搜索空间包括候选操作的各种组合样式。例如,若选择四个候选操作,则组合样式具有以下可能性:1)在第一层AttSet中有四个候选操作;2)在第一层AttSet中选择3个候选操作,在第2层AttSet选择1个候选操作;
3)在第一层AttSet中选择2个候选操作,在第二层AttSet中选择2个候选操作;4)在第一层AttSet中选择1个候选操作,在第二层AttSet中选择3个候选操作;5)在第2层AttSet中选择4个候选操作。且包含包括平行组合和顺序组合,总共可以得到2.5×1017个网络,
需要指出的是,组合得到的数据处理网络需要进一步训练,以得到可用的数据处理网络。示例性的,可以通过轮次计算待训练网络对应的业务精度损失函数,直到小于第二预设值时,收敛,得到可用的数据处理网络。其中,初始数据处理网络是初始待训练网络。
应理解,第二预设值可以基于实际的数据处理业务灵活设置,此处不限制。
另一些实施方式中,若电子设备想要获得另一个数据处理网络,电子设备可以基于前述训练后的权值,搜索得到该另一个数据处理网络。或者,再次训练前述搜索空间,获得前述候选操作集中各个候选操作的权值,并基于本次训练得到的权值,选择目标操作以得到该另一个数据处理网络。本申请实施例对此不限制。
综上,采用本申请实施例的实现方式,电子设备以待搜索网络架构为基础,对各个候选操作的权值进行的归一化,然后,基于权值选择用于组网的目标操作,本质上是依赖于待搜索网络架构的整体性能进行搜索,这样能够确保所得到的数据处理网络的性能最佳。此外,在训练候选操作的权值过程中,通过配置计算量,能够减少需要计算的数据,从而减少电子设备的开销。
方法10是从原理层面对本申请技术方案的说明,下面结合一个示例性实施场景,对本申请的神经网络架构搜索方法进行说明。
以数据处理是图像分割为例,基于NAS技术确定图像分割网络。
首先,相关技术人员可以预配置搜索空间。图像分割领域的搜索空间可以包括骨干搜索空间和attention搜索空间。
示例性的,相关技术人员可以将MobileNetV2搜索空间作为骨干搜索空间,并配置相关参数。如图4A所示,骨干搜索空间例如包括17个骨干子空间。在每个骨干子空间内,例如以卷积核大小为3和5,拓展系数为1、3和6的可分离卷积进行操作,基于此,每个骨干子空间包括6个候选操作。骨干子空间可以如图3B所示。
之后,电子设备可以以每个骨干子空间为单位,通过归一化的方式设置相应骨干子空间内候选操作的权值。
相关技术人员可以基于常用的注意力结构,配置attention搜索空间。常用的注意力结构包括PSP(Pyramid Scene Parsing,金字塔场景解析)、ASPP(Atrous SpatialPyramid Pooling,空洞空间金字塔池)、SA(Self-Attention,自身注意力)模块、SP(StripPooling,带状/条状池化)和SE(Squeeze and Excitation,挤压和激励)架构等。
本示例涉及的attention搜索空间如图4B所示,包含13个子空间AttSet。该13个AttSet的描述信息如表1所示。
表1
如表1所示,子空间AttSet1至AttSet5是本地注意力架构的功能模块,包括PSP网络中PSP模块相关的子模块,由池化、卷积和上采样算法来实现。AttSet1至AttSet5对应的池的大小不同。AttSet6至AttSet9具有不同大小的卷积,其理念来自深度学习中的ASPP模块。AttSet10至AttSet11是全局注意力架构。AttSet10至AttSet11是Self-Attention,它通过池化、Self-Attention和上采样算法来实现。其中,AttSet 10和AttSet 11具有不同的输入大小,以便于执行Self-Attention。AttSet 12是设计的串行池化。AttSet 13是通道方面的注意力架构,它的灵感来自SE模块。
可以理解的是,表1仅是示意性描述,对本申请实施例涉及的AttSet不构成限制。在另一些实施方式中,每个AttSet的注意力实现,还可以基于其他的算法或者算法组合。
基于表1和图4B可以看出,本申请实施例不在attention搜索空间中直接使用ASPP模块和PSP模块,原因在于希望获得轻量级网络架构。由于常用的ASPP模块和PSP模块均较大,所以,使用具备相关计算功能的子模块构建attention搜索空间。
可见,采用本实现方式,attention搜索空间内的子空间均是轻量级架构,从而能够细化搜索的颗粒度,进而得到性能较佳的数据处理网络。
进一步的,电子设备可以设置该13个AttSet中,每个AttSet的各候选操作的初始权值。
在获得包括前述骨干搜索空间和attention搜索空间之后,电子设备通过NAS技术获得图像分割模型。
请参考图4C,电子设备可以将图像分割的训练样本,输入前述搜索空间对应的模型,之后,电子设备基于训练样本训练骨干搜索空间和attention搜索空间,以得到骨干搜索空间中每个候选操作的训练后的权值,和attention搜索空间中每个候选操作的训练后的权值。电子设备基于训练样本训练骨干搜索空间和attention搜索空间的过程,可以参考前述公式1至公式5相关的描述,此处不再详述。
进一步的,电子设备根据骨干搜索空间中每个候选操作的训练后的权值,选择第二目标操作,以及根据attention搜索空间中每个候选操作的训练后的,选择第一目标操作。本示例中,电子设备可以选择出17个第二目标操作,以及3个第一目标操作。电子设备选择第二目标操作的实施过程,参考图3B对应的实施例所述,电子设备选择第一目标操作的实施过程,参考图3A以及公式6对应的实施例所述。
进而,电子设备组合该17个第二目标操作和3个第一目标操作,得到初始图像分割模型。之后,电子设备基于前述训练样本训练初始图像分割模型,当lossarch值收敛,得到图像分割模型。
另一些实施方式中,电子设备在执行搜索过程中,还可以确定前述各目标操作的组合模式。
再次参见图4C,可见,电子设备可以以基于梯度的方法搜索骨干搜索空间和attention搜索空间。且为了获得轻量级网络模型,在MobileNetV2空间中确定搜索内核大小和扩展比率。对于attention搜索空间,搜索小的注意力功能模块及其组合模式。
可以理解的是,前述获得图像分割网络的示例,仅是示意性描述,对本申请实施例不构成限制。在另一些实施方式中,本申请实施例涉及的方法还可以适用于其他实施场景,例如,语义分割、图像分类等。
本申请实施例提出了一种基于NAS的语义分割方法,如图4C所述。搜索空间由骨干网络(也可以称为骨干模块)和注意力网络(也可以称为注意力模块)组成。通过本申请技术方案,可以搜索到注意力模块的组合。搜索过程采用基于梯度的方法。为了得到一个轻量级的模块,本申请技术方案可以添加硬件限制(例如,FLOPs)来指导搜索过程。结果表明,本申请技术方案在搜索轻量级语义分割网络方面是非常有效的。
如果将本申请技术方案应用于语义分割任务中,那么本申请技术方案也可以称为AttNAS:Searching Attentions for Lightweight Semantic Segmentation,为轻量级语义分割搜索注意力。
综上,本申请技术方案的主要贡献如下:
(1)首次将NAS技术扩展到语义分割中的注意力网络的搜索;
(2)可以同时搜索骨干网络和attention网络,并定义了一个新的搜索空间,以探索现有AttSet的组合模式;
(3)AttNAS搜索方法具有良好的概括能力(也可以称为泛化能力),并且能够获得比现有技术更高的精度,且在不同的骨干网络上使用较少的FLOP。
(4)与具有类似FLOP的现有方法相比,具有更优的性能。
上述实施例从候选操作的选取、目标操作的组合等学习算法和电子设备所执行的动作的角度,对本申请实施例提供的神经网络架构搜索方法的各实施方式进行了介绍。应理解,对应候选操作的选取、目标操作的组合等的处理步骤,本申请实施例可以以硬件或硬件和计算机软件的结合形式来实现上述功能。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
例如,若上述实现步骤通过软件模块来实现相应的功能。如图5A所示,神经网络架构搜索装置50可以包括获取模块501和搜索模块502。该神经网络架构搜索装置50可用于执行上述图2至图4C神经网络架构搜索方法的部分或全部操作。
例如:获取模块501,用于获得搜索空间,搜索空间包含第一候选操作集,第一候选操作集包含搜索空间内至少两个子空间的候选操作。搜索模块502,用于根据第一候选操作集中各个候选操作的权值,从第一候选操作集中确定至少两个第一目标操作,第一候选操作集中各个候选操作的权值的和为1;还用于根据至少两个第一目标操作获得数据处理网络。
由此可见,本申请实施例提供的装置50,以待搜索网络架构为基础,对各个候选操作的权值进行的归一化,然后,基于权值选择用于组网的目标操作,本质上是依赖于待搜索网络架构的整体性能进行搜索,这样能够确保所得到的数据处理网络的性能最佳。
可选的,搜索模块502,还用于按照权值从大到小的顺序将第一候选操作集中预设数量的候选操作确定为第一目标操作。
可选的,神经网络架构搜索装置50还包括训练模块,训练模块用于训练搜索空间,以得到第一候选操作集中各个候选操作的权值。
可选的,训练模块具体用于获得搜索空间的网络损失函数值;若网络损失函数值大于或者等于第一预设值,将第一候选操作集中每个候选操作的第一训练值调整为第二训练值,并再次执行获得搜索空间的网络损失函数值操作;若网络损失函数值小于或者等于第一预设值,将第一候选操作集中每个候选操作的第一训练值确定为候选操作的权值,第一训练值是指相应候选操作当前的权值。
可选的,训练模块,还用于根据预配置的计算量计算网络损失函数,预配置的计算量是指预配置的数据处理网络的计算量。
可选的,训练模块还用于在满足第一候选操作集中全部候选操作的权值加权为1的条件下,针对至少两个子空间中的任一子空间,将子空间输出的特征图,作为子空间的下一层子空间输入的特征图。
可选的,搜索模块502,还用于组合至少两个第一目标操作得到初始数据处理网络,以及训练初始数据处理网络,得到数据处理网络。另一种实施方式中,搜索模块502,还用于搜索空间还包括第二候选操作集,第二候选操作集对应至少一个子空间,对于其中每个子空间,选择子空间中最大的权值对应的候选操作作为第二目标操作,得到至少一个第二目标操作,组合至少两个第一目标操作和至少一个第二目标操作得到初始数据处理网络,以及训练初始数据处理网络,得到数据处理网络。
可选的,本申请实施例涉及的组合包括以下至少一种:平行组合和顺序组合
可以理解的是,以上各个模块/单元的划分仅仅是一种逻辑功能的划分,实际实现时,该以上各模块的功能可以集成到硬件实体实现,例如,获取模块501和搜索模块502可以集成到处理器实现,实现上述各模块功能的程序和指令,可以维护在存储器中。例如,图5B提供了一种电子设备51,该电子设备51包括处理器510和存储器511。存储器511用于与处理器510耦合,其保存该电子设备51的计算机程序513,当处理器510运行计算机程序513过程中,使得电子设备51执行上述图2至图4C中神经网络架构搜索方法的部分或全部操作。
具体实现过程详见上述图2至图4C示意的实施例所述,此处不详述。
本申请实施例中所提供的装置,可以通过AI模型来实现前述多个模块中的至少一个模块,以及可以通过非易失性存储器、易失性存储器和处理器来执行与AI模型相关联的功能。
该处理器可以包括一个或多个处理器。一些实施方式中,该一个或多个处理器可以是通用处理器,例如中央处理单元(CPU)、应用处理器(AP)等。另一些实施方式中,该一个或多个处理器还可以是是图形处理单元,例如,图形处理单元(GPU)、视觉处理单元(VPU)等。其他一些实施方式中,该一个或多个处理器可以是AI专用处理器,例如神经处理单元(NPU)。
该一个或多个处理器可以根据存储在非易失性存储器和易失性存储器中至少一个当中,预定义的操作规则或人工智能(AI)模型,来控制对输入数据的处理。该预定义的操作规则或人工智能模型可以通过训练或学习得到。
这里,“通过训练或学习得到”是指,通过将多个学习数据代入学习算法,学习得到预定义的操作规则或具有期望特性的AI模型。该学习过程可以由实现前述各实施方式涉及的AI模型功能的装置执行,也可以由支持该AI模型功能的处理器、服务器或者系统来执行。
该AI模型可以包含多个神经网络层。每个神经网络层具有多个权重值。一个层的计算过程基于前一层的计算结果和当前层的多个权重来执行。神经网络的示例包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、双向循环深度神经网络(BRDNN)、生成对抗网络(GAN)、以及深度Q网络。
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人),以触发、允许或控制目标装置进行确定或预测的训练方法。学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
具体实现中,对应前述电子设备,本申请实施例还提供一种计算机存储介质,其中,设置在电子设备中的计算机存储介质可存储有程序,该程序执行时,可实施包括上述图2至图4C的神经网络架构搜索方法的各实施例中的部分或全部步骤。该存储介质均可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random accessmemory,RAM)等。
以上模块或单元的一个或多个可以软件、硬件或二者结合来实现。当以上任一模块或单元以软件实现的时候,所述软件以计算机程序指令的方式存在,并被存储在存储器中,处理器可以用于执行所述程序指令并实现以上方法流程。所述处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以内置于SoC(片上系统)或专用集成电路(application specific integratedcircuit,ASIC),也可是一个独立的半导体芯片。该处理器内处理用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(fieldprogrammable gate array,FPGA)、PLD(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
当以上模块或单元以硬件实现的时候,该硬件可以是CPU、微处理器、DSP、MCU、人工智能处理器、ASIC、SoC、FPGA、PLD、专用数字电路、硬件加速器或非集成的分立器件中的任一个或任一组合,其可以运行必要的软件或不依赖于软件以执行以上方法流程。
当以上模块或单元使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对实施例的实施过程构成任何限定。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
尽管已描述了本申请的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (11)
1.一种神经网络架构搜索方法,其特征在于,包括:
获得搜索空间,所述搜索空间包含第一候选操作集,所述第一候选操作集包含所述搜索空间内至少两个子空间的候选操作;
根据所述第一候选操作集中各个候选操作的权值,从所述第一候选操作集中确定至少两个第一目标操作,所述第一候选操作集中各个候选操作的权值的和为1;
根据所述至少两个第一目标操作获得数据处理网络。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一候选操作集中各个候选操作的权值,从所述第一候选操作集中确定至少两个第一目标操作,包括:
按照所述权值从大到小的顺序将所述第一候选操作集中预设数量的候选操作确定为所述第一目标操作。
3.根据权利要求1所述的方法,其特征在于,还包括:
训练所述搜索空间,以得到所述第一候选操作集中各个候选操作的权值。
4.根据权利要求3所述的方法,其特征在于,所述训练所述搜索空间,以得到所述第一候选操作集中各个候选操作的权值,包括:
获得所述搜索空间的网络损失函数值;
若所述网络损失函数值大于或者等于第一预设值,将所述第一候选操作集中每个候选操作的第一训练值调整为第二训练值,并再次执行获得所述搜索空间的网络损失函数值操作;
若所述网络损失函数值小于或者等于所述第一预设值,将所述第一候选操作集中每个候选操作的第一训练值确定为所述候选操作的权值,
所述第一训练值是指相应候选操作当前的权值。
5.根据权利要求4所述的方法,其特征在于,所述获得所述搜索空间的网络损失函数值,包括:
根据预配置的计算量计算所述网络损失函数,所述预配置的计算量是指预配置的所述数据处理网络的计算量。
6.根据权利要求3所述的方法,其特征在于,所述训练所述搜索空间,以得到所述第一候选操作集中各个候选操作的权值,还包括:
在满足第一候选操作集中全部候选操作的权值加权为1的条件下,针对所述至少两个子空间中的任一子空间,将所述子空间输出的特征图,作为所述子空间的下一层子空间输入的特征图。
7.根据权利要求1或2所述的方法,其特征在于,根据所述至少两个第一目标操作获得所述数据处理网络,包括:
组合所述至少两个第一目标操作得到初始数据处理网络,以及训练所述初始数据处理网络,得到所述数据处理网络;或者,
所述搜索空间还包括第二候选操作集,所述第二候选操作集对应至少一个子空间,对于其中每个子空间,选择所述子空间中最大的权值对应的候选操作作为第二目标操作,得到至少一个第二目标操作,组合所述至少两个第一目标操作和所述至少一个第二目标操作得到初始数据处理网络,以及训练所述初始数据处理网络,得到所述数据处理网络。
8.根据权利要求7中所述的方法,其特征在于,所述组合包括以下至少一种:平行组合和顺序组合。
9.一种神经网络架构搜索装置,其特征在于,包括:
获取模块,用于获得搜索空间,所述搜索空间包含第一候选操作集,所述第一候选操作集包含所述搜索空间内至少两个子空间的候选操作;
搜索模块,用于根据所述第一候选操作集中各个候选操作的权值,从所述第一候选操作集中确定至少两个第一目标操作,所述第一候选操作集中各个候选操作的权值的和为1;根据所述至少两个第一目标操作获得数据处理网络。
10.一种电子设备,其特征在于,所述电子设备包括存储器和一个或多个处理器;其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1至8中任一项所述的神经网络架构搜索方法。
11.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的神经网络架构搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110414442.0A CN115222011A (zh) | 2021-04-16 | 2021-04-16 | 神经网络架构搜索方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110414442.0A CN115222011A (zh) | 2021-04-16 | 2021-04-16 | 神经网络架构搜索方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115222011A true CN115222011A (zh) | 2022-10-21 |
Family
ID=83604846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110414442.0A Pending CN115222011A (zh) | 2021-04-16 | 2021-04-16 | 神经网络架构搜索方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115222011A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024127462A1 (en) * | 2022-12-12 | 2024-06-20 | Nec Corporation | Automatic machine learning development system, automatic machine learning development method and program |
-
2021
- 2021-04-16 CN CN202110414442.0A patent/CN115222011A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024127462A1 (en) * | 2022-12-12 | 2024-06-20 | Nec Corporation | Automatic machine learning development system, automatic machine learning development method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7366274B2 (ja) | ニューラル・ネットワークのための適応的探索方法および装置 | |
JP2023139057A (ja) | リソース制約付きニューラルネットワークアーキテクチャ検索 | |
CN109685819B (zh) | 一种基于特征增强的三维医学图像分割方法 | |
CN112580369B (zh) | 语句复述方法、训练语句复述模型的方法及其装置 | |
CN112445823A (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
KR20180063189A (ko) | 선택적 역전파 | |
KR20180044295A (ko) | 트레이닝된 머신 학습 모델의 성능을 개선시키는 방법 | |
WO2019223250A1 (zh) | 一种确定剪枝阈值的方法及装置、模型剪枝方法及装置 | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
CN110046706A (zh) | 模型生成方法、装置及服务器 | |
CN112436992B (zh) | 基于图卷积网络的虚拟网络映射方法及装置 | |
CN113505883A (zh) | 一种神经网络训练方法以及装置 | |
CN114492723A (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN111428854A (zh) | 一种结构搜索方法及结构搜索装置 | |
CN115601692A (zh) | 数据处理方法、神经网络模型的训练方法及装置 | |
CN111931904A (zh) | 神经网络的构建方法和装置 | |
CN112766496B (zh) | 基于强化学习的深度学习模型安全性保障压缩方法与装置 | |
CN116452904B (zh) | 图像美学质量确定方法 | |
CN114861859A (zh) | 神经网络模型的训练方法、数据处理方法及装置 | |
JP6970949B2 (ja) | 行動学習装置 | |
CN115222011A (zh) | 神经网络架构搜索方法及电子设备 | |
CN111931916A (zh) | 深度学习模型的探索方法及装置 | |
CN114511083A (zh) | 一种模型的训练方法、装置、存储介质及电子装置 | |
KR20200023695A (ko) | 연산량을 줄이는 학습 시스템 | |
CN112070205A (zh) | 一种多损失模型获取方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20221021 |