神经网络架构搜索方法、装置、电子设备及存储介质与流程

allin2023-04-07  131



1.本技术涉及神经网络架构搜索技术领域,尤其涉及一种神经网络架构搜索方法、装置、电子设备及存储介质。


背景技术:

2.神经架构搜索(neural architecture search,nas)作为一种重要的自动设计神经架构的方法,在深度学习领域迈出了重要的一步。早期的nas算法通过强化学习和进化算法直接在离散的架构空间中搜索。这些算法需要大量的计算资源,因为独立地从头开始训练每一个候选架构是一个计算资源密集型任务。为降低搜索成本,在此基础上,可微分架构搜索(differentiable architecture search,darts)进一步构建了架构的连续混合超网,将神经架构搜索问题松弛为学习可微的体系结构参数。
3.darts算法虽然具有较高的计算效率,但由于其稳定性和泛化性较差而受到诟病,大量研究人员发现并总结了两个导致darts稳定性和泛化性差的问题:(1)马太效应;(2)离散差异。同时,提出并证明了许多改进是有效的,包括逐步剪枝、搜索前预训练、候选操作分组、提前停止、限制跳过连接的数量等。然而,由于这两个问题解决的方案是不一致的,即架构参数公平训练(马太效应的解决方案)和高度自信选择(离散差异的解决方案)两者是相矛盾的,前者要求架构参数熵(即复杂程度)尽可能大,后者要求架构参数熵尽可能小,因此现有技术中的改进方案只能够间接弥补,而并不能有效改善由于搜索初期马太效应导致对网络参数的不公平学习和搜索后期离散差异导致离散化,进而导致神经网络性能下降。
4.因此,如何提供一种有效的方案,以避免由于搜索初期的马太效应和搜索后期的离散差异导致神经网络性能下降,已成为现有技术中一亟待解决的难题。


技术实现要素:

5.第一方面,本技术实施例提供了一种神经网络架构搜索方法,包括:
6.构建用于神经网络架构搜索的超网络,所述超网络包括多个单元,所述多个单元中的每个单元均为包含多个节点的有向无环图;
7.构建各单元的架构熵正则项,所述架构熵为单元中所有边的架构权重的信息熵平均值,边的架构权重为边上所有候选操作的操作强度的集合;
8.基于各单元的架构熵正则项,建立各单元中的架构参数的损失函数;
9.通过梯度下降算法优化各单元中的架构参数;
10.基于各单元中优化后的架构参数以及所述超网络的各单元中每条边上的候选操作,构建神经网络架构。
11.在一个可能的设计中,所述多个单元包括第一单元和第二单元,所述第一单元的输出尺寸为所述第二单元的输出尺寸的一半,所述第一单元输出的通道数为所述第二单元输出的通道数的两倍。
12.在一个可能的设计中,任一单元的架构熵正则项为其中h(α
(i,j)
)表示所述任一单元中边(i,j)上的架构参数的信息熵,n表示所述任一单元中所有边的数量。
13.在一个可能的设计中,任一单元中的架构参数的损失函数为其中ω*(α)=argmin
ω
l
train
(ω,α),λ表示正则项系数,α表示所述任一单元中所有边架构参数的集合,ω表示超网络中的神经网络参数,ω*(α)表示在α不变的情况下最优的ω,l
val
()和l
train
()均表示损失函数。
14.在一个可能的设计中,梯度下降算法的梯度为其中ξ为0或1,表示求梯度的算子。
15.在一个可能的设计中,所述候选操作包括深度可分离卷积操作、扩展可分离卷积操作、最大池化操作、平均池化操作以及恒等运算操作中的至少一种。
16.第二方面,本技术实施例提供了一种神经网络架构搜索装置,包括:
17.第一建立模块,用于构建用于神经网络架构搜索的超网络,所述超网络包括多个单元,所述多个单元中的每个单元均为包含多个节点的有向无环图;
18.第二建立模块,用于构建各单元的架构熵正则项,所述架构熵为单元中所有边的架构权重的信息熵平均值,边的架构权重为边上所有候选操作的操作强度的集合;
19.第三建立模块,用于基于各单元的架构熵正则项,建立各单元中的架构参数的损失函数;
20.优化模块,用于通过梯度下降算法优化各单元中的架构参数;
21.第四建立模块,用于基于各单元中优化后的架构参数以及所述超网络的各单元中每条边上的候选操作,构建神经网络架构。
22.在一个可能的设计中,所述多个单元包括第一单元和第二单元,所述第一单元的输出尺寸为所述第二单元的输出尺寸的一半,所述第一单元输出的通道数为所述第二单元输出的通道数的两倍。
23.第三方面,本技术实施例提供了一种电子设备,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如上述任意一项所述的神经网络架构搜索方法。
24.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如上述任意一项所述的神经网络架构搜索方法。
25.本技术一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:
26.通过构建用于神经网络架构搜索的超网络,构建超网络中各单元的架构熵正则项,基于各单元的架构熵正则项建立各单元中的架构参数的损失函数,并通过梯度下降算法优化各单元中的架构参数,然后基于各单元中优化后的架构参数以及超网络的各单元中每条边上的候选操作,构建神经网络架构。在此过程中由于引入架构熵正则项,基于构熵正则项建立各单元中的架构参数的损失函数,并通过梯度下降算法优化各单元中的架构参数,在神经网络搜索过程中可通过正则项系数的不同设置实现不同的效果,即当正则项系
数小于零时,可按照架构熵增大方向学习架构参数,由于候选操作的架构参数是均匀随机初始化的,因此很难增加,通常保持不变或缓慢下降,此时所有的候选操作都被公平对待,可有效缓解搜索前期的马太效应,当正则项系数大于零时,可按照架构熵减小的方向学习架构参数,这加快了候选操作的主导表达,提高了搜索效率,在搜索结束时,每条边的架构权重(操作强度)将更接近one-hot向量,从而使得离散差异较小,如此通过在不同搜索期间调整正则项系数即可防止在搜索初期出现过强的优势表达,同时促进搜索后期的优势表达,从而避免由于搜索初期的马太效应和搜索后期的离散差异导致神经网络性能下降,可以很容易地适应于不同的可微分nas算法,而不需要额外的时间和内存成本,搜索的神经网络架构具有更高的准确性和更好的鲁棒性。
附图说明
27.此处所说明的附图用来提供对本文件的进一步理解,构成本文件的一部分,本文件的示意性实施例及其说明用于解释本文件,并不构成对本文件的不当限定。在附图中:
28.图1为本技术一个实施例提供的神经网络架构搜索方法的流程图。
29.图2为本技术一个实施例提供的神经网络架构搜索装置的结构示意图。
30.图3为本技术一个实施例提供的电子设备的结构示意图。
具体实施方式
31.为了避免由于搜索初期的马太效应和搜索后期的离散差异导致神经网络性能下降,本技术实施例提供了一种神经网络架构搜索方法、装置、电子设备及存储介质,该神经网络架构搜索方法、装置、电子设备及存储介质可避免由于搜索初期的马太效应和搜索后期的离散差异导致神经网络性能下降。
32.本技术实施例提供的神经网络架构搜索方法可应用于用户终端或服务器,所述用户终端可以是,但不限于个人电脑、智能手机、平板电脑、个人数字助理(personal digital assistant,pda)等。可以理解,所述执行主体并不构成对本技术实施例的限定。
33.下面将对本技术实施例提供的神经网络架构搜索方法进行详细说明。
34.如图1所示,本技术实施例第一方面提供了一种神经网络架构搜索方法,该神经网络架构搜索方法可以包括如下步骤:
35.步骤s101,构建用于神经网络架构搜索的超网络。
36.其中,所述超网络包括多个单元,所述多个单元中的每个单元均为包含多个节点的有向无环图,单元中每个节点代表隐藏层表示向量,每条边表示一组候选操作。所述候选操作可以包括深度可分离卷积操作、扩展可分离卷积操作、最大池化操作、平均池化操作以及恒等运算操作中的至少一种。所述深度可分离卷积操作可以是3*3深度可分离卷积操作和/或5*5深度可分离卷积操作,所述扩展可分离卷积操作可以是3*3扩展可分离卷积操作和/或5*5扩展可分离卷积操作。
37.本技术实施例中,在构建用于神经网络架构搜索的超网络时,可遵循darts框架采用两种单元进行堆叠,即多个单元中包括第一单元和第二单元,第一单元和第二单元均可以为一个或多个。其中,第一单元的输出尺寸为第二单元的输出尺寸的一半,第一单元输出的通道数为第二单元输出的通道数的两倍。
38.神经架构搜索本质上是在找一些操作或连接的排列组合,这个搜索空间是离散的,可以称之为离散搜索空间。因此本技术实施例中,可将离散搜索空间松弛为连续的所有候选操作的加权和的形式,即离散搜索空间可以表示为其中x(i)表示单元中第i个节点,o
(i,j)
表示边(i,j)所对应的一组候选操作,o表示候选操作空间(一单元中所有边的操作的集合),表示示边(i,j)上操作o的强度。
39.步骤s102,构建各单元的架构熵正则项。
40.其中,所述架构熵为单元中所有边的架构权重的信息熵平均值,边的架构权重为边上所有候选操作的操作强度的集合。
41.通过观察darts的搜索过程,可以发现有两个问题会导致darts的性能不佳,即马太效应和离散差异。
42.马太效应:在搜索开始时,非参数化操作往往表现得更好,因为参数化操作没有学到任何知识,此外一些候选操作可以学习更快地表达所需的函数,这使得学习到更大的架构权重,获得更大的网络参数梯度,从而加速相关操作的参数更新,而过早的显性表达会导致不公平的训练,进一步强化显性表达,从而忽视这些弱势操作在开始阶段的表现,这是一个恶性循环,这种现象被概括为富人变得更富,也被称为马太效应。
43.离散差异:在darts的最后离散化阶段,总是存在较大的性能衰退,换句话说,架构混合的验证错误减少并不总是与最终体系结构的验证错误减少有关,在搜索的最后,体系结构权重会严重偏离我们预期的一个one-hot向量,导致了这种现象,称之为离散差异。
44.缓解马太效应,通过预计架构权重对于每个候选人的优势可以足够接近以便使用公平的梯度,更新他们的网络参数。但为了消除离散化的差异,则要求每个架构权重向量为一个one-hot向量,使某一候选操作的架构权重更为突出,即其操作表达占主导地位,这两个方面使darts陷入困境。
45.在信息论中,熵是不确定性的度量,随着熵的减小,随机事件变得更加明确。为解决上述问题,本技术实施例中,采用熵来衡量边上不同候选操作的架构参数的间距,并定义一个单元中所有边的架构权重的信息熵平均值作为该单元的架构熵,其中边的架构权重的信息熵为边上架构参数的复杂程度。
46.本技术实施例中,任一单元的架构熵正则项可以表示为其中h(α
(i,j)
)表示所述任一单元中边(i,j)上的架构参数的信息熵,n表示所述任一单元中所有边的数量。
47.步骤s103,基于各单元的架构熵正则项,建立各单元中的架构参数的损失函数。
48.任一单元中的架构参数的损失函数可表示为其中ω*(α)=argmin
ω
l
train
(ω,α),λ表示正则项系数,α表示所述任一单元中所有边架构参数的集合,ω表示超网络中的神经网络参数,ω*(α)表示在α不变的情况下最优的ω,l
val
()和l
train
()均表示损失函数,其中l
val
()表示验证损失函数,l
train
()表示训练损失函数。
49.步骤s104,通过梯度下降算法优化各单元中的架构参数。
50.梯度下降算法的梯度可表示为其中ξ为0
或1,表示求梯度的算子。具体的,当对架构参数一阶近似优化时,ξ的值可以取0,当对架构参数二阶近似优化时,ξ的值可以取1。
51.步骤s105,基于各单元中优化后的架构参数以及超网络的各单元中每条边上的候选操作,构建神经网络架构。
52.即根据各单元中优化后的架构参数以及超网络的各单元中每条边上的候选操作,重新构建一个新的神经网络架构。
53.综上所述,本技术实施例提供的神经网络架构搜索方法通过构建用于神经网络架构搜索的超网络,构建超网络中各单元的架构熵正则项,基于各单元的架构熵正则项建立各单元中的架构参数的损失函数,并通过梯度下降算法优化各单元中的架构参数,然后基于各单元中优化后的架构参数以及超网络的各单元中每条边上的候选操作,构建神经网络架构。在此过程中由于引入架构熵正则项,基于构熵正则项建立各单元中的架构参数的损失函数,并通过梯度下降算法优化各单元中的架构参数,在神经网络搜索过程中可通过正则项系数的不同设置实现不同的效果,即在搜索前期正则项系数取小于零的值,此时可按照架构熵增大方向学习架构参数,由于候选操作的架构参数是均匀随机初始化的,因此很难增加,通常保持不变或缓慢下降,此时所有的候选操作都被公平对待,可有效缓解搜索前期的马太效应。在搜索后期正则项系数取大于零的值,此时可按照架构熵减小的方向学习架构参数,这加快了候选操作的主导表达,提高了搜索效率,在搜索结束时,每条边的架构权重将更接近one-hot向量,从而使得离散差异较小,如此通过在不同搜索期间调整正则项系数即可防止在搜索初期出现过强的优势表达,同时促进搜索后期的优势表达,从而避免由于搜索初期的马太效应和搜索后期的离散差异导致神经网络性能下降,可以很容易地适应于不同的可微分nas算法,而不需要额外的时间和内存成本,搜索的神经网络架构具有更高的准确性和更好的鲁棒性。
54.第二方面,请参阅图2,本技术实施例提供了一种神经网络架构搜索装置,所述神经网络架构搜索装置包括:
55.第一建立模块,用于构建用于神经网络架构搜索的超网络,所述超网络包括多个单元,所述多个单元中的每个单元均为包含多个节点的有向无环图;
56.第二建立模块,用于构建各单元的架构熵正则项,所述架构熵为单元中所有边的架构权重的信息熵平均值,边的架构权重为边上所有候选操作的操作强度的集合;
57.第三建立模块,用于基于各单元的架构熵正则项,建立各单元中的架构参数的损失函数;
58.优化模块,用于通过梯度下降算法优化各单元中的架构参数;
59.第四建立模块,用于基于各单元中优化后的架构参数以及所述超网络的各单元中每条边上的候选操作,构建神经网络架构。
60.在一个可能的设计中,所述多个单元包括第一单元和第二单元,所述第一单元的输出尺寸为所述第二单元的输出尺寸的一半,所述第一单元输出的通道数为所述第二单元输出的通道数的两倍。
61.在一个可能的设计中,任一单元的架构熵正则项为其中h(α
(i,j)
)表示所述任一单元中边(i,j)上的架构参数的信息熵,n表示所述任一单元中所有边
的数量。
62.在一个可能的设计中,任一单元中的架构参数的损失函数为其中ω*(α)=argmin
ω
l
train
(ω,α),λ表示正则项系数,α表示所述任一单元中所有边架构参数的集合,ω表示超网络中的神经网络参数,ω*(α)表示在α不变的情况下最优的ω值,l
val
()和l
train
()均表示损失函数。
63.在一个可能的设计中,梯度下降算法的梯度为其中ξ为0或1,表示求梯度的算子。
64.在一个可能的设计中,所述候选操作包括深度可分离卷积操作、扩展可分离卷积操作、最大池化操作、平均池化操作以及恒等运算操作中的至少一种。
65.本实施例第二方面提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
66.如图3所示,本技术实施例第三方面提供了一种电子设备,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的神经网络架构搜索方法。
67.具体举例的,所述存储器可以但不限于包括随机存取存储器(ram)、只读存储器(rom)、闪存(flash memory)、先进先出存储器(fifo)和/或先进后出存储器(filo)等等;所述处理器可以不限于采用型号为stm32f105系列的微处理器、arm(advanced risc machines)、x86等架构处理器或集成npu(neural-network processing units)的处理器;所述收发器可以但不限于为wifi(无线保真)无线收发器、蓝牙无线收发器、通用分组无线服务技术(general packet radio service,gprs)无线收发器、紫蜂协议(基于ieee802.15.4标准的低功耗局域网协议,zigbee)无线收发器、3g收发器、4g收发器和/或5g收发器等。
68.本实施例第三方面提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
69.本实施例第四方面提供了一种存储包含有实施例第一方面所述的神经网络架构搜索方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面所述的神经网络架构搜索方法。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(memory stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
70.本实施例第四方面提供的计算机可读存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
71.本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的神经网络架构搜索方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
72.以上所描述的多个实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
73.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台仓库代码的合并装置执行各个实施例或者实施例的某些部分所述的方法。
74.本发明不局限于上述可选实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。

技术特征:
1.一种神经网络架构搜索方法,其特征在于,包括:构建用于神经网络架构搜索的超网络,所述超网络包括多个单元,所述多个单元中的每个单元均为包含多个节点的有向无环图;构建各单元的架构熵正则项,所述架构熵为单元中所有边的架构权重的信息熵平均值,边的架构权重为边上所有候选操作的操作强度的集合;基于各单元的架构熵正则项,建立各单元中的架构参数的损失函数;通过梯度下降算法优化各单元中的架构参数;基于各单元中优化后的架构参数以及所述超网络的各单元中每条边上的候选操作,构建神经网络架构。2.根据权利要求1所述的方法,其特征在于,所述多个单元包括第一单元和第二单元,所述第一单元的输出尺寸为所述第二单元的输出尺寸的一半,所述第一单元输出的通道数为所述第二单元输出的通道数的两倍。3.根据权利要求1所述的方法,其特征在于,任一单元的架构熵正则项为其中h(α
(i,j)
)表示所述任一单元中边(i,j)上的架构参数的信息熵,n表示所述任一单元中所有边的数量。4.根据权利要求3所述的方法,其特征在于,任一单元中的架构参数的损失函数为其中ω*(α)=argmin
ω
l
train
(ω,α),λ表示正则项系数,α表示所述任一单元中所有边架构参数的集合,ω表示超网络中的神经网络参数,ω*(α)表示在α不变的情况下最优的ω,l
val
()和l
train
()均表示损失函数。5.根据权利要求4所述的方法,其特征在于,梯度下降算法的梯度为其中ξ为0或1,表示求梯度的算子。6.根据权利要求1所述的方法,其特征在于,所述候选操作包括深度可分离卷积操作、扩展可分离卷积操作、最大池化操作、平均池化操作以及恒等运算操作中的至少一种。7.一种神经网络架构搜索装置,其特征在于,包括:第一建立模块,用于构建用于神经网络架构搜索的超网络,所述超网络包括多个单元,所述多个单元中的每个单元均为包含多个节点的有向无环图;第二建立模块,用于构建各单元的架构熵正则项,所述架构熵为单元中所有边的架构权重的信息熵平均值,边的架构权重为边上所有候选操作的操作强度的集合;第三建立模块,用于基于各单元的架构熵正则项,建立各单元中的架构参数的损失函数;优化模块,用于通过梯度下降算法优化各单元中的架构参数;第四建立模块,用于基于各单元中优化后的架构参数以及所述超网络的各单元中每条边上的候选操作,构建神经网络架构。8.根据权利要求7所述的神经网络架构搜索装置,其特征在于,所述多个单元包括第一单元和第二单元,所述第一单元的输出尺寸为所述第二单元的输出尺寸的一半,所述第一单元输出的通道数为所述第二单元输出的通道数的两倍。9.一种电子设备,其特征在于,包括依次通信相连的存储器、处理器和收发器,其中,所
述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~6任意一项所述的神经网络架构搜索方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~6任意一项所述的神经网络架构搜索方法。

技术总结
本申请提供了一种神经网络架构搜索方法、装置、电子设备及存储介质,涉及神经网络架构搜索技术领域。该方法包括构建超网络,超网络包括多个单元,每个单元均为包含多个节点的有向无环图;构建各单元的架构熵正则项,架构熵为单元中所有边的架构权重的信息熵平均值,边的架构权重为边上所有候选操作的操作强度的集合;基于各单元的架构熵正则项,建立各单元中的架构参数的损失函数;通过梯度下降算法优化各单元中的架构参数;基于各单元中优化后的架构参数以及超网络的各单元中每条边上的候选操作,构建神经网络架构。本申请提供的方法、装置、电子设备及存储介质可避免由于搜索初期的马太效应和搜索后期的离散差异导致神经网络性能下降。络性能下降。络性能下降。


技术研发人员:ꢀ(74)专利代理机构
受保护的技术使用者:北京中科明彦科技有限公司
技术研发日:2022.03.18
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-9460.html

最新回复(0)