本发明涉及机器学习与计算机视觉领域,更具体的说是涉及一种基于拓扑结构优化的高效可微神经架构搜索方法。
背景技术:
1、神经架构搜索(neural architecture search,nas)是一种自动设计神经网络结构的方法,能够在给定的数据集和搜索空间中搜索适合数据集特性的网络结构,避免人工调整网络结构的复杂性和不便性。
2、在实际应用中,神经架构搜索方法可以大大减少人工设计和调试网络架构的工作量,降低了模型开发和优化的成本。同时,通过神经架构搜索,模型能够在各种任务中保持高效和优越的表现,不再受到手工设计的限制,更好地适应多样化和不断变化的应用需求。因此,基于神经架构搜索的研究在实现深度学习模型的自动化设计、优化和演化方面具有重要的研究意义。通过探索高效的神经架构搜索方法,可以推动深度学习技术在图像处理、自然语言处理等领域的进一步发展,为实现强智能化和智能应用提供更加高效、灵活和可靠的解决方案。
3、目前,神经架构搜索可以分为离散神经架构搜索和可微神经架构搜索两种主要类别。离散神经架构搜索包含基于强化学习的神经架构搜索和基于进化算法的神经架构搜索。这类搜索方法的特点在于其搜索空间为离散集合。搜索空间指的是运行神经架构搜索方法时,预先定义的允许算法探索的模型结构范围。离散的搜索空间导致其不同网络结构之间难以共享训练信息,因而在尝试搜索新的网络结构时,旧的网络参数不能复用或仅有一部分能够复用。算法通常需要经历多次完整的重训练过程才能评估搜索空间中不同网络架构的优劣,因而该类算法总体耗时非常长,通常需要大量图形计算单元运行几天的时间才能完成一次搜索。
4、可微神经架构搜索是指将困难的离散搜索问题转化为可用梯度下降算法解决的优化问题。此方法因为需要同时计算多种可能的网络分支结构,因而在搜索过程中需要大量的计算资源。拓扑结构是神经网络内部的算子、分支等结构的组合,通过细致分析网络的拓扑结构并加以简化,能够大幅度地增加神经架构搜索过程的效率,减少计算资源和时间的消耗,仅需要少量计算量,就可以实现大规模分支结构的搜索。
5、可微神经架构搜索在搜索过程中同时计算所有可能的网络分支上的特征,并且通过加权和的方式按照分支权重合并为单一特征输出。通过梯度下降的方法在优化网络权重的同时也优化分支权重,并最终按照最高分支权重来选定最优网络架构。可微神经架构搜索通常比离散神经架构搜索更高效,但由于需要同时计算所有可能分支,目前的可微神经架构搜索方法需要占用比普通网络结构多数倍的显存资源,并且会消耗更大的计算量和计算耗时。搜索空间中的可选算子数量越大,则算法可探索的模型结构组合数量越多。随着可选算子的数量增加,当前技术的运算量也随之线性增加,因而在现有算法中扩大可选算子的数量变得尤为困难。
6、因此,提供一种基于拓扑结构优化的高效可微神经架构的搜索方法,避免消耗更大的计算量和计算耗时,是本领域技术人员亟需解决的问题。
技术实现思路
1、有鉴于此,本发明提供了一种基于拓扑结构优化的高效可微神经架构搜索方法,可解决在复杂视觉任务的应用中,计算资源消耗大、显存资源占用高、难以扩展搜索空间、时间耗费过长、参数复用性低的问题,以便减少计算资源消耗和加快搜索速度,提高搜索效率和效果。
2、为了实现上述目的,本发明采用如下技术方案:
3、一种基于拓扑结构优化的高效可微神经架构搜索方法,包括以下步骤:
4、s1、根据计算机视觉任务形式,确定模型结构和搜索网络,形成可搜索结构的计算图所述计算图的架构参数由结构参数和网络参数确定;
5、s2、对所述计算图的拓扑结构进行迭代优化,消除冗余结构,优化所述结构参数;
6、s3、将结构参数优化后的拓扑结构进行卷积运算;通过卷积核重参数化,优化所述网络参数;并通过卷积核标准化,解耦所述网络参数和所述结构参数;得到优化后的计算图
7、s4、对所述优化后的计算图输入图像分类数据集或图像语义分割数据集,运行梯度下降算法,确定最优架构参数,完成分类或分割模型最优架构的搜索;训练所述最优架构参数对应的模型结构,完成计算机视觉的分类或语义分割任务。
8、进一步地,对所述计算图的拓扑结构进行迭代优化,消除冗余结构;包括:
9、搜索所述拓扑结构中的并行结构,获得不同分支上的共同前置模块、共同后置模块和共同悬空模块;
10、对于所述拓扑结构中的共同前置模块和共同后置模块结构,应用部分模块共用的优化模式,将所有的所述共同前置模块合并以及所有的所述共同后置模块合并;
11、对于所述拓扑结构中的共同悬空模块结构,应用悬空模块共用的优化模式,将所有的共同悬空模块合并。
12、进一步地,所述部分模块共用的优化模式,包括:
13、当一部分候选运算的输入部分和输出部分存在共有的卷积层、非线性层或正则化层运算模块时,其运算过程如下:
14、
15、其中,x为卷积神经网络中输入神经架构搜索模块的特征图,i是候选运算的序号,os1(·)为候选运算输入部分与候选运算解耦的共有运算模块,os2(·)为候选运算输出部分与候选运算解耦的共有运算模块,为第i个候选运算的特有运算模块,oi(·)为不存在共有特征的其他候选运算,表示不存在共有运算模块的候选运算的序号构成的集合,表示存在共有运算模块的候选运算的序号构成的集合;
16、是通过对所述结构参数αj应用softmax函数计算得出的候选运算权重,代表每个候选操作的选中概率,其中m为候选运算个数,i、j均为候选运算下标;为了隔离共享部分,将共享模块的操作视为一个整体操作,记为ou(x);随后将模块分解为两个级联的运算选择分支,记为g(x):
17、
18、其中和为两组独立的结构参数所导出的候选运算概率;考虑到两组参数可能带来的先验偏差,使用原始的结构参数对新的结构参数进行重参数化,令
19、
20、则g(x)被重新表述为:
21、
22、其中βj表示候选运算为非共享运算的概率。
23、进一步地,所述悬空模块共用的优化模式,包括:
24、当一部分候选运算的中间悬空部分存在共有的卷积层、非线性层或正则化层运算模块时,原始的拓扑结构表达为
25、
26、其中为悬空模块前后的独立运算模块,os为悬空的共用运算模块,是通过对所述结构参数αj应用softmax函数计算得出的候选运算权重,代表每个候选操作的选中概率,其中m为候选运算个数,i、j均为候选运算下标;优化后的运算过程为
27、
28、其中h(x)为第一次运算选择的中间结果,g(x)为第二次运算选择的结果。
29、进一步地,所述卷积核重参数化,包括:卷积运算转化为等效的标准卷积运算,并交换其加权和和卷积运算的运算顺序;其中,不同种类的卷积核转化过程为:
30、标准卷积:首先通过所有候选卷积核的最大宽度和高度来确定合并的卷积核形状,随后将所有候选卷积核零填充到合并的形状,即可进行加权求和;
31、空洞卷积:首先初始化一个形状为k×k的紧凑卷积核,k为卷积核的尺寸,然后在列和行之间填入零,以将其转换为空洞卷积核,即可进行标准的加权求和运算;
32、深度可分离卷积:由一个k×k的分组卷积和一个1×1的标准卷积组成;设ci,co为输入和输出特征图通道数;分组卷积有ci个形状为k×k的卷积核,记为而标准卷积有ci·co个形状为1×1的卷积核,记为则深度可分离卷积表示为
33、
34、其中*表示卷积,xi表示输入特征图的第i个通道的分量,表示经过分组卷积运算后的特征图的第i个通道的分量,yj表示输出特征图的第j个通道的分量;考虑1×1卷积核为标量,上式重写为
35、
36、其中即为等效的标准卷积核。
37、进一步地,所述卷积核标准化,包括:
38、记ki为原始卷积核,对原始卷积核进行标准化处理,得到标准化卷积核
39、
40、其中,mean和std表示均值和标准差计算。
41、经由上述的技术方案可知,本发明公开提供了一种基于拓扑结构优化的高效可微神经架构搜索方法,与现有技术相比,本发明技术方案存在以下有益效果:
42、1、降低计算资源需求:本发明提出对搜索空间中的卷积算子进行合并优化。通过利用线性算子和结构参数加权以及可交换运算顺序的性质,实现了无额外运算量的卷积算子搜索,从而大幅减少了同时计算所有可能分支所需的巨大计算资源。
43、2、提高搜索稳定性:本发明引入了卷积核重参数化和标准化算法。这些算法将模型参数与结构参数解耦,实现了稳定和快速的模型架构搜索。
44、3、通用化的高效搜索方法:可基于本发明提出模型无关的即插即用模块,通过一套迭代的拓扑结构优化算法,可以应用于各种搜索空间和网络结构,为各领域的神经架构搜索需求提供支持。
45、本发明从优化搜索效率的角度出发,将可微神经架构搜索的网络拓扑结构简化,并针对性地设置简化后结构的优化算法;为网络轻量化和神经架构搜索在复杂视觉任务的应用提供理论和技术基础,同时为人工智能与计算机视觉学术领域的研究与工业界相关产品的落地提供理论支持与技术验证。
1.一种基于拓扑结构优化的高效可微神经架构搜索方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于拓扑结构优化的高效可微神经架构搜索方法,其特征在于,对所述计算图的拓扑结构进行迭代优化,消除冗余结构;包括:
3.根据权利要求2所述的一种基于拓扑结构优化的高效可微神经架构搜索方法,其特征在于,所述部分模块共用的优化模式,包括:
4.根据权利要求2所述的一种基于拓扑结构优化的高效可微神经架构搜索方法,其特征在于,所述悬空模块共用的优化模式,包括:
5.根据权利要求1所述的一种基于拓扑结构优化的高效可微神经架构搜索方法,其特征在于,所述卷积核重参数化,包括:卷积运算转化为等效的标准卷积运算,并交换其加权和和卷积运算的运算顺序;其中,不同种类的卷积核转化过程为:
6.根据权利要求1所述的一种基于拓扑结构优化的高效可微神经架构搜索方法,其特征在于,所述卷积核标准化,包括: