CN116362294B - 一种神经网络搜索方法、装置和可读存储介质 - Google Patents
一种神经网络搜索方法、装置和可读存储介质 Download PDFInfo
- Publication number
- CN116362294B CN116362294B CN202310618700.6A CN202310618700A CN116362294B CN 116362294 B CN116362294 B CN 116362294B CN 202310618700 A CN202310618700 A CN 202310618700A CN 116362294 B CN116362294 B CN 116362294B
- Authority
- CN
- China
- Prior art keywords
- network
- subnet
- target
- candidate
- super
- 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.)
- Active
Links
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种神经网络搜索方法、装置和可读存储介质。所述方法包括:构建第一超网和第二超网;所述第一超网和所述第二超网具有共享搜索空间,但具有不同的宽度和/或深度;对所述第一超网的各子网计算预置得分,以及对所述第二超网的各子网计算预置得分;一个子网的预置得分根据该子网在一批样本数据中每个样本数据上的梯度计算得到;基于所述第一超网的各子网的预置得分,确定第一候选子网;以及基于所述第二超网的各子网的预置得分,确定第二候选子网;基于所述第一候选子网和所述第二候选子网,训练得到目标子网。本发明实施例不用训练超网,可以提高神经网络搜索的效率以及提高目标子网的精准度。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种神经网络搜索方法、装置和可读存储介质。
背景技术
深度神经网络在很多视觉任务(例如图像分类、图像检测和图像分割等)中得到了广泛的应用。随着硬件多元化的发展,不同的设备有着不同的算力、带宽、参数量等需求,因此需要不断设计新的神经网络结构,以运行在一些资源受限的设备上。在此期间面对海量数据需要消耗大量的人力和时间成本,有时也无法保证网络结构是最优解。
神经结构搜索(NeuralArchitectureSearch,NAS)中的one-shot方法,是一种基于权重共享的神经网络搜索方法,该搜索方法先通过特定的搜索空间构建超网,再对超网进行训练。当超网训练完成后,在超网上搜索子网,重新对子网进行训练,得到目标子网。最后可以将搜索得到的目标子网部署到设备上使用。
然而,上述神经结构搜索的过程中需要耗费大量的时间训练超网,导致神经结构搜索的效率不高。此外,由于权重共享还会导致最终搜索的子网等级排列一致性较差的问题。
发明内容
本发明实施例提供一种神经网络搜索方法、装置和可读存储介质,可以提高神经网络搜索的效率以及提高目标子网的精准度。
第一方面,本发明实施例公开了一种神经网络搜索方法,所述方法包括:
构建第一超网和第二超网;所述第一超网和所述第二超网具有共享搜索空间,但具有不同的宽度和/或深度;
对所述第一超网的各子网计算预置得分,以及对所述第二超网的各子网计算预置得分;一个子网的预置得分根据该子网在一批样本数据中每个样本数据上的梯度计算得到;
基于所述第一超网的各子网的预置得分,确定第一候选子网;以及基于所述第二超网的各子网的预置得分,确定第二候选子网;
基于所述第一候选子网和所述第二候选子网,训练得到目标子网。
第二方面,本发明实施例公开了一种神经网络搜索装置,所述装置包括:
超网构建模块,用于构建第一超网和第二超网;所述第一超网和所述第二超网具有共享搜索空间,但具有不同的宽度和/或深度;
得分计算模块,用于对所述第一超网的各子网计算预置得分,以及对所述第二超网的各子网计算预置得分;一个子网的预置得分根据该子网在一批样本数据中每个样本数据上的梯度计算得到;
候选确定模块,用于基于所述第一超网的各子网的预置得分,确定第一候选子网;以及基于所述第二超网的各子网的预置得分,确定第二候选子网;
目标训练模块,用于基于所述第一候选子网和所述第二候选子网,训练得到目标子网。
第三方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的神经网络搜索方法。
本发明实施例包括以下优点:
本发明实施例基于共享搜索空间,建立不同尺寸的第一超网和第二超网,第一超网和第二超网仅在深度和/或宽度上有所不同。根据子网的预置得分,在第一超网中确定满足资源约束条件的最优子网(第一候选子网),以及在第二超网中确定满足资源约束条件的最优子网(第二候选子网)。由于第一候选子网和第二候选子网均满足所述资源约束条件,并且所述第一候选子网和所述第二候选子网为尺寸不同的两个神经网络。因此,尺寸较大的候选子网具有更强的特征表达能力,而尺寸较小的候选子网具有更轻量的网络结构。基于所述第一候选子网和所述第二候选子网,通过自监督蒸馏训练即可得到目标子网,使得该目标子网同时具有轻量化结构以及较强的特征表达能力。由此,本发明实施例直接通过预置得分评价每个子网,一个子网的预置得分根据该子网在一批中的每个输入数据上的梯度计算得到,可以体现子网对不同类别的特征表达能力的强弱,而不用训练超网,节省了神经网络中极为耗时的前向与反向计算过程,极大程度降低了搜索成本,可以快速搜索得到目标子网。所述目标子网能够适用于资源有限的硬件设备且具有较强的特征表达能力的。进一步地,本发明实施例的神经网络搜索方法不用训练超网,也就不需要共享权重,而是对每个子网单独计算预置得分,通过预置得分可以更加快速的反映子网的精准度,还可以避免因超网训练带来的权重共享的干扰,导致最终搜索的子网等级排列一致性较差的问题,从而可以提高目标子网的精准度,进而提高目标任务模型的精准度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种神经网络搜索方法实施例的步骤流程图;
图2是本发明实施例一个示例中基于第一候选子网和第二候选子网构建对比学习网络的示意图;
图3是本发明实施例的一种神经网络搜索装置实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
为了便于理解本发明的技术方案,下面对本发明涉及的一些技术术语进行介绍。
神经网络(neuralnetworks,NN)是一种模拟人脑的神经网络以期能够实现类人工智能的数学模型,神经网络也可以称为神经网络模型。神经网络通常采用具有连接关系的多个神经元(也称作节点,node)模拟人脑的神经网络。其中,每个神经网络中各神经元的连接方式和/或连接结构称为该神经网络的神经网络结构。
典型的神经网络结构包括循环神经网络(recurrentneuralnetwork,RNN)架构、卷积神经网络(convolutionalneuralnetwork,CNN)架构等等。神经网络结构可以通过有向图(如有向无环图)进行表征。有向图中的每条边具有一个权重,权重用于表征一条边中输入节点相对于该边中输出节点的重要性。神经网络的参数即包括上述权重。需要说明,权重通常可以利用样本数据对神经网络进行训练得到。
主干网络(backbone),用于提取输入的图像的特征,以得到图像的多层次(多尺度)特征。常用的主干网络包括不同深度以及宽度的ResNet、ResNext、MobileNet或DenseNet,不同系列的主干网络主要差别在于组成网络的基本单元不同。
多层次特征抽取网络(neck),用于对多尺度的特征进行筛选融合,生成更紧凑更有表现力的特征向量。示例性地,对于图像分割任务,多层次特征抽取网络可以包括不同尺度连接的全卷积的金字塔网络、空洞空间卷积池化金字塔(atrousspatialpyramidpooling,ASPP)网络、池化金字塔网络或包括密集预测单元的网络。对于图像检测任务,多层次特征抽取网络可以使用FPN(Feature Pyramid Network,特征金字塔网络)或者PAN(Pixel Aggregation Network,像素聚合网络)等。
头部预测网络(head),用于将特征转化成最终符合任务需要的预测结果。例如,图像分类任务中最终输出的预测结果是输入图像属于各个类别的概率向量;目标检测任务中的预测结果是输入图像中存在的所有候选目标框在图像中的坐标和候选目标框属于各个类别的概率;图像分割任务中的预测模块需要输出图像像素级的类别分类概率图。头部预测网络可以包括Retina-head、全连接的检测头部网络、Cascade-head、U-Net模型或全卷积的检测头部网络。
本发明提供的方法和装置可以应用在人工智能领域,例如,智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、平安城市等领域。具体地,本发明提供的方法和装置可以应用在自动驾驶、图像分类、图像分割、目标检测、图像检索、图像语义分割、图像质量增强、图像超分辨率和自然语言处理等需要使用(深度)神经网络的领域。
例如,利用本发明的方法得到可以对行人、车辆、交通标志或车道线等目标进行检测的神经网络;又如,利用本发明的方法得到可以通过分析输入的图像来识别目标,例如人脸、车辆、物品等的神经网络;等等。
参照图1,示出了本发明的一种神经网络搜索方法实施例的步骤流程图,所述方法可以包括如下步骤:
步骤101、构建第一超网和第二超网;所述第一超网和所述第二超网具有共享搜索空间,但具有不同的宽度和/或深度;
步骤102、对所述第一超网的各子网计算预置得分,以及对所述第二超网的各子网计算预置得分;一个子网的预置得分根据该子网在一批样本数据中每个样本数据上的梯度计算得到;
步骤103、基于所述第一超网的各子网的预置得分,确定第一候选子网;以及基于所述第二超网的各子网的预置得分,确定第二候选子网;
步骤104、基于所述第一候选子网和所述第二候选子网,训练得到目标子网。
在本发明实施例中,所述神经网络可用于对图像、文本或语音等数据进行处理。所述神经网络可以是用于对图像进行分类的神经网络,也可以是用于对图像进行分割的神经网络,或者可以是用于对图像进行检测的神经网络,或者可以是用于对图像进行识别的神经网络,或者可以是用于生成指定图像的神经网络,或者可以是用于对文本进行翻译的神经网络,或者可以是用于对文本进行复述的神经网络,或者可以是用于生成指定文本的神经网络,或者可以是用于对语音进行识别的神经网络,或者可以是用于对语音进行翻译的神经网络,或者可以是用于生成指定语音的神经网络等。
可以理解的是,本发明实施例中,神经网络与神经网络结构这两个概念是可以等同的。例如,神经网络搜索可以理解为神经网络结构搜索,所述神经网络用于对图像、文本或语音等数据进行处理,可以理解为具有所述神经网络结构的神经网络用于对图像、文本或语音等数据进行处理。
搜索空间是候选神经网络结构的集合。搜索空间定义了对神经网络结构进行搜索的范围,基于搜索空间定义的范围可以提供一组可供采样的神经网络结构。本发明实施例的神经网络搜索方法可以更加高效地从搜索空间中搜索得到目标子网。
所述共享搜索空间,是指第一超网和第二超网基于相同的搜索空间所构建。所述第一超网和所述第二超网具有相同的搜索空间,但是具有不同的深度和/或不同的宽度。也即,所述第一超网中的候选神经网络与所述第二超网中的候选神经网络具有相同或相似的拓扑连接结构,但是具有不同的尺寸。
在本发明的一种可选实施例中,所述构建第一超网和第二超网,可以包括:
步骤S11、基于目标设备的资源约束条件构建基础网络;所述基础网络具有基础宽度和基础深度;
步骤S12、对所述基础网络进行缩放处理得到第一尺寸网络和第二尺寸网络;所述第一尺寸网络和所述第二尺寸网络具有不同的宽度和/或深度;
步骤S13、基于所述第一尺寸网络和第二尺寸网络分别构建共享搜索空间,得到第一超网和第二超网。
在本发明实施例中,所述共享搜索空间指的是主干网络的搜索空间。主干网络的网络结构可以包括多个阶段(stage),每个阶段中可以包括至少一个块(block),不同阶段中块的个数可以不同,每个块中的超参(例如扩张系数、卷积核大小等)也可以不同。其中,块可以由卷积神经网络中的基本原子组成,这些基本原子包括卷积层、池化层、全连接层或非线性激活层等。块也可以称为基本单元或基本模组。本发明实施例中提到的“超网”(如第一超网和第二超网)和“子网”都是指主干网络。
首先,基于目标设备的资源约束条件构建基础网络;所述基础网络具有基础宽度和基础深度。所述目标设备指待运行所述目标子网的设备。所述资源约束条件包括针对最终得到的目标子网占用的资源的约束条件,即目标子网所占用的资源的范围。所述述资源约束条件可以根据目标设备的硬件资源和业务场景设定。进一步地,所述资源约束条件可以包括所述目标设备限制的可运行的神经网络结构的计算量范围和参数量范围。
接下来,对所述基础网络进行缩放处理得到第一尺寸网络和第二尺寸网络;所述第一尺寸网络和所述第二尺寸网络具有不同的宽度和/或深度。
所述第一尺寸网络和所述第二尺寸网络分别对应尺寸不同的两个神经网络。所述第一尺寸网络和所述第二尺寸网络均是对所述基础网络进行缩放处理得到的。
示例性地,本发明实施例中以第一尺寸小于第二尺寸为例。在所述第一尺寸网络和所述第二尺寸网络中,所述第一尺寸网络为尺寸相对较小的神经网络,所述第二尺寸网络为尺寸相对较大的神经网络。所述尺寸包括宽度和/或深度。例如,在深度一致的前提下,第一尺寸网络相对于第二尺寸网络具有较小宽度;或者,在宽度一致的前提下,第一尺寸网络相对于第二尺寸网络具有较小深度;或者,第一尺寸网络相对于第二尺寸网络具有较小宽度以及较小深度。
本发明实施例对所述基础网络进行缩放处理得到第一尺寸网络和第二尺寸网络的具体方式不做限制。在本发明的一种可选实施例中,所述对所述基础网络进行缩放处理得到第一尺寸网络和第二尺寸网络,可以包括:
方式一:基于第一宽度缩放因子对所述基础网络的基础宽度进行变换,得到第一尺寸网络;以及基于第二宽度缩放因子对所述基础网络的基础宽度进行变换,得到第二尺寸网络;或者,
方式二:基于第一深度缩放因子对所述基础网络的基础深度进行变换,得到第一尺寸网络;以及基于第二深度缩放因子对所述基础网络的基础深度进行变换,得到第二尺寸网络;或者,
方式三:基于第一宽度缩放因子和第一深度缩放因子对所述基础网络的基础宽度和基础深度进行变换,得到第一尺寸网络;以及基于第二宽度缩放因子和第二深度缩放因子对所述基础网络的基础宽度和基础深度进行变换,得到第二尺寸网络。
具体地,本发明实施例可以对所述基础网络乘以不同的缩放系数,得到尺寸不同的两个神经网络,即第一尺寸网络和第二尺寸网络。
一个示例中,假设主干网络为mobilenetv2。该主干网络包括8个stage,每个stage的基础宽度分别如下:32、16、24、32、64、96、160、320。每个stage内block的数量分别如下:1、1、2、3、4、3、3、1。将该主干网络作为本发明的基础网络。需要说明的是,在该示例中,8个stage中的第一个stage是普通卷积,具有宽度和block数量的参数,因此在此声明,但是第一个stage并不进行搜索,参与搜索的是其余7个stage。
本发明实施例对该基础网络乘以不同的缩放系数,可以得到第一尺寸网络和第二尺寸网络。
以方式一为例,对该基础网络乘以第一宽度缩放因子,从而对该基础网络的基础宽度进行变换,得到第一尺寸网络;以及对该基础网络乘以第二宽度缩放因子,从而对该基础网络的基础宽度进行变换,得到第二尺寸网络。示例性地,假设第一宽度缩放因子为0.5,则保持基础网络的基础深度不变,而将基础宽度缩小至0.5倍,得到第一尺寸网络。假设第二宽度缩放因子为1.5,则保持基础网络的基础深度不变,而将基础宽度扩大至1.5倍,得到第二尺寸网络。
可以理解的是,也可以通过方式二或方式三生成第一尺寸网络和第二尺寸网络。示例性地,如果保持基础网络的基础宽度不变,将基础网络每个stage中block个数扩大一倍,则得到的网络的深度相对于基础深度就会扩大一倍。
需要说明的是,本发明实施例对所述第一宽度缩放因子、第二宽度缩放因子、第一深度缩放因子、第二深度缩放因子的具体取值不做限制。优选地,本发明实施例设置所述第一宽度缩放因子和所述第二宽度缩放因子为相邻尺度的缩放因子,以及设置所述第一深度缩放因子和所述第二深度缩放因子为相邻尺度的缩放因子。
在实际应用中,相邻尺度的神经网络在特征表达上通常具有较高的一致性。因此,本发明实施例在对基础网络进行缩放处理得到第一尺寸网络和第二尺寸网络时,可以使用相邻尺度的缩放因子,由此得到的第一尺寸网络和第二尺寸网络为相邻尺度的神经网络,由此得到的第一尺寸网络和第二尺寸网络在特征表达上具有较高的一致性。通过第一尺寸网络和第二尺寸网络构建第一超网和第二超网,则第一超网中的候选神经网络与第二超网中的候选神经网络在特征表达上具有较高的一致性,从而使得基于所述第一候选子网和所述第二候选子网训练得到的目标子网更加准确。
其中,相邻尺度的缩放因子指的是,在设置的不同尺度的各缩放因子中,选择尺度相邻的两个缩放因子。例如,对于宽度缩放因子,设置了如下不同尺度:0.5、1.0、1.5、以及2.0。其中0.5和1.0为相邻尺度的缩放因子,1.0和1.5为相邻尺度的缩放因子,1.5和2.0为相邻尺度的缩放因子。
在得到所述第一尺寸网络和所述第二尺寸网络之后,可以基于所述第一尺寸网络和所述第二尺寸网络分别构建搜索空间,二者构建搜索空间定义的范围相同,称为共享搜索空间,由此得到第一超网和第二超网。
构建共享搜索空间,可以包括设置每个网络层的候选操作、卷积核、以及扩张系数等参数。本发明实施例利用不同尺寸的两个神经网络分别构建共享搜索空间,得到不同尺寸的两个超网,两个超网中每个候选神经网络在相同层的候选操作一致。
超网是对应于搜索空间的超级网络,超网包括搜索空间中的所有候选神经网络结构。第一超网中包括所述共享搜索空间定义的范围可以提供的一组候选神经网络结构,且第一超网中的候选神经网络结构的尺寸符合所述第一尺寸。第二超网中包括所述共享搜索空间定义的范围可以提供的一组候选神经网络结构,且第二超网中的候选神经网络结构的尺寸符合所述第二尺寸。
以上述示例为例,在构建第一尺寸网络和第二尺寸网络之后,将这两个不同尺寸的神经网络作为基础,分别构建搜索空间,二者构建的搜索空间定义的范围相同,称为共享搜索空间。一个示例中,本发明实施例构建搜索空间定义的范围如下:卷积核包括:3、5、7;block内部depthwise可分离卷积的通道扩张比例系数包括:3、4、6;候选操作包括block本身操作是否为MBblock或者Identity。由此,每一种block有3×3+1=10种不同选择,每个超网的搜索空间大小约为10的17次方。其中,MBblock为mobilenetv2中经典的1×1卷积+depthwise可分离卷积+1×1卷积的结构,Identity表示什么操作都不做,即“无操作”,因此block本身操作可以存在MBblock和无操作两种选择。
可以理解的是,本发明实施例中以mobilenetv2主干网络作为非限制性示例对“超网”和“子网”进行说明。
在构建第一超网和第二超网之后,可以对第一超网和第二超网的深度学习参数进行随机初始化,或者,可以对第一超网和第二超网的深度学习参数进行kaiming初始化。本发明实施例对第一超网和第二超网的初始化方式不做限制,仅要求对第一超网和第二超网使用相同的初始化方式即可。初始化后,对所述第一超网的各子网计算预置得分,以及对所述第二超网的各子网计算预置得分。一个子网的预置得分根据该子网在一批样本数据中每个样本数据上的梯度计算得到。
本发明实施例的神经网络搜索方法,不需要训练超网,在上述构建的第一超网和第二超网这两个超网中,分别计算各子网的预置得分。根据所述预置得分对第一超网和第二超网中的每个子网都进行评价,从而搜索出第一超网中满足所述资源约束条件的最优子网(第一候选子网),以及搜索出第二超网中满足所述资源约束条件的最优子网(第二候选子网)。
在本发明实施例中,所述预置得分可以为z分数(z-score),也叫标准分数(standard score),可用于评估每个样本数据的梯度到该样本数据所属类别的距离。本发明实施例基于所述预置得分评价每个子网对不同类别的特征表达能力的强弱。预置得分越高,说明相同类别的样本数据的梯度越相似(也即相同类别的样本数据的梯度的距离越近),而不同类别的样本数据的梯度越不相似(也即不同类别的样本数据的梯度的距离越远)。
在本发明的一种可选实施例中,可以通过如下步骤计算当前子网的预置得分:
步骤S21、根据当前子网在一批样本数据中每个样本数据上的梯度,计算所述一批样本数据中每个类别下的样本数据的梯度的平均值;
步骤S22、根据所述平均值,计算每个类别对应的协方差矩阵;
步骤S23、根据所述协方差矩阵,计算每个类别对应的相关性矩阵;
步骤S24、将所述每个类别对应的相关性矩阵进行求和,得到所述当前子网的预置得分。
在具体实施中,可以对所述第一超网进行随机采样,得到第一超网的子网;以及对所述第二超网进行随机采样,得到第二超网的子网。对于随机采样得到的任意子网,可以计算该子网的预置得分。
假设对于待计算预置得分的当前子网,输入当前子网的一批(以下称为batch)样本数据包括x1~xn,则当前子网在该batch内每个样本数据上的梯度可以表示如下:
(1)
其中,J表示该batch内所有样本数据的梯度的集合。是该batch内样本数据x1的梯度,/>是该batch内样本数据x2的梯度,以此类推。
x1~xn为该batch内的样本数据,示例性地,x1~xn可以为n张单张图片。n为该batch内的样本数据的数量。f为当前子网的网络输出。上式(1)表示的矩阵也称为雅可比矩阵。
在计算得到该batch内每个样本数据的梯度后,基于同一类别的样本数据的梯度具有较高的相关(相似)性,而不同类别的样本数据的梯度具有较低的相关(相似)性,可以用样本数据的梯度构建的相关性矩阵来体现子网对不同类别的特征表达能力的强弱。具体的,根据该batch内每个类别下的样本数据的梯度的平均值,可以计算每个类别对应的协方差矩阵如下:
(2)
其中:
(3)
表示该batch内类别为第i类的样本数据的梯度的平均值。N为该batch内的样本数据的数量。j表示该batch内类别为第i类的第j个样本数据。通过上式(3)可以计算该batch内每个类别下的样本数据的梯度的平均值。
一个示例中,以图像分类场景为例,假设该batch内的样本数据(如样本数据为图片)的数量为256,其中有32张图片的类别为猫,有64张图片的类别为人,有128张图片的类别为狗,有32张图片的类别为车辆。则该batch内的样本数据可以划分为4个类别,可以计算该batch内每个类别下的样本数据的梯度的平均值。例如,计算该batch内类别为猫的样本数据的梯度的平均值;计算该batch内类别为狗的样本数据的梯度的平均值;以此类推。
基于上式(2)计算得到的每个类别对应的协方差矩阵,可以通过下式计算每个类别对应的相关性矩阵:
(4)
将上式(4)所示的相关性矩阵可以进行如下变换:
(5)
其中,k为超参,示例性地,本发明实施例将k设置为1e-5。最后,将基于上式(5)计算得到的每个类别对应的相关性矩阵进行求和,可以得到预置得分如下:
(6)
S为当前子网的预置得分,上式(6)表示对第0个类别对应的相关性矩阵至第C个类别对应的相关性矩阵进行求和。例如在上述示例中,该batch内的样本数据可以划分为4个类别,则C=3。本发明实施例中将预置得分记为Z-score。
对于所述第一超网的每个子网可以按照上述步骤S21~步骤S24的方法计算预置得分。同样的,对于所述第二超网的每个子网可以按照上述步骤S21~步骤S24的方法计算预置得分。从上式可以推导得知,相同类别的样本数据的梯度相似度越高,得到的预置得分越高;相同类别的样本数据的梯度相似度越低,得到的预置得分越低。
本发明实施例基于所述第一超网的各子网的预置得分,可以确定第一候选子网;以及基于所述第二超网的各子网的预置得分,可以确定第二候选子网。其中,第一候选子网为第一超网的各子网中满足所述资源约束条件的最优子网。第二候选子网为第二超网的各子网中满足所述资源约束条件的最优子网。
由于第一候选子网和第二候选子网均满足所述资源约束条件,并且所述第一候选子网和所述第二候选子网为尺寸不同的两个神经网络。因此,尺寸较大的第二候选子网相对于尺寸较小的第一候选子网,具有更强的特征表达能力;而尺寸较小的第一候选子网相对于尺寸较大的第二候选子网,具有更轻量的网络结构。基于所述第一候选子网和所述第二候选子网,通过自监督蒸馏训练可以得到目标子网,使得该目标子网具有第一候选子网的轻量化结构以及具有第二候选子网的特征表达能力。由此,本发明实施例不用训练超网,节省了神经网络中极为耗时的前向与反向计算过程,直接通过预置得分评价每个子网,极大程度的降低了搜索成本,可以快速搜索得到目标子网。所述目标子网能够适用于资源有限的硬件设备且具有较强的特征表达能力的。进一步地,本发明实施例的神经网络搜索方法不用训练超网,还可以减少因超网训练带来的权重共享的干扰,导致最终搜索的子网等级排列一致性较差的问题。
在本发明的一种可选实施例中,可以通过如下步骤确定目标候选子网:
在目标超网的各子网的预置得分中确定分数最高的为目标候选子网;
或者,
基于目标超网的各子网的预置得分,利用进化算法确定目标候选子网;
其中,所述目标超网为第一超网,所述目标候选子网为第一候选子网;或者,所述目标超网为第二超网,所述目标候选子网为第二候选子网。
在具体实施中,可以对所述第一超网进行随机采样,得到第一超网的子网;以及对所述第二超网进行随机采样,得到第二超网的子网。如果随机采样的次数足够多,如满足预设次数,则可以在第一超网的大量子网中选择Z-score最高的为第一候选子网;以及在第二超网的大量子网中选择Z-score最高的为第二候选子网。
此外,本发明实施例还可以基于目标超网的各子网的预置得分,利用进化算法确定目标候选子网。在本发明的一种可选实施例中,所述基于目标超网的各子网的预置得分,利用进化算法确定目标候选子网,可以包括:
步骤S31、对目标超网随机采样子网,得到初始化种群;
步骤S32、计算所述初始化种群中第一数量的子网的预置得分;
步骤S33、在当前一轮的进化算法中,在当前种群中预置得分最高的第二数量的子网中随机选择子网进行至少一种变换操作,若变换后的子网不满足资源约束条件,则重新选择子网,直至每种变换操作得到的变换后的子网的数量到达第三数量,且变换后的子网均满足所述资源约束条件;将每种变换操作得到的所述第三数量的子网组成新的种群,进入下一轮进化算法;
步骤S34、在所述进化算法执行预设次数时,将最后一次得到的种群中预置得分最高的子网确定为目标候选子网。
本发明实施例对所述第一超网和所述第二超网分别执行上述步骤S21~S24,得到第一候选子网和第二候选子网。
需要说明的是,本发明实施例对所述第一数量、第二数量、第三数量、以及预设次数的具体数值均不做限制。
以获取第一候选子网为例,一个示例中,对第一超网随机采样子网;随机采样的步骤可以执行多次,多次随机采样得到的子网构成初始化种群。本发明实施例对随机采样的次数不做限制,随机采样的次数应大于或等于第一数量。假设第一数量为100。
从所述初始化种群中选取100个子网分别计算预置得分Z-score,并按照预置得分从高到低排序。
此时,初始化种群即为当前种群,进入第一轮的进化算法。将当前种群中预置得分最高的第二数量的子网进行至少一种变换操作。本发明实施例对所述变换操作的类型不做限制。所述变换操作的目的在于增加种群的多样性,使得更多可能变好的子网进入到种群中。例如,所述变换操作可以包括但不限于变异操作和/或交叉操作。
示例性地,在当前种群中预置得分最高的前10(假设此时第二数量为10)个中随机选择一个子网进行变异操作,如果变换后的子网(经过变异操作得到的子网)满足资源约束条件,则保留该变换后的子网;如果该变换后的子网不满足资源约束条件,则在当前种群中预置得分最高的前10个中重新随机选择一个子网进行变异操作,直至得到50(假设第三数量为50)个经过变异操作得到的满足资源约束条件的子网。
进一步地,在执行变异操作的同时,可以执行交叉操作。例如,在当前种群中预置得分最高的前20(假设此时第二数量为20)个中随机选择两个子网进行交叉操作,如果变换后的子网(经过交叉操作得到的子网)满足资源约束条件,则保留该变换后的子网;如果该变换后的子网不满足资源约束条件,则在当前种群中预置得分最高的前20个中重新随机选择两个子网进行交叉操作,直至得到50(假设第三数量为50)个经过交叉操作得到的满足资源约束条件的子网。
将经过变异操作得到的满足资源约束条件的上述50个变换后的子网以及经过交叉操作得到的满足资源约束条件的上述50个变换后的子网组合得到新的种群。新的种群仍包括第一数量(该示例中为100)个子网。此时进入下一轮进化算法,上述新的种群即为下一轮进化算法中的当前种群。
在所述进化算法执行预设次数时,将最后一次得到的种群中预置得分最高的子网确定为第一候选子网。本发明实施例对所述预设次数不做限制。例如,所述预设次数可以为20次、30次等。
获取第二候选子网的过程与获取第一候选子网的过程相似,此处不再进行赘述。
在本发明的一种可选实施例中,所述基于所述第一候选子网和所述第二候选子网,训练得到目标子网,可以包括:
步骤S41、从第一数据集中获取当前数据,对所述当前数据分别进行两种不同的数据增强操作,得到两个增强后的数据;所述第一数据集中包括无标注数据;
步骤S42、将所述两个增强后的数据分别输入所述第一候选子网和所述第二候选子网提取特征,得到第一特征和第二特征;
步骤S43、将所述第一特征输入辅助网络,通过所述辅助网络输出第三特征;
步骤S43、根据所述第三特征和所述第二特征的相似度,更新所述第一候选子网的参数、所述第二候选子网的参数和所述辅助网络的参数;进入下一轮迭代;
步骤S44、在满足迭代停止条件时,得到目标子网。
所述第一候选子网和所述第二候选子网来自相同的搜索空间,且尺度相邻,因此,可以基于所述第一候选子网和所述第二候选子网构建对比学习网络,利用所述第一候选子网和所述第二候选子网这两个子网的特征相似性进行自监督蒸馏训练,得到目标子网,而不需要标注数据。
所述第一数据集包括无标注数据,根据不同的应用场景所述数据集中可以包括不同类型的数据。示例性地,所述第一数据集中包括的数据为图片。
参照图2,示出了本发明实施例一个示例中基于第一候选子网和第二候选子网构建对比学习网络的示意图。如图2所示,所述第一候选子网和所述第二候选子网为主干网络,将所述第一候选子网和所述第二候选子网作为编码器构建对比学习网络。首先从第一数据集中获取当前数据,如记为x。对当前数据x分别进行两种不同的数据增强,得到两个增强后的数据,如记为x1和x2。所述数据增加包括但不限于如下任意一种或多种的组合:剪裁、调整大小、重新着色、灰度等。然后,将所述两个增强后的数据分别输入所述第一候选子网(如记为s网络)和所述第二候选子网(如记为t网络)提取特征。如将x1输入s网络提取特征,得到第一特征,如记为s(x1);将x2输入t网络提取特征,得到第二特征,如记为t(x2)。可以理解的是,步骤S42中分别输入所述第一候选子网和所述第二候选子网的两个增强后的数据,是针对同一个数据(当前数据,如当前输入的某一张图片)进行两种不同的数据增强得到的。
对比学习的目的在于希望s网络和t网络这两个编码器提取的特征相似,但是由于s网络的尺寸小于t网络,二者提取的特征可能存在较大差异,为了提高训练s网络的速度和质量,本发明实施例对s网络增加辅助网络,将s网络输出的第一特征输入辅助网络,通过所述辅助网络对所述第一特征进行处理,输出第三特征。
示例性地,s网络为较小尺寸的网络,t网络为较大尺寸的网络。因此,本发明实施例中的对比学习过程是s网络向t网络学习的过程。将t网络的输出结果作为s网络学习的标签,无需使用标注数据。具体地,根据所述第三特征和所述第二特征的相似度,更新所述第一候选子网的参数、所述第二候选子网的参数和所述辅助网络的参数,并进入下一轮迭代;在满足迭代停止条件时,停止训练,此时训练完成的第一候选网络即为目标子网。可以理解的是,在满足迭代停止条件时,得到目标子网包括得到目标子网的网络结构和训练好的参数,如权重。
其中,所述迭代停止条件可以包括:所述对比学习网络的损失小于预设阈值,或者,迭代训练的次数到达预设次数。所述损失可以使用通用的损失函数计算得到,所述通用的损失函数例如交叉熵损失函数、余弦相似度损失函数等。
所述辅助网络用于辅助s网络的输出结果更加快速地接近于t网络。本发明实施例对所述辅助网络的结构不做限制。一个示例中,所述辅助网络可以包括特征映射层f和预测层p。所述特征映射层f用于将第一特征映射到隐层特征空间。所述预测层p用于将学习到的分布特征表示映射到样本标记空间。如将所述预测层p输出的第三特征记为p(f(s(x1))),s(x1)表示s网络对增强后的数据x1进行特征提取得到的第一特征;f(s(x1))表示特征映射层f对第一特征处理后得到的输出结果;p(f(s(x1)))表示预测层p对特征映射层f的输出结果进行处理后得到的输出结果。计算所述第三特征和所述第二特征的相似度,即计算p(f(s(x1)))和t(x2)的相似度。
本发明实施例对计算所述第三特征和所述第二特征的相似度的方式不做限制。例如,可以使用余弦相似度来计算所述第三特征和所述第二特征的相似度,即cosine(余弦)距离。
本发明实施例通过大量无标签数据进行对比学习,使得最终得到的s网络具备较强的特征表达能力,且经过较大网络(t网络)的指导,s网络的鲁棒性也得到大大提升。需要说明的是,本发明实施例对上述对比学习网络的结构不做限制。例如,对比学习网络还可以使用DINO(DINO是一种基于知识蒸馏架构的自监督网络)结构或者使用MAE(带掩码自编码器)的子网掩码模式等。当然,在具体实施中,在不考虑标注成本的情况下,也可以利用有标注数据,对第一候选子网和第二候选子网进行特征级的蒸馏,训练得到目标子网。
在本发明的一种可选实施例中,所述方法还可以包括:
步骤S51、将所述目标子网作为主干网络加载至目标任务模型中,所述目标任务模型的网络结构包括主干网络、多层次特征抽取网络和头部预测网络;
步骤S52、利用第二数据集对所述目标任务模型中的所述多层次特征抽取网络的参数和所述头部预测网络的参数进行更新;所述第二数据集中包括有标注数据。
在训练得到所述目标子网之后,可以将所述目标子网作为主干网络加载到目标任务模型中,所述目标任务模型的网络结构包括主干网络(backbone)、多层次特征抽取网络(neck)和头部预测网络(head)。利用第二数据集训练所述目标任务模型,由于作为主干网络的目标子网已经训练完成,因此,只需利用包含较少量标注数据的第二数据集对多层次特征抽取网络(neck)和头部预测网络(head)的参数进行微调,即可得到训练完成的目标任务模型。
所述第二数据集中包括有标注数据,将所述第二数据集中的当前数据输入所述目标任务模型,通过所述目标任务模型输出预测结果,根据该预测结果与该当前数据对应的标注标签之前的差异,更新所述多层次特征抽取网络(neck)的参数和所述头部预测网络(head)的参数;进入下一轮迭代;在满足迭代停止条件时,得到训练完成的目标任务模型。
其中,所述迭代停止条件可以包括:所述目标任务模型的损失小于预设阈值,或者,迭代训练的次数到达预设次数。
在本发明的一种可选实施例中,所述方法还可以包括:在目标设备中部署所述训练完成的目标任务模型,利用所述目标任务模型执行目标任务。
所述目标任务模型可以部署在目标设备上,可用于执行目标任务,如图像分类任务、目标检测任务、图像分割任务等。
以目标任务为车辆检测任务为例,将待测图像输入所述目标任务模型,首先通过主干网络(本发明实施例训练完成的目标子网)进行特征提取,然后利用neck对主干网络输出的特征抽取不同尺度的特征并进行处理,再利用head对neck的输出结果进行特征图解码,最终输出车辆在图像中的位置信息。
本发明实施例对所述目标设备的具体形式不做限制。示例性地,所述目标设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。
综上,本发明实施例提供了一种无需训练超网的神经网络搜索方法。基于共享搜索空间,建立不同尺寸的第一超网和第二超网,第一超网和第二超网仅在深度和/或宽度上有所不同。根据子网的预置得分,在第一超网中确定满足资源约束条件的最优子网(第一候选子网),以及在第二超网中确定满足资源约束条件的最优子网(第二候选子网)。由于第一候选子网和第二候选子网均满足所述资源约束条件,并且所述第一候选子网和所述第二候选子网为尺寸不同的两个神经网络。因此,尺寸较大的候选子网具有更强的特征表达能力,而尺寸较小的候选子网具有更轻量的网络结构。基于所述第一候选子网和所述第二候选子网,通过自监督蒸馏训练即可得到目标子网,使得该目标子网同时具有轻量化结构以及较强的特征表达能力。由此,本发明实施例直接通过预置得分评价每个子网,一个子网的预置得分根据该子网在一批中的每个输入数据上的梯度计算得到,可以体现子网对不同类别的特征表达能力的强弱,而不用训练超网,节省了神经网络中极为耗时的前向与反向计算过程,极大程度降低了搜索成本,可以快速搜索得到目标子网。所述目标子网能够适用于资源有限的硬件设备且具有较强的特征表达能力的。进一步地,本发明实施例的神经网络搜索方法不用训练超网,也就不需要共享权重,而是对每个子网单独计算预置得分,通过预置得分可以更加快速的反映子网的精准度,还可以避免因超网训练带来的权重共享的干扰,导致最终搜索的子网等级排列一致性较差的问题,从而可以提高目标子网的精准度,进而提高目标任务模型的精准度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明的一种神经网络搜索装置实施例的结构框图,所述装置包括:
超网构建模块301,用于构建第一超网和第二超网;所述第一超网和所述第二超网具有共享搜索空间,但具有不同的宽度和/或深度;
得分计算模块302,用于对所述第一超网的各子网计算预置得分,以及对所述第二超网的各子网计算预置得分;一个子网的预置得分根据该子网在一批样本数据中每个样本数据上的梯度计算得到;
候选确定模块303,用于基于所述第一超网的各子网的预置得分,确定第一候选子网;以及基于所述第二超网的各子网的预置得分,确定第二候选子网;
目标训练模块304,用于基于所述第一候选子网和所述第二候选子网,训练得到目标子网。
可选地,所述目标训练模块,包括:
数据增强子模块,用于从第一数据集中获取当前数据,对所述当前数据分别进行两种不同的数据增强操作,得到两个增强后的数据;所述第一数据集中包括无标注数据;
特征提取子模块,用于将所述两个增强后的数据分别输入所述第一候选子网和所述第二候选子网提取特征,得到第一特征和第二特征;
辅助映射子模块,用于将所述第一特征输入辅助网络,通过所述辅助网络输出第三特征;
迭代更新子模块,用于根据所述第三特征和所述第二特征的相似度,更新所述第一候选子网的参数、所述第二候选子网的参数和所述辅助网络的参数;进入下一轮迭代;在满足迭代停止条件时,得到目标子网。
可选地,所述候选确定模块,具体用于在目标超网的各子网的预置得分中确定分数最高的为目标候选子网;或者,基于目标超网的各子网的预置得分,利用进化算法确定目标候选子网;其中,所述目标超网为第一超网,所述目标候选子网为第一候选子网;或者,所述目标超网为第二超网,所述目标候选子网为第二候选子网。
可选地,所述候选确定模块,包括:
随机采样子模块,用于对目标超网随机采样子网,得到初始化种群;
得分计算子模块,用于计算所述初始化种群中第一数量的子网的预置得分;
迭代进化子模块,用于在当前一轮的进化算法中,在当前种群中预置得分最高的第二数量的子网中随机选择子网进行至少一种变换操作,若变换后的子网不满足资源约束条件,则重新选择子网,直至每种变换操作得到的变换后的子网的数量到达第三数量,且变换后的子网均满足所述资源约束条件;将每种变换操作得到的所述第三数量的子网组成新的种群,进入下一轮进化算法;在所述进化算法执行预设次数时,将最后一次得到的种群中预置得分最高的子网确定为目标候选子网。
可选地,所述变换操作包括变异操作和/或交叉操作。
可选地,所述超网构建模块,包括:
基础构建子模块,用于基于目标设备的资源约束条件构建基础网络;所述基础网络具有基础宽度和基础深度;
基础缩放子模块,用于对所述基础网络进行缩放处理得到第一尺寸网络和第二尺寸网络;所述第一尺寸网络和所述第二尺寸网络具有不同的宽度和/或深度;
超网构建子模块,用于基于所述第一尺寸网络和第二尺寸网络分别构建共享搜索空间,得到第一超网和第二超网。
可选地,所述基础缩放子模块,包括:
第一缩放单元,用于基于第一宽度缩放因子对所述基础网络的基础宽度进行变换,得到第一尺寸网络;以及基于第二宽度缩放因子对所述基础网络的基础宽度进行变换,得到第二尺寸网络;或者,
第二缩放单元,用于基于第一深度缩放因子对所述基础网络的基础深度进行变换,得到第一尺寸网络;以及基于第二深度缩放因子对所述基础网络的基础深度进行变换,得到第二尺寸网络;或者,
第三缩放单元,用于基于第一宽度缩放因子和第一深度缩放因子对所述基础网络的基础宽度和基础深度进行变换,得到第一尺寸网络;以及基于第二宽度缩放因子和第二深度缩放因子对所述基础网络的基础宽度和基础深度进行变换,得到第二尺寸网络。
可选地,所述得分计算模块,包括:
均值计算子模块,用于根据当前子网在一批样本数据中每个样本数据上的梯度,计算所述一批样本数据中每个类别下的样本数据的梯度的平均值;
协方差矩阵计算子模块,用于根据所述平均值,计算每个类别对应的协方差矩阵;
相关性矩阵计算子模块,用于根据所述协方差矩阵,计算每个类别对应的相关性矩阵;
得分计算子模块,用于将所述每个类别对应的相关性矩阵进行求和,得到所述当前子网的预置得分。
可选地,所述装置还包括:
模型构建模块,用于将所述目标子网作为主干网络加载至目标任务模型中,所述目标任务模型的网络结构包括主干网络、多层次特征抽取网络和头部预测网络;
模型微调模块,用于利用第二数据集对所述目标任务模型中的所述多层次特征抽取网络的参数和所述头部预测网络的参数进行更新;所述第二数据集中包括有标注数据。
本发明实施例提供了一种无需训练超网的神经网络搜索装置。基于共享搜索空间,建立不同尺寸的第一超网和第二超网,第一超网和第二超网仅在深度和/或宽度上有所不同。根据子网的预置得分,在第一超网中确定满足资源约束条件的最优子网(第一候选子网),以及在第二超网中确定满足资源约束条件的最优子网(第二候选子网)。由于第一候选子网和第二候选子网均满足所述资源约束条件,并且所述第一候选子网和所述第二候选子网为尺寸不同的两个神经网络。因此,尺寸较大的候选子网具有更强的特征表达能力,而尺寸较小的候选子网具有更轻量的网络结构。基于所述第一候选子网和所述第二候选子网,通过自监督蒸馏训练即可得到目标子网,使得该目标子网同时具有轻量化结构以及较强的特征表达能力。由此,本发明实施例直接通过预置得分评价每个子网,一个子网的预置得分根据该子网在一批中的每个输入数据上的梯度计算得到,可以体现子网对不同类别的特征表达能力的强弱,而不用训练超网,节省了神经网络中极为耗时的前向与反向计算过程,极大程度降低了搜索成本,可以快速搜索得到目标子网。所述目标子网能够适用于资源有限的硬件设备且具有较强的特征表达能力的。进一步地,本发明实施例的神经网络搜索方法不用训练超网,也就不需要共享权重,而是对每个子网单独计算预置得分,通过预置得分可以更加快速的反映子网的精准度,还可以避免因超网训练带来的权重共享的干扰,导致最终搜索的子网等级排列一致性较差的问题,从而可以提高目标子网的精准度,进而提高目标任务模型的精准度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1所对应实施例中神经网络搜索方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种神经网络搜索方法、神经网络搜索装置和机器可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种神经网络搜索方法,其特征在于,所述方法包括:
构建第一超网和第二超网;所述第一超网和所述第二超网具有共享搜索空间,但具有不同的宽度和/或深度;
对所述第一超网的各子网计算预置得分,以及对所述第二超网的各子网计算预置得分;一个子网的预置得分根据该子网在一批样本数据中每个样本数据上的梯度计算得到;
基于所述第一超网的各子网的预置得分,确定第一候选子网;以及基于所述第二超网的各子网的预置得分,确定第二候选子网;
基于所述第一候选子网和所述第二候选子网,训练得到目标子网;
所述方法还包括:
在目标设备中部署训练完成的目标任务模型,利用所述目标任务模型执行目标任务;所述目标任务模型中包含所述目标子网,所述目标子网用于对所述目标任务模型的输入进行特征提取;所述目标任务包括图像分类任务、用于检测图像中的目标的目标检测任务、以及图像分割任务中的任意一种;
所述基于所述第一候选子网和所述第二候选子网,训练得到目标子网,包括:
从第一数据集中获取当前数据,对所述当前数据分别进行两种不同的数据增强操作,得到两个增强后的数据;所述第一数据集中包括无标注数据;
将所述两个增强后的数据分别输入所述第一候选子网和所述第二候选子网提取特征,得到第一特征和第二特征;
将所述第一特征输入辅助网络,通过所述辅助网络输出第三特征;所述辅助网络包括特征映射层和预测层;所述特征映射层用于将所述第一特征映射到隐层特征空间;所述预测层用于对特征映射层的输出结果进行处理,将学习到的分布特征表示映射到样本标记空间,输出第三特征;
根据所述第三特征和所述第二特征的相似度,更新所述第一候选子网的参数、所述第二候选子网的参数和所述辅助网络的参数;进入下一轮迭代;
在满足迭代停止条件时,得到目标子网。
2.根据权利要求1所述的方法,其特征在于,通过如下步骤确定目标候选子网:
在目标超网的各子网的预置得分中确定分数最高的为目标候选子网;
或者,
基于目标超网的各子网的预置得分,利用进化算法确定目标候选子网;
其中,所述目标超网为第一超网,所述目标候选子网为第一候选子网;或者,所述目标超网为第二超网,所述目标候选子网为第二候选子网。
3.根据权利要求2所述的方法,其特征在于,所述基于目标超网的各子网的预置得分,利用进化算法确定目标候选子网,包括:
对目标超网随机采样子网,得到初始化种群;
计算所述初始化种群中第一数量的子网的预置得分;
在当前一轮的进化算法中,在当前种群中预置得分最高的第二数量的子网中随机选择子网进行至少一种变换操作,若变换后的子网不满足资源约束条件,则重新选择子网,直至每种变换操作得到的变换后的子网的数量到达第三数量,且变换后的子网均满足所述资源约束条件;将每种变换操作得到的所述第三数量的子网组成新的种群,进入下一轮进化算法;
在所述进化算法执行预设次数时,将最后一次得到的种群中预置得分最高的子网确定为目标候选子网。
4.根据权利要求3所述的方法,其特征在于,所述变换操作包括变异操作和/或交叉操作。
5.根据权利要求1所述的方法,其特征在于,所述构建第一超网和第二超网,包括:
基于目标设备的资源约束条件构建基础网络;所述基础网络具有基础宽度和基础深度;
对所述基础网络进行缩放处理得到第一尺寸网络和第二尺寸网络;所述第一尺寸网络和所述第二尺寸网络具有不同的宽度和/或深度;
基于所述第一尺寸网络和第二尺寸网络分别构建共享搜索空间,得到第一超网和第二超网。
6.根据权利要求5所述的方法,其特征在于,所述对所述基础网络进行缩放处理得到第一尺寸网络和第二尺寸网络,包括:
基于第一宽度缩放因子对所述基础网络的基础宽度进行变换,得到第一尺寸网络;以及基于第二宽度缩放因子对所述基础网络的基础宽度进行变换,得到第二尺寸网络;或者,
基于第一深度缩放因子对所述基础网络的基础深度进行变换,得到第一尺寸网络;以及基于第二深度缩放因子对所述基础网络的基础深度进行变换,得到第二尺寸网络;或者,
基于第一宽度缩放因子和第一深度缩放因子对所述基础网络的基础宽度和基础深度进行变换,得到第一尺寸网络;以及基于第二宽度缩放因子和第二深度缩放因子对所述基础网络的基础宽度和基础深度进行变换,得到第二尺寸网络。
7.根据权利要求1所述的方法,其特征在于,通过如下步骤计算当前子网的预置得分:
根据当前子网在一批样本数据中每个样本数据上的梯度,计算所述一批样本数据中每个类别下的样本数据的梯度的平均值;
根据所述平均值,计算每个类别对应的协方差矩阵;
根据所述协方差矩阵,计算每个类别对应的相关性矩阵;
将所述每个类别对应的相关性矩阵进行求和,得到所述当前子网的预置得分。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标子网作为主干网络加载至目标任务模型中,所述目标任务模型的网络结构包括主干网络、多层次特征抽取网络和头部预测网络;
利用第二数据集对所述目标任务模型中的所述多层次特征抽取网络的参数和所述头部预测网络的参数进行更新;所述第二数据集中包括有标注数据。
9.一种神经网络搜索装置,其特征在于,所述装置包括:
超网构建模块,用于构建第一超网和第二超网;所述第一超网和所述第二超网具有共享搜索空间,但具有不同的宽度和/或深度;
得分计算模块,用于对所述第一超网的各子网计算预置得分,以及对所述第二超网的各子网计算预置得分;一个子网的预置得分根据该子网在一批样本数据中每个样本数据上的梯度计算得到;
候选确定模块,用于基于所述第一超网的各子网的预置得分,确定第一候选子网;以及基于所述第二超网的各子网的预置得分,确定第二候选子网;
目标训练模块,用于基于所述第一候选子网和所述第二候选子网,训练得到目标子网;
所述装置还包括:
部署执行模块,用于在目标设备中部署训练完成的目标任务模型,利用所述目标任务模型执行目标任务;所述目标任务模型中包含所述目标子网,所述目标子网用于对所述目标任务模型的输入进行特征提取;所述目标任务包括图像分类任务、用于检测图像中的目标的目标检测任务、以及图像分割任务中的任意一种;
所述目标训练模块,包括:
数据增强子模块,用于从第一数据集中获取当前数据,对所述当前数据分别进行两种不同的数据增强操作,得到两个增强后的数据;所述第一数据集中包括无标注数据;
特征提取子模块,用于将所述两个增强后的数据分别输入所述第一候选子网和所述第二候选子网提取特征,得到第一特征和第二特征;
辅助映射子模块,用于将所述第一特征输入辅助网络,通过所述辅助网络输出第三特征;所述辅助网络包括特征映射层和预测层;所述特征映射层用于将所述第一特征映射到隐层特征空间;所述预测层用于对特征映射层的输出结果进行处理,将学习到的分布特征表示映射到样本标记空间,输出第三特征;
迭代更新子模块,用于根据所述第三特征和所述第二特征的相似度,更新所述第一候选子网的参数、所述第二候选子网的参数和所述辅助网络的参数;进入下一轮迭代;在满足迭代停止条件时,得到目标子网。
10.一种机器可读存储介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至8中任一所述的神经网络搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310618700.6A CN116362294B (zh) | 2023-05-30 | 2023-05-30 | 一种神经网络搜索方法、装置和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310618700.6A CN116362294B (zh) | 2023-05-30 | 2023-05-30 | 一种神经网络搜索方法、装置和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116362294A CN116362294A (zh) | 2023-06-30 |
CN116362294B true CN116362294B (zh) | 2023-09-12 |
Family
ID=86928423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310618700.6A Active CN116362294B (zh) | 2023-05-30 | 2023-05-30 | 一种神经网络搜索方法、装置和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116362294B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117114053A (zh) * | 2023-08-24 | 2023-11-24 | 之江实验室 | 基于结构搜索和知识蒸馏的卷积神经网络模型压缩方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114239800A (zh) * | 2021-12-08 | 2022-03-25 | 阿里巴巴达摩院(杭州)科技有限公司 | 神经网络结构搜索方法、装置、电子设备及存储介质 |
CN114612774A (zh) * | 2022-02-25 | 2022-06-10 | 共达地创新技术(深圳)有限公司 | 目标检测及其模型构建方法、电子设备和存储介质 |
CN115906986A (zh) * | 2022-12-09 | 2023-04-04 | Oppo(重庆)智能科技有限公司 | 网络搜索方法及装置、电子设备、存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11521028B2 (en) * | 2020-04-10 | 2022-12-06 | Toyota Research Institute, Inc. | Meta-learning neural architecture search via graph networks on search space lattices |
US20220036194A1 (en) * | 2021-10-18 | 2022-02-03 | Intel Corporation | Deep neural network optimization system for machine learning model scaling |
-
2023
- 2023-05-30 CN CN202310618700.6A patent/CN116362294B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114239800A (zh) * | 2021-12-08 | 2022-03-25 | 阿里巴巴达摩院(杭州)科技有限公司 | 神经网络结构搜索方法、装置、电子设备及存储介质 |
CN114612774A (zh) * | 2022-02-25 | 2022-06-10 | 共达地创新技术(深圳)有限公司 | 目标检测及其模型构建方法、电子设备和存储介质 |
CN115906986A (zh) * | 2022-12-09 | 2023-04-04 | Oppo(重庆)智能科技有限公司 | 网络搜索方法及装置、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
神经网络搜索综述;李涛;;电脑知识与技术(17);第183-184页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116362294A (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108197326B (zh) | 一种车辆检索方法及装置、电子设备、存储介质 | |
CN112990211B (zh) | 一种神经网络的训练方法、图像处理方法以及装置 | |
Ashok Kumar et al. | Enhanced facial emotion recognition by optimal descriptor selection with neural network | |
CN111382868A (zh) | 神经网络结构搜索方法和神经网络结构搜索装置 | |
CN109033107A (zh) | 图像检索方法和装置、计算机设备和存储介质 | |
CN108596240B (zh) | 一种基于判别特征网络的图像语义分割方法 | |
CN116362294B (zh) | 一种神经网络搜索方法、装置和可读存储介质 | |
CN113673749B (zh) | 车辆行人地图轨迹预测方法及装置 | |
CN113807399A (zh) | 一种神经网络训练方法、检测方法以及装置 | |
CN115018039A (zh) | 一种神经网络蒸馏方法、目标检测方法以及装置 | |
CN115953643A (zh) | 基于知识蒸馏的模型训练方法、装置及电子设备 | |
CN113806582A (zh) | 图像检索方法、装置、电子设备和存储介质 | |
CN116012880A (zh) | 分布式边缘协同推理的行人重识别方法、系统及装置 | |
Palle et al. | Automated image and video object detection based on hybrid heuristic-based U-net segmentation and faster region-convolutional neural network-enabled learning | |
CN111079900B (zh) | 一种基于自适应连接神经网络的图像处理方法及装置 | |
CN115965968A (zh) | 基于知识引导的小样本目标检测识别方法 | |
CN116524261A (zh) | 一种基于多模态小样本持续学习的图像分类方法及产品 | |
CN116188785A (zh) | 运用弱标签的PolarMask老人轮廓分割方法 | |
CN116958729A (zh) | 对象分类模型的训练、对象分类方法、装置及存储介质 | |
CN115661539A (zh) | 一种嵌入不确定性信息的少样本图像识别方法 | |
CN114565791A (zh) | 一种人物档案识别方法、装置、设备及介质 | |
Fatty et al. | Instance segmentation based building extraction in a dense urban area using multispectral aerial imagery data | |
CN117853875B (zh) | 一种细粒度图像识别方法及系统 | |
Du et al. | One-stage object detection with graph convolutional networks | |
JP2023091486A (ja) | 情報処理装置、情報処理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |