一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于注意力机制的神经网络宏架构搜索方法及系统

2022-07-13 21:57:25 来源:中国专利 TAG:


1.该发明涉及自动化机器学习领域中的神经网络架构搜索,尤其涉及一种基于注意力机制的神经网络宏架构搜索方法与系统。


背景技术:

2.自动化机器学习(automated machine learning,简称auto-ml)是指将机器学习中的数据预处理、特征选择、算法选择等步骤以及深度学习中的神经网络架构设计、超参优化和神经网络模型训练等步骤进行自动化,无需人工干预即可得到期望的结果。神经网络架构搜索(neural architecture search,简称nas)属于自动化机器学习中网络设计的范畴,能够在预定义好的搜索空间中自动化地搜索得到最优的神经网络架构,并且在多个任务中,如分类、检测、分割等通过nas得到的网络性能已经超过人工设计网络结构的性能。
3.神经网络架构搜索可以分为包括:搜索空间、搜索策略和性能评估策略在内的任务流程。整个流程可以表述为从包含多种候选操作(例如卷积、池化、跳连)的搜索空间中,根据搜索策略组合各种操作得到一个神经网络架构,进而在指定的评估策略下,衡量该神经网络架构在相应计算机视觉任务上所能达到的性能。通常来讲,搜索空间可以分为基于mobilenet模块(mbconv)堆叠的和基于单元(cell)堆叠的两种搜索空间。此外,搜索策略和性能评估策略一般是对应起来设计的。早期的神经网络架构搜索技术采用强化学习或进化算法搜索策略,性能评估则需要对每一个得到的网络结构进行重新训练以评估其相应的性能好坏。然而,这个过程通常需要采样并训练评估成千上万的网络结构,因此整个过程非常耗时,即使是在小规模数据集如cifar-10上进行搜索得到目标结构,也需要几百或几千天才能完成。近年来,开发人员将搜索空间构建成超网络,然后利用权重共享技术,从而子网络的性能评估可以通过直接继承超网络的权重得到,因此整个搜索流程的时间大大降低。其中宏架构搜索比较有代表性的则是基于mobilenet模块(mbconv)堆叠或基于单元(cell)堆叠的两种形式,它们都是将搜索空间中的架构进行集成,然后基于梯度进行交替优化网络权重,最后根据不同的性能评估策略挑选最优的目标网络。
4.现有技术darts是将搜索到的单元手工重复堆叠形成目标网络,这导致最终的目标结构缺少多样性;另一方面,现有技术基于mobilenet模块(mbconv)的神经网络宏架构搜索通常是将包含所有子网络的超网络训练收敛之后,采用进化算法挑选大量子网络,然后在验证集上进行推断,根据验证集上的性能挑选出最优的目标子网络。然而,进化算法验证大量子网络一方面比较耗时,另一方面也比较耗资源。


技术实现要素:

5.针对现有技术的不足,本发明提出一种基于注意力机制的神经网络宏架构搜索方法,其中包括:
6.步骤1、获取神经网络架构的搜索空间,在该搜索空间中构建宏架构超网络,并在该宏架构超网络中每一层的所有候选模块的输出端添加注意力模块,得到待搜索网络;
7.步骤2、获取已标记标签的目标数据集,划分该目标数据集为训练集和验证集,基于该训练集训练该待搜索网络,得到中间搜索网络,将该验证集输入该中间搜索网络,通过中间搜索网络中每层的注意力模块,得到每层中各候选模块的注意力权重;
8.步骤3、通过仅保留该中间搜索网络中每层除注意力权重最大的候选模块,得到该目标数据集的搜索结果。
9.所述的基于注意力机制的神经网络宏架构搜索方法,其中该目标数据集中包括多个样本,每个样本具有对应的标签,样本为图片,标签为图片类别;该搜索空间为darts搜索空间或mobilenet搜索空间。
10.所述的基于注意力机制的神经网络宏架构搜索方法,其中还包括:
11.步骤4、使用该目标数据集训练该搜索结果,得到图片搜索模型,将待分类图片输入至该图片搜索模型,得到该待分类图片的图片类别。
12.所述的基于注意力机制的神经网络宏架构搜索方法,其中该待搜索网络的每一层有多个候选模块,拼接多个候选模块的输出特征图,得到拼接特征;
13.该拼接特征f
con
经过全局平均池化得到池化之后的特征具体过程如下公式所示:
[0014][0015]
然后该特征经过具有两层全连接和sigmoid层的该注意力模块,以获得各个候选模块的注意力权重;
[0016]
其中该注意力模块中第一个全连接层用于降维,第二个全连接层将维度恢复至原始维度,该过程用如下公式表示:
[0017][0018]
其中和是全连接层的权重,r是维度减少的超参系数,σ(
·
)是sigmoid激活函数,输出是注意力权重;
[0019]
该待搜索网络中每一层的各个候选模块的注意力权重为:
[0020][0021]
每一通道的激活值要乘以原始拼接特征图获得注意力加权后的特征图并通过下式对特征图进行点加操作:
[0022][0023]
本发明还提出了一种基于注意力机制的神经网络宏架构搜索系统,其中包括:
[0024]
初始化模块,用于获取神经网络架构的搜索空间,在该搜索空间中构建宏架构超
网络,并在该宏架构超网络中每一层的所有候选模块的输出端添加注意力模块,得到待搜索网络;
[0025]
训练模块,用于获取已标记标签的目标数据集,划分该目标数据集为训练集和验证集,基于该训练集训练该待搜索网络,得到中间搜索网络,将该验证集输入该中间搜索网络,通过中间搜索网络中每层的注意力模块,得到每层中各候选模块的注意力权重;
[0026]
剔除模块,用于仅保留该中间搜索网络中每层除注意力权重最大的候选模块,得到该目标数据集的搜索结果。
[0027]
所述的基于注意力机制的神经网络宏架构搜索系统,其中该目标数据集中包括多个样本,每个样本具有对应的标签,样本为图片,标签为图片类别;该搜索空间为darts搜索空间或mobilenet搜索空间。
[0028]
所述的基于注意力机制的神经网络宏架构搜索系统,其中还包括:
[0029]
图片分类模块,用于使用该目标数据集训练该搜索结果,得到图片搜索模型,将待分类图片输入至该图片搜索模型,得到该待分类图片的图片类别。
[0030]
所述的基于注意力机制的神经网络宏架构搜索系统,其中该待搜索网络的每一层有多个候选模块,拼接多个候选模块的输出特征图,得到拼接特征;
[0031]
该拼接特征f
con
经过全局平均池化得到池化之后的特征具体过程如下公式所示:
[0032][0033]
然后该特征经过具有两层全连接和sigmoid层的该注意力模块,以获得各个候选模块的注意力权重;
[0034]
其中该注意力模块中第一个全连接层用于降维,第二个全连接层将维度恢复至原始维度,该过程用如下公式表示:
[0035][0036]
其中和是全连接层的权重,r是维度减少的超参系数,σ(
·
)是sigmoid激活函数,输出是注意力权重;
[0037]
该待搜索网络中每一层的各个候选模块的注意力权重为:
[0038][0039]
每一通道的激活值要乘以原始拼接特征图获得注意力加权后的特征图并通过下式对特征图进行点加操作:
[0040]
[0041]
本发明还提出了一种存储介质,用于存储执行所述任意一种基于注意力机制的神经网络宏架构搜索方法的程序。
[0042]
本发明还提出了一种客户端,用于所述任意一种基于注意力机制的神经网络宏架构搜索系统。
[0043]
由以上方案可知,本发明的优点在于:
[0044]
本发明提出使用注意力机制评估各个候选子网络的性能,即将注意力模块添加至神经网络宏结构中的每一层候选模块之后,该候选模块可以是darts中的各个候选单元cell,也可以是mobilenet空间中的各个候选块block,这样各个候选模块的注意力权重大小和超网络的权重能够同时进行优化,最终在超网络训练收敛之后,能够立即根据注意力权重大小挑选出神经网络宏结构中每层最优的模块,从而构成目标网络结构。由此本发明能够增加搜索到的神经网络宏网络的多样性,并提升网络结构的性能。
附图说明
[0045]
图1是本发明实施实例的一种基于注意力机制的神经网络宏架构搜索方法示意图;
[0046]
图2是本发明实施实例的一种宏架构超网络示意图;
[0047]
图3是本发明实施实例的一种注意力模块示意图;
[0048]
图4是本发明实施实例的一种基于注意力机制的神经网络宏架构搜索的装置示意图。
具体实施方式
[0049]
本发明的目的是解决神经网络宏架构搜索中,上述现有技术手工重复堆叠相同单元cell导致目标结构缺少多样性或采用进化算法挑选子网络耗时的问题,本发明提供一种基于注意力机制的神经网络宏架构搜索方法与装置。即该发明主要是针对darts搜索空间中神经网络宏结构搜索或mobilenet搜索空间中宏结构搜索,采用注意力机制衡量神经网络宏结构中每一层的候选模块的重要性。
[0050]
第一方面,本发明提供了一种基于注意力机制的神经网络宏架构搜索方法,具体包括以下步骤:
[0051]
步骤1.拼接神经网络宏架构同一层上所有候选模块的输出特征图。
[0052]
神经网络宏架构搜索的目的是从每一层的所有候选模块中选择最优的一个模块,因此在超网训练的时候,上一层的输出信息都要通过该层上的所有候选模块。假设该层共有n个候选模块,则会得到相应的n个特征图每个特征图的尺寸为c为通道数,h和w分别代表特征图的长和宽,b表示卷积核的大小。为了保持输出特征图维度不改变,该层的最终输出要将这n个特征图进行点加得到输出特征,因此输出特征图的维度也是多个特征图进行点加得到该层最终输出之前,我们需要将这n个特征图按通道维度进行拼接,得到拼接之后的特征然后送入到我们提出的注意力机制模块中,用以计算各个候选模块的注意力权重。
[0053]
步骤2.特征图经过注意力模块提取注意力权重。
[0054]
所有候选模块的拼接特征首先经过全局平均池化得到池化之后的特征具体过程如下公式所示:
[0055][0056]
上式中h和w分别代表特征图的长和宽,p和q是求和变量,该操作将每一个特征图在空间维度进行了全局平均池化,得到
[0057]
然后该特征经过两层全连接和sigmoid层,用以获得各个候选模块的重要程度。为了降低模型复杂度并提高泛化性,本发明使用了一个瓶颈结构。该结构具有两个全连接的层,第一个全连接层负责降维,第二个全连接层将维度恢复至原始维度。该过程用如下公式表示:
[0058][0059]
上式中和是全连接层的权重,r是维度减少的超参系数,relu(.)是线性整流激活函数,σ(
·
)是sigmoid激活函数,它的输出就是注意力权重,可以被看作每个通道的重要性程度。因此宏观结构中这一层的第一个候选模块的重要性a1可以用前c个通道的激活值之和表示。依次类推,第二个候选模块的重要性a2用第c到2c个通道的激活值之和表示。总结起来,神经网络宏结构中每一层的各个候选模块重要性被表示为:
[0060][0061]
上式中atten是拼接特征图经过注意力模块后的注意力权重,c是通道的数量,那么每一个候选模块对应的重要性ai(i=1,2,
···
,n)则为相应通道的注意力权重之和。
[0062]
步骤3.注意力加权后的特征图进行点加得到输出特征。
[0063]
为了能够进行更新注意力模块的权重,每一通道的激活值要乘以原始拼接特征图获得注意力加权后的特征图为了保持和原始输入特征图维度相同,经过注意力加权后的特征图也要进行点加操作。但这里的点加操作要按照每一个候选操作的通道分别相加,即如下方式:
[0064][0065]
上式中c是通道的数量,代表前c个特征图,即第一个候选操作经过注意力加权后的特征图,以此类推,将所有候选操作经过注意力加权后的特征图进行点加之后得到f
out

[0066]
这样就能保证神经网络宏架构中每一层上所有候选模块的特征图经过注意力加
权之后继续通过超网络进行梯度更新,进而更新注意力模块的权重,即各个候选模块的重要性。
[0067]
第二方面,本发明提供了一种基于注意力机制的神经网络宏架构搜索装置,具体包括以下模块:
[0068]
a、数据读取及预处理模块:该模块将原始数据集根据相应超参数设置分为训练集和验证集。其中训练集用于更新超网络及注意力模块的权重,验证集用于最终根据注意力权重大小挑选目标宏架构。
[0069]
b、宏架构超网络构建模块:该模块根据搜索空间的设置,构建一个包含所有候选模块的宏架构超网络,用于神经网络宏架构搜索过程及优化各部分权重。
[0070]
c、神经网络宏架构搜索及优化模块:该模块主要将训练集送入宏架构超网络进行前向传播,并通过反向传播来优化宏架构超网络中每一层不同候选模块的权重参数以及注意力模块的权重参数。
[0071]
d、重要程度评估模块:该模块用于评估宏架构超网络中各个子模型,即每一层中各个候选模块的重要程度。
[0072]
e、单模型获取模块:该模块用于根据各个候选模块的重要程度获得最优的单模型。
[0073]
f、单模型训练及验证模型:该模块使用全部训练集对获得的最优单模型进行重新训练,以优化单模型中的权重参数,并在测试集上进行前向传播,得到输出与标签进行对比,从而验证该搜得单模型的性能好坏。
[0074]
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
[0075]
实施例1
[0076]
图1是本发明提供的一种基于注意力机制的神经网络宏架构搜索方法,其步骤为:
[0077]
s11:定义目标数据集和搜索空间。
[0078]
在该步骤中,本发明是针对神经网络宏架构搜索而言的,即用于搜索确定神经网络宏架构中各层上最优的候选模块。比如darts搜索空间,该空间中目标结构是由单元cell堆叠而成,宏架构搜索的目的就是从每一层中若干个候选单元中挑选出最优的单元构成最终的目标宏结构;又或者mobilenet搜索空间,该空间中宏结构的每一层是由若干候选块堆叠而成的链式结构,宏架构搜索的目的是确定每一层最优的选择块构成目标宏结构。
[0079]
s12:在搜索空间中,构建包含注意力模块的宏架构超网络进行搜索。
[0080]
在该步骤中,如图2所示,该搜索空间下的超网络共有l层,每一层有若干候选单元或若干候选块,候选单元是提前搜索好或预定义好的单元结构,候选块是不同卷积核尺寸大小和扩张率的卷积模块。同时,本发明在神经网络宏架构的每一层的所有候选模块输出特征图之后添加注意力模块,如图3所示。该注意力模块的注意力权重大小可以表示为各个候选模块的重要性程度。
[0081]
s13:将训练集图片经过随机裁剪、翻转、归一化之后,送入宏架构超网络中,前向传播后根据标签计算交叉熵损失,并进行反向传播计算梯度,使用随机梯度下降sgd(stochastic gradient descent)优化器根据梯度方向优化宏架构超网络及注意力模块权重。
[0082]
在该步骤中,主要进行在训练集上训练包含注意力模块的宏架构超网络,在训练的同时,更新超网络的权重,注意力模块的权重也随之更新,用于学习宏架构超网中每层的各个候选模块在该超网络中的重要性。
[0083]
s14:算法是否达到指定迭代次数。
[0084]
在该步骤中,用于判断包含注意力模块的超网络是否训练收敛,如果没有训练收敛,则继续进行s13步骤继续训练,如果达到指定迭代次数,即训练收敛之后,则进行下一步骤。
[0085]
s15:将验证集图片经过随机裁剪、翻转、归一化之后,送入训练好的宏架构超网络中,前向传播后获得每层的候选模块的注意力权重大小。
[0086]
在该步骤中,用于将验证集图片送入宏架构超网中,进行前向传播,提取宏架构超网中每层所有候选模块的注意力权重大小,该注意力权重大小可以作为衡量每层的各个模块的重要性指标。
[0087]
s16:根据注意力权重大小,挑选出最优的目标结构。
[0088]
在该步骤中,根据步骤s15中得到的注意力权重大小,每层中有n个候选模块,从这n个注意力权重中挑选出权重最大的那个模块,作为该层最优的模块保留下来,其他的候选模块以及所有的注意力模块则被移除,依次确定整个宏观结构。
[0089]
s17:在整个数据集上重新训练目标结构,验证性能。
[0090]
在该步骤中,在整个训练集上重新训练上述步骤s16中得到的目标结构,直至收敛之后,在测试集中测试其性能指标。
[0091]
实施例2
[0092]
本发明实施例还提供一种基于注意力机制的神经网络宏架构搜索的装置,如图4所示,该装置包括:数据读取及预处理模块21、超网络构建模块22、神经网络架构搜索及优化模块23、单模型获取模块24、单模型重训练及验证模块25。
[0093]
其中,数据读取及预处理模块21,将训练数据根据相应超参数设置划分为训练集和验证集供神经网络架构搜索,将训练集和测试集读入并进行预处理供搜得单模型进行训练和验证;超网络构建模块22,该模块构建添加注意力模块的宏观网络链式结构;神经网络架构搜索及优化模块23,该模块使用训练集训练宏架构超网络的网络权重及注意力模块的权重;单模型获取模块24,该模块使用验证集图片进行前向传播,提取宏架构中每层的各个候选模块的注意力权重大小,该注意力权重大小可以作为衡量各个模块的重要性指标,然后根据该注意力权重大小挑选出每层最优的模块构成最终的目标宏架构;单模型重训练及验证模块25,在整个训练集上重新训练目标结构,直至收敛之后,在测试集中测试其性能指标。
[0094]
本发明实例所提供的基于注意力机制的神将网络宏架构搜索的装置中,各个模块的工作过程与基于注意力机制的神经网络宏架构搜索的方法具有相同的技术特征,因此,同样可以实现前述功能,在此不再赘述。
[0095]
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
[0096]
本发明还提出了一种基于注意力机制的神经网络宏架构搜索系统,其中包括:
[0097]
初始化模块,用于获取神经网络架构的搜索空间,在该搜索空间中构建宏架构超网络,并在该宏架构超网络中每一层的所有候选模块的输出端添加注意力模块,得到待搜索网络;
[0098]
训练模块,用于获取已标记标签的目标数据集,划分该目标数据集为训练集和验证集,基于该训练集训练该待搜索网络,得到中间搜索网络,将该验证集输入该中间搜索网络,通过中间搜索网络中每层的注意力模块,得到每层中各候选模块的注意力权重;
[0099]
剔除模块,用于仅保留该中间搜索网络中每层除注意力权重最大的候选模块,得到该目标数据集的搜索结果。
[0100]
所述的基于注意力机制的神经网络宏架构搜索系统,其中该目标数据集中包括多个样本,每个样本具有对应的标签,样本为图片,标签为图片类别;该搜索空间为darts搜索空间或mobilenet搜索空间。
[0101]
所述的基于注意力机制的神经网络宏架构搜索系统,其中还包括:
[0102]
图片分类模块,用于使用该目标数据集训练该搜索结果,得到图片搜索模型,将待分类图片输入至该图片搜索模型,得到该待分类图片的图片类别。
[0103]
所述的基于注意力机制的神经网络宏架构搜索系统,其中该待搜索网络的每一层有多个候选模块,拼接多个候选模块的输出特征图,得到拼接特征;
[0104]
该拼接特征f
con
经过全局平均池化得到池化之后的特征具体过程如下公式所示:
[0105][0106]
然后该特征经过具有两层全连接和sigmoid层的该注意力模块,以获得各个候选模块的注意力权重;
[0107]
其中该注意力模块中第一个全连接层用于降维,第二个全连接层将维度恢复至原始维度,该过程用如下公式表示:
[0108][0109]
其中和是全连接层的权重,r是维度减少的超参系数,σ(
·
)是sigmoid激活函数,输出是注意力权重;
[0110]
该待搜索网络中每一层的各个候选模块的注意力权重为:
[0111][0112]
每一通道的激活值要乘以原始拼接特征图获得注意力加权后的特征图并通过下式对特征图进行点加操作:
[0113][0114]
本发明还提出了一种存储介质,用于存储执行所述任意一种基于注意力机制的神经网络宏架构搜索方法的程序。
[0115]
本发明还提出了一种客户端,用于所述任意一种基于注意力机制的神经网络宏架构搜索系统。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献