CN112200223A - 图像识别网络构建方法、装置、设备及介质 - Google Patents
图像识别网络构建方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112200223A CN112200223A CN202011004261.2A CN202011004261A CN112200223A CN 112200223 A CN112200223 A CN 112200223A CN 202011004261 A CN202011004261 A CN 202011004261A CN 112200223 A CN112200223 A CN 112200223A
- Authority
- CN
- China
- Prior art keywords
- network
- training
- module
- layer
- original neural
- 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
- 238000010276 construction Methods 0.000 title claims description 28
- 238000012549 training Methods 0.000 claims abstract description 167
- 238000013528 artificial neural network Methods 0.000 claims abstract description 154
- 238000000034 method Methods 0.000 claims abstract description 86
- 230000008569 process Effects 0.000 claims abstract description 54
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 20
- 230000000717 retained effect Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 210000000887 face Anatomy 0.000 description 3
- 101150064138 MAP1 gene Proteins 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种图像识别网络构建方法、装置、设备及介质,所述方法包括:创建原始神经网络,所述原始神经网络包括多层网络结构,每层网络结构包括多个具有搜索参数的网络模块,且每层网络结构的输入端与输出端之间设置有残差分支;以第一图像样本集为训练样本,对所述原始神经网络进行训练,并更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数;在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块;在满足训练结束条件时,根据多个目标网络模块确定图像识别网络。
Description
技术领域
本发明涉及深度学习技术领域,特别是涉及一种图像识别网络构建方法、装置、设备及介质。
背景技术
深度学习技术由于其速度快、准确率高的优势,被广泛应用于计算机视觉领域。而对深度学习来说,神经网络架构的设计则是决定其效果的最主要因素。由于当前深度学习理论的发展尚不完善,想要设计出理想的神经网络架构,不仅需要设计者丰富的知识和深入的理解,还需要大量的探索性实验。这需要大量的时间成本、人力成本与计算资源。近年来,NAS(Neural Architecture Search,神经网络架构搜索)作为一种自动化设计网络架构的方法,其应用较好地解决了上述问题。
相关技术中,在搜索用于图像识别的图像识别网络中,主流的NAS算法一般是基于SuperNet(超网络)的神经网络架构搜索方法。该方法会构建并训练一个涵盖搜索空间中所有子结构的SuperNet用以评估子结构,从而得到图像识别网络。虽然该方法搜索速度较快,效果较好,但是只能搜索到浅层网络,且该方法显存占用大,无法对较大的网络结构进行搜索,导致搜索出来的图像识别网络并不是最佳的网络结构。
发明内容
鉴于上述问题,提出了本发明实施例的一种图像识别网络构建方法、装置、***、设备及介质,以便克服上述问题或者至少部分地解决上述问题。
为了解决上述问题,本发明的第一方面公开了一种图像识别网络构建方法,所述方法包括:
创建原始神经网络,所述原始神经网络包括多层网络结构,每层网络结构包括多个具有搜索参数的网络模块,且每层网络结构的输入端与输出端之间设置有残差分支;
以第一图像样本集为训练样本,对所述原始神经网络进行训练,并更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数;
在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块;
在满足训练结束条件时,根据多个所述目标网络模块确定图像识别网络。
可选地,在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,包括:
在对所述原始神经网络进行训练的过程中,每隔预设训练次数,根据每层网络结构包括的各个网络模块各自当前的搜索参数,保留所述目标网络模块;
保持所述目标网络模块的当前搜索参数不变,对所述原始神经网络中除所述目标网络模块外的其他网络模块各自的搜索参数进行初始化,并继续对所述原始神经网络进行训练。
可选地,继续对所述原始神经网络进行训练,包括:
除所述目标网络模块所在的目标层网络结构外,从所述原始神经网络中剩余的各层网络结构中分别确定待训练网络模块;
对所述目标网络模块和所确定的多个待训练网络模块组成的神经网络进行训练。
可选地,在满足训练结束条件时,根据多个所述目标网络模块确定图像识别网络,包括:
在训练结束时,将所述原始神经网络中除多个所述目标网络模块外的其他网络模块丢弃,得到由多个所述目标网络模块组成的图像识别网络。
可选地,更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数,包括:
在每次训练完成后,保持该次训练期间每层网络结构所包括的多个网络模块各自的搜索参数不变,更新所述原始神经网络的参数;
保持所述原始神经网络的本次更新后的参数不变,更新每层网络结构所包括的多个网络模块各自的搜索参数。
可选地,在根据多个所述目标网络模块确定图像识别网络络之后,所述方法还包括:
以第二图像样本集为训练样本,对所述图像识别网络进行训练,得到用于进行图像识别的图像识别模型。
可选地,每层网络结构包括的多个网络模块各自的内部结构互不相同;和/或
每层网络结构包括的多个网络模块的输入端均分别与上一层网络结构的输出端相连,且每层网络结构包括的多个网络模块的输出端均分别与下一层网络结构的输入端相连。
本发明实施例的第二方面,还公开了一种图像识别网络构建装置,所述装置包括:
原始神经网络创建模块,用于创建原始神经网络,所述原始神经网络包括多层网络结构,每层网络结构包括多个具有搜索参数的网络模块,且每层网络结构的输入端与输出端之间设置有残差分支;
参数更新模块,用于以第一图像样本集为训练样本,对所述原始神经网络进行训练,并更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数;
筛选模块,用于在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块;
确定模块,用于在满足训练结束条件时,根据多个所述目标网络模块确定图像识别网络。
本发明实施例的第三方面,还公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如本发明第一方面实施例所述的图像识别网络构建方法。
本发明实施例的第四方面,还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明第一方面实施例所述的图像识别网络构建方法。
本发明实施例包括以下优点:
在本发明实施例中,创建的原始神经网络中可以包括多层网络结构,每一层网络结构包括多个网络模块,其中,每个网络模块具有搜索参数、每层网络结构的输入端和输出端之间具有残差分支。在对原始神经网络进行训练的过程中,可以更新原始神经网络的参数和多个网络模块各自的搜索参数,同时,可以根据多个网络模块各自的搜索参数,将当前搜索参数值最大的网络模块的网络模块确定为目标网络模块,进而在训练结束时,可以根据多个目标网络模块确定图像识别网络。
本发明实施例中,由于在对原始神经网络进行训练的同时,也逐步完成了对目标网络模块的搜索,即可以完成图像识别网络的搜索,因此提高了网络搜索效率。又由于每层网络结构具有残差分支,使得原始神经网络能被训练的深度增加,提高了搜索深度,能够搜索到准确率更高的图像识别网络。此外在对原始神经网络进行训练的过程中,可以更新每个网络模块的搜索参数,并依据每个网络模块的搜索参数筛选出目标网络模块,使得被保留作为图像识别网络的各个目标网络模块都是性能较佳的网络模块,从而提高了最终得到的图像识别网络进行图像识别的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例的一种图像识别网络构建方法的步骤流程图;
图2是本发明一实施例创建的一种原始神经网络的结构示意图;
图3是本发明一实施例的图像识别网络构建方法的构建过程示意图;
图4是本发明一实施例中在图2所示的原始神经网络中搜索出的图像识别网络的结构示意图;
图5是本发明又一实施例的图像识别网络构建方法的构建过程示意图;
图6是本发明一实施例中的一种图像识别网络构建装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,基于SuperNet(超网络)的方法会构建并训练一个涵盖搜索空间中所有子结构的SuperNet用以评估子结构,该方法搜索速度较快,效果较好,但倾向于搜索到浅层网络,无法在网络宽度和网络深度的搜索上达到理想效果,导致了搜索出来的神经网络结构并不是最佳的网络结构。
有鉴于此,本发明人对基于SuperNet的神经网络架构搜索方法进行了改进:为每层网络引入多个并行的网络模块,并为整个网络中所有的网络模块添加搜索参数,通过训练SuperNet与搜索网络架构同时进行的方式,使得在训练SuperNet的过程中,融合对神经网络中网络模块、网络宽度和网络深度的搜索,从而自动化地搜索出了最佳的图像识别网络,以在提高搜索深度的基础上,提高搜索效率。
下面,对本发明实施例的一种图像识别网络构建方法进行详细说明。
参照图1、图2和图3所示,图1示出了一种实施例的图像识别网络构建方法的步骤流程图,图2示出了本申请创建的一种原始神经网络的结构示意图,在对该原始神经网络进行训练的过程中,从该原始神经网络中搜索出图像识别网络。图3示出了本申请的图像识别网络构建方法的构建过程示意图,旨在对原始神经网络进行训练的过程中,逐步搜索出目标网络模块,以得到训练结束时搜索出的目标网络模块所构成的图像识别网络。
如图1所示,所述的图像识别网络构建方法具体可以包括以下步骤:
步骤101:创建原始神经网络,所述原始神经网络包括多层网络结构,每层网络结构包括多个携带搜索参数的网络模块,且每层网络结构的输入端与输出端之间设置有残差分支。
其中,原始神经网络的最后一层是一个全连接层,该全连接层可以输出输入的图片属于各个类别的概率。具体地,该类别可以根据图像识别任务而确定。
如图2所示,该原始神经网络中可以包括多层网络结构,如图中101至10n所示,每一层网络结构中都包括多个网络模块,其中,每层网络结构的输入端与输出端之间设置的残差分支可以用于将该层网络结构的输入直接输出,在神经网络的最后一层是全连接层FC。其中,每个网络模块都附带搜索参数,该搜索参数可以在训练该原始神经网络的过程中进行更新。
本实施例中,一个网络模块的搜索参数可以作为保留该网络模块和丢弃该网络模块的依据,即,实际中,该搜索参数可以反映在整个原始神经网络的训练过程中网络模块对于图像识别的重要性。
其中,在一些实施例中,每层网络结构所包括的多个网络模块是彼此并行的,即每层网络结构包括的多个网络模块的输入端均分别与上一层网络结构的输出端相连,且每层网络结构包括的多个网络模块的输出端均分别与下一层网络结构的输入端相连。这样,使得每层网络结构的网络模块之间相互独立。
以如图2为例,网络结构101中的网络模块a1和网络模块a2的输入端均与输入input连接,网络模块a1和网络模块a2的输出端均与网络结构102的输入端连接。
其中,每层网络结构包括的多个网络模块各自的内部结构也可以互不相同,例如,网络结构102中的网络模块b1至网络模块bm的内部结构可以互不相同。网络模块的内部结构可以是指网络模块的内部参数、卷积核数量以及卷积核的尺寸等,不同内部结构的网络模块意味着进行特征图处理的方式可以不同,进而可以获得不同的特征图。这样一来,可以提高原始神经网络的内部结构的多样性,便于搜索出较佳的图像识别网络。
当然在具体实现中,每个网络模块采用何种内部结构可以根据需求进行设置,同时,每层网络结构包括的网络模块的数量也可以根据需求进行确定。其中,不同层网络结构所包括的网络模块的数量可以不同、也可以相同。例如,网络结构101至网络结构10n所包括的网络模块的数量可以各不相同,实际中,可以根据训练的需求确定网络模块的数量,本申请不对每层网络结构的网络模块的数量进行严格限制。但是,通常情况下,为使训练更充分,一层网络结构中的网络模块的数量不会设置的过多。
步骤102:以第一图像样本集为训练样本,对所述原始神经网络进行训练,并更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数。
本实施例中,第一图样样本集中可以包括针对同一图像识别任务的多张样本图像,根据实际训练需求,每张样本图像可以携带标签。
其中,本发明的图像识别任务可以是人脸图像识别任务、图像分类任务、属性识别任务、指纹图像识别任务、虹膜图像识别任务等。则相应地,针对人脸图像识别任务,第一图像样本集中便可以包括多个来自不同人脸或同一人脸的人脸图像;针对属性识别任务,第一图像样本集中便可以包括多个具有不同属性的样本图像;针对指纹图像识别任务,第一图像样本集中便可以包括多个来自不同手指或同一手指的指纹图像;针对虹膜图像识别任务,第一图像样本集中便可以包括多个来自不同眼睛或同一眼睛的虹膜图像。
本实施例中,针对不同的图像识别任务,可以按照对应的模型训练方法对所述原始神经网络进行训练。并根据每次训练确定出该原始神经网络的损失值,根据损失值,更新原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数。
其中,在对原始神经网络进行训练之前,可以将该原始神经网络中的每个网络模块的搜索参数设置为初始参数,即对每个网络模块的搜索参数进行初始化,之后,在训练原始神经网络的过程中,便可以根据每次训练的损失值,对每个网络模块的搜索参数进行更新,更新后的搜索参数可以反映该网络模块在已经历的多次训练中对图像进行识别的重要性。其中,搜索参数值越大则重要性越强。
步骤103:在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块。
其中,在对原始神经网络进行训练的过程中,可以每N次根据各个网络模块各自的搜索参数,确定目标网络模块。实际中,当确定好目标网络模块后,该目标网络模块的搜索参数可以固定,即在后续训练中,不再对目标网络模块的搜索参数进行更新,如此,可以在训练过程中,不断增加目标网络模块的数量。
在又一种示例中,可以在对原始神经网络进行训练时,可以针对原始神经网络中的部分网络模块构成的子神经网络进行训练,其中,不同次下针对的子神经网络可以不同,即,第n次训练针对的子神经网络与第m次训练针对的子神经网络可以不同。其中,子神经网络可以是指由各层网络结构中被筛选出的部分网络模块构成,这样,可以减小对原始神经网络进行训练的网络深度,从而提高训练效率。
其中,每次训练时所针对的网络模块,可以是随机筛选出的,或者是根据每层网络结构中搜索参数的大小计算该层网络结构中可选网络模块被采样的概率,以这个概率对该层网络结构选择哪个网络模块进行采样出的。
本实施例中,在对原始神经网络进行训练的过程中,可以是对原始神经网络中被筛选出的不同网络模块构成的神经网络进行训练,在每次训练结束时,便可以更新搜索参数。进而可以每次或每多次便根据搜索参数确定目标网络模块,其中,被选中保留的目标网络模块即是搜索出的性能较佳的模块,可以保留作为最终的图像识别网络。
具体而言,被保留的目标网络模块的搜索参数是满足一定参数条件的网络模块,例如,是搜索参数值最大的网络模块,或搜索参数值达到预设值的网络模块,其中,每层网络结构中被保留的目标网络模块的数量可以不同。
如图3所示,图3-a是初次训练的示意图、图3-b是初次训练之后第n次训练的示意图,图3-c是最后一次训练时的示意图。其中,在图3中,实线框出的网络模块所示即为筛选出的可以用于被训练的网络模块,input表示原始神经网络的输入,该输入依次经实线箭头所指出的训练路径,最后成为本次训练的输出output。每层网络结构输出的特征图和输入到该层网络结构的特征图之和作为下一层网络结构的输入。如图3所示,特征图1便是网络结构101的输出,特征图j便是网络结构102的输出与特征图1之和后的特征图。
如图3-b和如图3-c所示,在图3-b和图3-c中用灰色填充的网络模块便是目标网络模块,可见,随着训练次数的不断增加,被保留的目标网络模块逐渐增多,这样,在训练过程中对网络结构的搜索,便可以理解为是渐进生长的搜索方式,即目标网络模块的数量在训练过程中不断增多,直至训练结束时,便得到了最佳的网络结构(即图像识别网络)。
步骤104:在满足训练结束条件时,根据多个所述目标网络模块确定图像识别网络。
本实施例中,训练结束条件可以是指训练过程中的损失值小于预设阈值,或者,训练次数达到预设次数,或者识别结果满足预设识别结果,或者目标网络模块所构成的网络的网络结构大小达到计算量限制为止。
在训练结束后,在一些示例中,可以保留目标网络模块,而将所有网络结构中除所述目标网络模块外的其他网络模块丢弃,进而目标网络模块和神经网络中的残差分支、全连接层构成图像识别网络,在该图像识别网络中保留目标网络模块之间的原有连接关系。
其中,在图像识别网络中被保留的目标网络模块所位于的网络结构的位置可以不变,实际中也会出现某一层或某几层网络结构中没有目标网络模块的情况,此种情况下,则可以丢弃该某一层或某几层网络结构,这样,得到的图像识别网络的网络结构的层数便可以小于原始神经网络所具有的网络结构的层数,即图像识别网络的网络深度可以小于原始神经网络的网络深度。
其中,搜索得到的图像识别网络本身训练可能并不充分,实际中,可以为了使得该图像识别网络在后续使用过程中可以提高图像识别的效率,可以对该图像识别网络进行重新训练或继续微调。
本发明实施中,在训练结束后的原始神经网络中多个被保留的网络模块即可以构成图像识别网络。
在一些实施例中,在训练过程中,可以对确定的目标网络模块进行标记,这样,在训练结束后,便可以将被标记的多个目标网络模块、残差连接和最后的连接层确定为图像识别网络。
参照图4所示,示出了在图2所示的原始神经网络中搜索出的图像识别网络的结构示意图。可见,图3-b中被保留的目标网络模块位于网络结构102中,则在图像识别网络中,该被保留的目标网络模块b2也是位于网络结构102中,且每层网络结构的残差分支也被保留。
本发明实施例,由于为每个网络模块配置了搜索参数,在训练原始神经网络的过程中,对原始神经网络的参数进行更新的同时,还可以对每个网络模块的搜索参数进行更新,同时,根据每个网络模块的搜索参数,可以对每个网络进行保留或丢弃,进而使得在训练原始神经网络的过程中,逐渐地搜索出了最佳的图像识别网络,提高了搜索效率。
实验表明,以图像识别任务是图像分类任务为例,在相同的计算量和计算时延限制下,采用本实施例提供的方法搜索到的图像识别网络能够得到更高的图像分类准确率。
参照图3所示,在一些实施例中,在根据每层网络结构包括的各个网络模块各自的搜索参数保留或丢弃每层网络结构包括的每个网络模块时,可以每隔预设训练次数,根据每层网络结构包括的各个网络模块各自当前的搜索参数,保留目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块。
本实施方式中,保留的目标网络模块的搜索参数可以是整个原始神经网络中搜索参数值最大的网络模块。在实际中,若搜索参数值最大的网络模块是多个时,可以将该多个网络模块均保留。
其中,每隔预设训练次数,便可以保留一次目标网络模块,例如,每5轮次训练结束便保留一次目标网络模块时,假设对原始神经网络的训练次数共有100轮次,每隔5轮次保留一次网络模块,共进行20轮次的网络模块的保留。
相应地,为了使得在根据搜索参数保留目标网络模块的过程中,提高搜索稳定性,即减小被保留的网络模块在之后训练过程中的搜索参数的变动性,可以在每次保留目标网络模块后,保持该目标网络模块的当前搜索参数不变,并对所述原始神经网络中除所述目标网络模块外的其他网络模块各自的搜索参数进行初始化,以继续对所述原始神经网络进行训练。
以图3-b为例,在第n次训练结束时,网络模块b2由于搜索参数最大因此被保留,便可以将网络模块b2的搜索参数进行固定或者去除,以使在后续的训练过程中,对网络模块b2的搜索参数不进行更新,而将原始神经网络中的其他网络模块的搜索参数进行初始化,即可以将这些网络模块的搜索参数均设置为与初次训练时各网络模块具有的初始搜索参数值。在此后的第n+1次训练中,便可以对其他网络模块的搜索参数进行更新。
采用本实施例的技术方案时,每个被保留的目标网络模块的搜索参数均可以被固定或去除,这样,即使目标网络模块在后续训练过程中被用于训练,其搜索参数也不再被更新,从而保证了网络结构搜索的稳定性。
在又一些实施例中,被保留的目标网络模块仍然可以用于参与后续训练过程,即在第n次训练中确定出的目标网络模块,可以参与到第n+1次的训练。这样,可以提高对被目标网络模块的训练次数,从而使得被保留的网络模块的图像识别性能更优。
具体而言,在保留目标网络模块,继续对所述原始神经网络进行训练时,可以在除所述目标网络模块所在的目标层网络结构外,从所述原始神经网络中剩余的各层网络结构中分别确定待训练网络模块;对所述目标网络模块和所确定的多个待训练网络模块组成的神经网络进行训练。
具体地,在每次或每多次保留目标网络后,可以对从原始神经网络中筛选出的多个网络模块所构成的子神经网络进行训练,其中,被筛选出的用于训练的多个网络模块可以包括目标网络模块和除目标网络模块之外的待训练网络模块,待训练网络模块可以是根据除目标网络模块之外的各个网络模块的搜索参数确定的。
具体实现中,可以是根据每层网络结构中搜索参数的大小计算该层网络结构中可选的网络模块被采样的概率,以这个概率对该层网络结构中除目标网络模块之外的网络模块进行采样,将采样出的网络模块确定为待训练模块,以用于本次训练。或者,可以随机地从网络结构中除目标网络模块之外的网络模块中,筛选出多个待训练网络模块,将随机筛选出的待训练网络模块用于本次训练。
如图3-a、图3-b和图3-c所示,图3-b中是第n次训练结束时的示意图,被保留的目标网络模块是b2,则在第n+1次训练时所针对的网络模块可以包括网络模块b2,同时,也包括在除网络模块b2之外的其余网络模块中筛选出来的网络模块。可见,在训练过程中,被训练的网络模块包括目标网络模块和除目标网络模块之外的其他网络模块。随着训练次数的增多,目标网络模块的数量越多。
在又一些实施例中,在训练过程中,对原始神经网络的参数和网络模块的搜索参数进行更新时,可以对多层网络结构各自的参数和每个网络模块各自的搜索参数进行交替更新,具体地,可以通过以下方式实现交替更新:
在每次训练完成后,保持该次训练期间每层网络结构所包括的多个网络模块各自的搜索参数不变,更新所述原始神经网络的参数;并保持所述原始神经网络的本次更新后的参数不变,更新每层网络结构所包括的多个网络模块各自的搜索参数。
示例地,在第n次训练完成后,可以保持各个搜索参数待更新的网络模块的当前搜索参数不变,先更新所述原始神经网络的参数。其中,搜索参数待更新的网络模块是除被保留的网络模块之外的网络模块。之后,在完成对原始神经网络的参数的更新后,可以保持原始神经网络被更新后的参数不变,再对各个搜索参数待更新的网络模块的搜索参数进行更新。
实际中,在得到了图像识别网络之后,便可以利用图像识别网络进行图像识别,但是,在一些实施例中,为了使得图像识别网络的图像识别准确率更高,即提高图像识别网络的识别性能,也可以在得到图像识别网络之后,继续对该图像识别网络进行训练。
具体地,可以以第二图像样本集为训练样本,对所述图像识别网络进行训练,得到用于进行图像识别的图像识别模型。
其中,训练图像识别网络时的图像识别任务和训练原始神经网络时的图像识别任务相同。这样,第二图像样本集可以与第一图像样本集相同,也可以是第二图像样本集中的样本图像与第一图像样本集中的样本图像的图像类型相同。
例如,训练原始神经网络的图像识别任务是人脸图像识别任务,第一图像样本集中包括多个来自不同人脸或同一人脸的人脸图像,则训练图像识别网络的图像识别任务也是人脸图像识别任务,第二图像样本集中包括多个来自不同人脸或同一人脸的人脸图像,或者,第二图像样本集实际中也可以是第一图像样本集,即采用同一个图像样本集对原始神经网络和图像识别网络进行训练。
参照图5所示,示出了本申请又一实施例的图像识别网络构建方法的构建过程示意图。在该实施例中,完整的可以包括以下步骤:
步骤501:创建原始神经网络,所述原始神经网络包括多层网络结构,每层网络结构包括多个具有搜索参数的网络模块,且每层网络结构的输入端与输出端之间设置有残差分支。
其中,该原始神经网络还包括一个被选中的网络模块集合S,并将集合S初始化为空集。
该步骤S501的过程与上述步骤S101的过程类似,在此不再赘述。
步骤502:以第一图像样本集为训练样本,对所述原始神经网络进行训练。
其中,在每次训练结束时,更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数。
并且在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块。
在本实施例中,每次训练时所针对的网络模块可以是采取随机筛选或根据搜索参数筛选相结合的方式进行筛选出的。
其中,对训练过程中搜索出图像识别网络的过程可以如图5所示,具体过程如下:
步骤S503-1,如图5所示,在第一次训练时,可以从所述原始神经网络的每层网络结构中随机筛选出用于被训练的待训练网络模块,构成初次训练的路径,如图5中第一次训练时所示,筛选出的网络模块为a3、b1和c2,训练时的特征图处理路径如图中实线箭头所示,其中,每层网络结构筛选出的网络模块可以是一个。在初次训练结束时,更新所述原始神经网络的参数后,再更新每层网络结构所包括的各个网络模块各自的搜索参数。
步骤S503-2,进行第二次训练,在进行第二次训练时,可以根据各个网络模块各自的搜索参数,再次从原始神经网络的每层网络结构中随机筛选出用于被训练的待训练网络模块,得到图5中第二次训练时实线箭头所示的训练路径(a2-b3-c3),第二次训练结束时更新所述原始神经网络的参数和每层网络结构所包括的各个网络模块各自的搜索参数。
步骤S503-3,重复上述步骤S503-2,直到完成了n次训练,此时,在第n次训练结束更新原始神经网络的参数和每层网络结构所包括的各个网络模块各自的搜索参数后,便从整个原始神经网络中筛选出搜索参数最大的目标网络模块,将该目标网络模块加入到集合S进行保留。如图5所示,第n次训练结束时的网络模块a2和网络模块b1便是被保留到集合S的目标网络模块。
接着,将该搜索参数最大的目标网络模块的搜索参数进行固定,将其余网络模块的搜索参数进行初始化。由于其余网络模块的搜索参数被初始化,此种情况下,又可以采取随机筛选的方式,从其余网络模块中随机筛选出用于第n+1次训练的网络模块,在第n+1次训练时,可以对筛选出的待训练网络模块和集合S中的目标网络模块进行训练。如图5中第n+1次训练时的示意图所示,实线箭头示出了第n+1次训练时的训练路径((a1、a2)-(b1、b3)-c2),其中,网络模块a2和网络模块b1也被用于第n+1次训练。
步骤S503-4,重复执行上述步骤S503-3,直至训练结束,集合S中的目标网络模块始终可以参与到后续的训练过程中,即每次训练时针对的网络模块都包括集合S中的目标网络模块。其中,每n次更新便将搜索参数值最大的目标网络模块加入到集合S,可以同时将集合S外的网络模块的搜索参数进行初始化。而在更新网络模块的搜索参数时,可以保持集合S中目标网络模块的搜索参数不变,只对集合S外的网络模块的搜索参数进行更新。
步骤504:将训练结束后的原始神经网络,确定为图像识别网络。
本实施例中,重复执行上述步骤S503-3直到集合S中的目标网络模块所对应的图像识别网络的网络结构大小达到计算量限制为止,便可以停止训练,即训练结束,此时保留集合S中的目标网络模块与原始神经网络中的残差连接,将其余网络模块丢弃,即可得到图像识别网络。
进一步地,便可以对该图像识别网络进行训练,从而得到图像识别模型。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
基于同一发明构思,本发明还提出了一种图像识别网络构建装置,参照图6所示,示出了图像识别网络构建装置的结构示意图,所述装置具体可以包括以下模块:
原始神经网络创建模块601,用于创建原始神经网络,所述原始神经网络包括多层网络结构,每层网络结构包括多个具有搜索参数的网络模块,且每层网络结构的输入端与输出端之间设置有残差分支;
参数更新模块602,用于以第一图像样本集为训练样本,对所述原始神经网络进行训练,并更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数;
筛选模块603,用于在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块;
确定模块604,用于在满足训练结束条件时,根据多个所述目标网络模块确定图像识别网络。
可选地,所述筛选模块603,具体可以包括以下单元:
保留单元,用于在对所述原始神经网络进行训练的过程中,每隔预设训练次数,根据每层网络结构包括的各个网络模块各自当前的搜索参数,保留所述目标网络模块;
参数处理单元,用于保持所述目标网络模块的当前搜索参数不变,对所述原始神经网络中除所述目标网络模块外的其他网络模块各自的搜索参数进行初始化,并继续对所述原始神经网络进行训练。
可选地,所述装置还可以包括以下模块:
筛选模块,用于除所述目标网络模块所在的目标层网络结构外,从所述原始神经网络中剩余的各层网络结构中分别确定待训练网络模块;
继续训练模块,用于对所述目标网络模块和所确定的多个待训练网络模块组成的神经网络进行训练。
可选地,所述确定模块604,具体用于在训练结束时,将所述原始神经网络中除多个所述目标网络模块外的其他网络模块丢弃,得到由多个所述目标网络模块组成的图像识别网络。
可选地,所述参数更新模块602,具体可以包括以下单元:
第一更新单元,用于在每次训练完成后,保持该次训练期间每层网络结构所包括的多个网络模块各自的搜索参数不变,更新所述原始神经网络的参数;
第二更新单元,用于保持所述原始神经网络的本次更新后的参数不变,更新每层网络结构所包括的多个网络模块各自的搜索参数。
可选地,所述装置还可以包括以下模块:
识别网络训练模块,用于以第二图像样本集为训练样本,对所述图像识别网络进行训练,得到用于进行图像识别的图像识别模型。
可选地,每层网络结构包括的多个网络模块各自的内部结构互不相同;和/或
每层网络结构包括的多个网络模块的输入端均分别与上一层网络结构的输出端相连,且每层网络结构包括的多个网络模块的输出端均分别与下一层网络结构的输入端相连。
本发明实施例还提供了一种电子设备,该电子设备可以用于执行图像识别网络构建方法,可以包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器被配置为执行所述的图像识别网络构建方法。
本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的图像识别网络构建方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种图像识别网络构建方法、装置、设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种图像识别网络构建方法,其特征在于,所述方法包括:
创建原始神经网络,所述原始神经网络包括多层网络结构,每层网络结构包括多个具有搜索参数的网络模块,且每层网络结构的输入端与输出端之间设置有残差分支;
以第一图像样本集为训练样本,对所述原始神经网络进行训练,并更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数;
在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块;
在满足训练结束条件时,根据多个所述目标网络模块确定图像识别网络。
2.根据权利要求1所述的方法,其特征在于,在对所述
原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,包括:
在对所述原始神经网络进行训练的过程中,每隔预设训练次数,根据每层网络结构包括的各个网络模块各自当前的搜索参数,保留所述目标网络模块;
保持所述目标网络模块的当前搜索参数不变,对所述原始神经网络中除所述目标网络模块外的其他网络模块各自的搜索参数进行初始化,并继续对所述原始神经网络进行训练。
3.根据权利要求2所述的方法,其特征在于,继续对所述原始神经网络进行训练,包括:
除所述目标网络模块所在的目标层网络结构外,从所述原始神经网络中剩余的各层网络结构中分别确定待训练网络模块;
对所述目标网络模块和所确定的多个待训练网络模块组成的神经网络进行训练。
4.根据权利要求1-3任一项所述的方法,其特征在于,在满足训练结束条件时,根据多个所述目标网络模块确定图像识别网络,包括:
在训练结束时,将所述原始神经网络中除多个所述目标网络模块外的其他网络模块丢弃,得到由多个所述目标网络模块组成的图像识别网络。
5.根据权利要求1-4任一项所述的方法,其特征在于,更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数,包括:
在每次训练完成后,保持该次训练期间每层网络结构所包括的多个网络模块各自的搜索参数不变,更新所述原始神经网络的参数;
保持所述原始神经网络的本次更新后的参数不变,更新每层网络结构所包括的多个网络模块各自的搜索参数。
6.根据权利要求1-5任一项所述的方法,其特征在于,在根据多个所述目标网络模块确定图像识别网络之后,所述方法还包括:
以第二图像样本集为训练样本,对所述图像识别网络进行训练,得到用于进行图像识别的图像识别模型。
7.根据权利要求1-6任一项所述的方法,其特征在于,每层网络结构包括的多个网络模块各自的内部结构互不相同;和/或
每层网络结构包括的多个网络模块的输入端均分别与上一层网络结构的输出端相连,且每层网络结构包括的多个网络模块的输出端均分别与下一层网络结构的输入端相连。
8.一种图像识别网络构建装置,其特征在于,所述装置包括:
原始神经网络创建模块,用于创建原始神经网络,所述原始神经网络包括多层网络结构,每层网络结构包括多个具有搜索参数的网络模块,且每层网络结构的输入端与输出端之间设置有残差分支;
参数更新模块,用于以第一图像样本集为训练样本,对所述原始神经网络进行训练,并更新所述原始神经网络的参数和每层网络结构所包括的多个网络模块各自的搜索参数;
筛选模块,用于在对所述原始神经网络进行训练的过程中,根据每层网络结构包括的各个网络模块各自的搜索参数,确定目标网络模块,所述目标网络模块为所有网络模块中当前搜索参数值最大的网络模块;
确定模块,用于在满足训练结束条件时,根据多个所述目标网络模块确定图像识别网络。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如权利要求1-7任一所述的图像识别网络构建方法。
10.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1-7任一项所述的图像识别网络构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004261.2A CN112200223A (zh) | 2020-09-22 | 2020-09-22 | 图像识别网络构建方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004261.2A CN112200223A (zh) | 2020-09-22 | 2020-09-22 | 图像识别网络构建方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112200223A true CN112200223A (zh) | 2021-01-08 |
Family
ID=74015965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011004261.2A Pending CN112200223A (zh) | 2020-09-22 | 2020-09-22 | 图像识别网络构建方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112200223A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175671A (zh) * | 2019-04-28 | 2019-08-27 | 华为技术有限公司 | 神经网络的构建方法、图像处理方法及装置 |
US20190370648A1 (en) * | 2018-05-29 | 2019-12-05 | Google Llc | Neural architecture search for dense image prediction tasks |
CN110555514A (zh) * | 2019-08-20 | 2019-12-10 | 北京迈格威科技有限公司 | 神经网络模型搜索方法、图像识别方法和装置 |
CN111062465A (zh) * | 2019-12-10 | 2020-04-24 | 中山大学 | 一种神经网络结构自调整的图像识别模型及方法 |
-
2020
- 2020-09-22 CN CN202011004261.2A patent/CN112200223A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190370648A1 (en) * | 2018-05-29 | 2019-12-05 | Google Llc | Neural architecture search for dense image prediction tasks |
CN110175671A (zh) * | 2019-04-28 | 2019-08-27 | 华为技术有限公司 | 神经网络的构建方法、图像处理方法及装置 |
CN110555514A (zh) * | 2019-08-20 | 2019-12-10 | 北京迈格威科技有限公司 | 神经网络模型搜索方法、图像识别方法和装置 |
CN111062465A (zh) * | 2019-12-10 | 2020-04-24 | 中山大学 | 一种神经网络结构自调整的图像识别模型及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110476172B (zh) | 用于卷积神经网络的神经架构搜索 | |
US11669744B2 (en) | Regularized neural network architecture search | |
US20180181867A1 (en) | Artificial neural network class-based pruning | |
US20230267381A1 (en) | Neural trees | |
CN111406264A (zh) | 神经架构搜索 | |
CN113705811B (zh) | 模型训练方法、装置、计算机程序产品及设备 | |
CN111079899A (zh) | 神经网络模型压缩方法、***、设备及介质 | |
CN110363297A (zh) | 神经网络训练及图像处理方法、装置、设备和介质 | |
EP4287144A1 (en) | Video behavior recognition method and apparatus, and computer device and storage medium | |
WO2021056914A1 (zh) | 一种目标检测模型的自动建模方法及装置 | |
CN111325338A (zh) | 神经网络结构评价模型构建和神经网络结构搜索方法 | |
CN109145107B (zh) | 基于卷积神经网络的主题提取方法、装置、介质和设备 | |
CN114332094A (zh) | 基于轻量级多尺度信息融合网络的语义分割方法及装置 | |
CN112101364A (zh) | 基于参数重要性增量学习的语义分割方法 | |
CN114072809A (zh) | 经由神经架构搜索的小且快速的视频处理网络 | |
CN113360670A (zh) | 一种基于事实上下文的知识图谱补全方法及*** | |
CN113837378A (zh) | 一种基于代理模型和梯度优化的卷积神经网络压缩方法 | |
CN115062779A (zh) | 基于动态知识图谱的事件预测方法及装置 | |
CN110222817A (zh) | 基于学习自动机的卷积神经网络压缩方法、***及介质 | |
CN111783936B (zh) | 卷积神经网络构建方法、装置、设备及介质 | |
CN112200223A (zh) | 图像识别网络构建方法、装置、设备及介质 | |
JP7073171B2 (ja) | 学習装置、学習方法及びプログラム | |
CN115861705A (zh) | 一种剔除恶意客户端的联邦学习方法 | |
CN111602145A (zh) | 卷积神经网络的优化方法及相关产品 | |
CN117010480A (zh) | 模型训练方法、装置、设备、存储介质及程序产品 |
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 |