CN111985645A - 一种神经网络的训练方法、装置、电子设备及存储介质 - Google Patents
一种神经网络的训练方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111985645A CN111985645A CN202010882930.XA CN202010882930A CN111985645A CN 111985645 A CN111985645 A CN 111985645A CN 202010882930 A CN202010882930 A CN 202010882930A CN 111985645 A CN111985645 A CN 111985645A
- Authority
- CN
- China
- Prior art keywords
- network
- trained
- configuration scheme
- channel number
- neural network
- 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
Images
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/08—Learning methods
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种神经网络的训练方法、装置、电子设备及存储介质,该方法包括:获取训练图像集和预先设置的多种网络通道数配置方案;基于每种网络通道数配置方案,确定待训练神经网络在该种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构;所述双向耦合网络结构包括具有正向通道序列的网络结构和具有反向通道序列的网络结构构成的一对网络结构,所述待训练神经网络的同一卷积层的正向通道序列和反向通道序列包含的处理通道数目相同;基于所述训练图像集对所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络。
Description
技术领域
本公开涉及计算机应用技术领域,具体而言,涉及一种神经网络的训练方法、装置、电子设备及存储介质。
背景技术
随着人工智能的发展,神经网络逐渐应用于多种领域,比如图像分类、图像分割、目标追踪与检测领域等,以图像分类为例,可以通过预先训练神经网络,得到能够识别图像中包含的目标对象分别对应的类别的神经网络。
神经网络具体可以包含多个卷积层,每层卷积层包含多个通道,通道个数直接影响神经网络中的待训练参数数量,待训练参数数量越多,神经网络的精度越高,但是运行速度越低。
因此,在对神经网络进行训练时,如何得到合适的通道数目配置方案,为亟需解决的问题。
发明内容
本公开实施例至少提供一种神经网络的训练方案。
第一方面,本公开实施例提供了一种神经网络的训练方法,包括:
获取训练图像集和预先设置的多种网络通道数配置方案;基于每种网络通道数配置方案,确定待训练神经网络在该种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构;所述双向耦合网络结构包括具有正向通道序列的网络结构和具有反向通道序列的网络结构构成的一对网络结构,所述待训练神经网络的同一卷积层的正向通道序列和反向通道序列包含的处理通道数目相同;基于所述训练图像集度所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络。
本公开实施例中,首先基于预先设置的多种网络通道数配置方案,确定出待训练神经网络在每种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构,这样针对每种网络通道数配置方案对应的参与处理的处理通道的网络参数进行训练更新时,若按照该种网络通道数配置方案对应的正向通道序列的网络结构和反向通道序列的网络结构分别对待训练神经网络进行训练,可以使得待训练神经网络包含的处理通道的网络参数被更新相同的次数,从而得到的神经网络的网络参数值的准确度较高,即提高了神经网络在选择精度和运行速度符合要求的网络通道数配置方案时的准确度。
在一种实施方式中,在得到训练完成的神经网络后,所述训练方法还包括:
基于预先获取的验证图像集、训练完成的神经网络在预先确定的多种候选网络通道数配置方案中的每种候选网络通道数配置方案下参与处理的处理通道的网络参数值,确定训练完成的神经网络在该种候选网络通道数配置方案下对应的双向耦合网络结构的网络的精度;基于所述训练完成的神经网络在所述每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度和精度,确定满足预设条件的目标网络通道数配置方案;根据所述待训练神经网络在所述目标网络通道数配置方案下包含的参与处理的处理通道,确定待训练的目标神经网络;利用所述训练图像集对所述待训练的目标神经网络进行训练,得到目标神经网络。
本公开实施例中,在得到训练完成的神经网络后,可以基于该训练完成的神经网络快速选择出精度和运行速度符合要求的目标网络通道数配置方案,进一步提出基于训练图像集对基于目标网络通道数配置方案确定的待训练的目标神经网络进行重新训练,可以得到准确度较高的目标神经网络。
在一种可能的实施方式中,所述目标神经网络为分类网络,在得到所述目标神经网络后,所述训练方法还包括:
获取目标图像;将所述目标图像输入所述目标神经网络,所述目标神经网络输出所述目标图像中的对象类别。
本公开实施例中,目标神经网络是基于运行速度和精度均满足预设条件的目标网络通道数配置方案训练得到的,在基于该目标神经网络对目标图像进行分类时,分类的速度和精度也可以满足预设条件。
在一种可能的实施方式中,所述多种网络通道数配置方案中包含多对互补的网络通道数配置方案;其中每一对所述互补的网络通道数配置方案在同一卷积层中包含的处理通道数目之和等于该卷积层包含的总通道数目。
本公开实施例中,在预先设置的多种网络通道数配置方案中包含多对互补的网络通道数配置方案的情况下,对待训练神经网络每层卷积层中的通道的网络参数可以进行相同次数的训练,从而进一步提高训练完成的神经网络在针对每种候选网络通道数配置方案对应的精度进行评估时的准确度。
在一种可能的实施方式中,所述训练图像集包含多组训练图像,所述基于所述训练图像集对所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络,包括:
针对当前种网络通道数配置方案,将一组训练图像输入待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练,得到所述待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值;基于所述损失值对所述待训练神经网络在所述当前种网络通道数配置方案下参与处理的处理通道的当前网络参数值进行调整,得到调整后的网络参数值;选择下一种网络通道数配置方案作为当前种网络通道数配置方案,返回将一组训练图像输入待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练的步骤,直至得到所述待训练神经网络在最后一种网络通道数配置方案下参与处理的处理通道对应的调整后的网络参数值后,得到训练完成的神经网络。
本公开实施例中,通过对待训练神经网络在不同种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,且按照每次训练得到的损失值对处理通道的网络参数值进行更新,按照该方式,可以对待训练神经网络包含的各个处理通道的网络参数值进行多次更新,从而得到用于对各种候选网络通道数配置方案对应的网络结构的精度进行准确评估的神经网络。
在一种可能的实施方式中,所述将一组训练图像输入待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练,得到所述待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,包括:
将一组训练图像输入所述待训练神经网络在所述当前种网络通道数配置方案下对应的具有正向通道序列的网络结构的网络,得到所述待训练神经网络对应的第一损失值,以及将该组训练图像输入所述待训练神经网络在所述当前种网络通道数配置方案下对应的具有反向通道序列的网络结构的网络,得到所述待训练神经网络对应的第二损失值;将所述第一损失值和所述第二损失值的平均值,作为所述待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值。
在一种可能的实施方式中,按照以下方式确定所述多种候选网络通道数配置方案:
基于所述待训练神经网络所述多种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,确定所述多种候选网络通道数配置方案;所述基于所述训练完成的神经网络在所述每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度和精度,确定满足预设条件的目标网络通道数配置方案,包括:从所述训练完成的神经网络在所述多种候选网络通道数配置方案下对应的双向网络结构的网络中筛选运行速度大于或等于设定速度阈值、且精度最高的网络;将筛选出的网络对应的候选网络通道数配置方案,作为所述目标网络通道数配置方案。
本公开实施例中,一方面可以得到多个对应损失值较小的候选网络通道数配置方案,从而便于在多个候选网络通道数配置方案中选择出精度较高的目标网络通道数配置方案,另一方面在选择目标网络通道数配置方案时,综合考虑运行速度和精度,从而得到兼顾运行速度和精度的目标网络通道数配置方案。
在一种可能的实施方式中,所述基于所述待训练神经网络在所述多种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,确定所述多种候选网络通道数配置方案,包括:
对所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值进行升序排序后,获取排序前设定个数的损失值对应的网络通道数配置方案;基于所述排序前设定个数的损失值,确定所述待训练的目标神经网络中每层卷积层包含的不同个处理通道数目的概率值;基于预先生成的多组随机数组和所述不同个处理通道数目的概率值,确定初级网络通道数配置方案;每组随机数组包含针对各层卷积层的随机数;基于所述初级网络通道数配置方案和遗传算法,确定所述多种候选网络通道数配置方案。
本公开实施例中,在使用遗传算法时,通过待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值来选择适合作为遗传算法第一代父节点的初级网络通道数配置方案,从而提高基于遗传算法确定候选网络通道数配置方案时的准确度。
在一种可能的实施方式中,所述基于预先生成的多组随机数组和所述不同个处理通道数目的概率值,确定初级网络通道数配置方案,包括:
针对任一随机数组对应的每层卷积层,基于该层卷积层在所述任一随机数组中对应的随机数和该层卷积层包含的不同个处理通道数目的概率值,确定该层卷积层包含的处理通道数目;基于得到的每层卷积层包含的处理通道数目,确定与所述任一随机数组对应的初级网络通道数配置方案。
在一种可能的实施方式中,所述基于所述初级网络通道数配置方案和遗传算法,确定所述多种候选网络通道数配置方案,包括:
将所述初级网络通道数配置方案作为所述遗传算法的父节点,基于所述训练完成的神经网络在每种父节点下包含的处理通道的网络参数值,以及在该父节点下包含的处理通道构成的双向耦合网络结构的网络,确定每种父节点对应的精度;基于每种父节点对应的精度,确定作为所述遗传算法的下一代父节点的初级网络通道数配置方案,直至达到预设循环次数后,将每一代初级网络通道数配置方案作为所述多种候选网络通道数配置方案。
在一种可能的实施方式中,所述从所述训练完成的神经网络在所述多种候选网络通道数配置方案下对应的双向耦合网络结构的网络中筛选运行速度大于或等于设定速度阈值、且精度最高的网络,包括:
基于所述训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度,确定运行速度大于或等于所述设定速度阈值的网络;从确定的网络中,选择精度最高的网络,作为筛选出的网络。
本公开实施例中,可以先基于训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度,筛选出运行速度大于或等于所述设定速度阈值的网络,按照该方式可以缩小候选网络通道数配置方案的范围,便于快速确定目标网络通道数配置方案。
第二方面,本公开实施例提供了一种神经网络的训练装置,包括:
获取模块,用于获取训练图像集和预先设置的多种网络通道数配置方案;确定模块,用于基于每种网络通道数配置方案,确定待训练神经网络在该种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构;所述双向耦合网络结构包括具有正向通道序列的网络结构和具有反向通道序列的网络结构构成的一对网络结构,所述待训练神经网络的同一卷积层的正向通道序列和反向通道序列包含的处理通道数目相同;训练模块,用于基于所述训练图像集对所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络。
第三方面,本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面所述的训练方法的步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面所述的训练方法的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种神经网络的训练方法的流程图;
图2a示出了本公开实施例所提供的一种单向增广网络结构的结构示意图;
图2b示出了本公开实施例所提供的在单向曾广网络结构的情况下,设定卷积层在不同网络通道数配置方案中包含的处理通道数目的示意图;
图3a示出了本公开实施例所提供的一种双向耦合网络结构的结构示意图;
图3b示出了本公开实施例所提供的在双向耦合网络结构的情况下,设定卷积层在不同网络通道数配置方案下的处理通道数目的示意图;
图4示出了本公开实施例所提供的另一种神经网络的训练方法流程图;
图5示出了本公开实施例所提供的在双向耦合网络结构的情况下,设定卷积层在互补的网络通道数配置方案下的处理通道数目的示意图;
图6示出了本公开实施例所提供的一种神经网络的具体训练方法流程图;
图7示出了本公开实施例所提供的确定待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值的方法流程图;
图8示出了本公开实施例所提供的一种确定多种候选网络通道数配置方案的方法流程图;
图9示出了本公开实施例所提供的一种神经网络的训练装置的结构示意图;
图10示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
近年来,神经网络逐渐应用于多种领域,比如图像分类、图像分割等领域,针对包含多个卷积层的神经网络,神经网络的网络通道数配置方案,即每层卷积层包含的参与图像特征处理的处理通道数目,将直接影响神经网络的精度和运行速度,因此如何快速确定出精度和运行速度符合要求的网络通道数配置方案较为重要。
通常,可以训练一种用于评估各种网络通道数配置方案对应的网络结构的网络精度和运行速度的神经网络,通过该神经网络来选择出精度和速度均符合要求的网络通道数配置方案,如何提供一种训练方式来提高神经网络在选择精度和运行速度符合要求的网络通道数配置方案时的准确度,为公开要解决的技术问题。
针对此,本公开实施例提供了一种神经网络的训练方法,首先基于预先设置的多种网络通道数配置方案,确定出待训练神经网络在每种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构,这样针对每种网络通道数配置方案对应的参与处理的处理通道的网络参数进行训练更新时,若按照该种网络通道数配置方案对应的正向通道序列的网络结构和反向通道序列的网络结构分别对待训练神经网络进行训练,可以使得待训练神经网络包含的处理通道的网络参数被更新相同的次数,从而得到的神经网络的网络参数值的准确度较高,即提高了神经网络在选择精度和运行速度符合要求的网络通道数配置方案时的准确度。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络的训练方法进行详细介绍,本公开实施例所提供的神经网络的训练方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该神经网络的训练方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的神经网络的训练方法的流程图,该训练方法包括以下S101~S103:
S101,获取训练图像集和预先设置的多种网络通道数配置方案。
示例性地,训练图像集可以包含大量用于进行训练的图像,比如针对不同的应用场景,可以选择不同的图像,比如在训练用于进行植物分类的神经网络时,训练图像集可以包含大量的植物以及对应类别标识的图像。
示例性地,待训练神经网络可以包含多层卷积层,每层卷积层可以包含多个通道数目,预先可以针对每层卷积层包含的参与处理的处理通道数目,设置多种不同的通道数配置方案,其中,参与处理的处理通道在训练过程中参与图像特征的处理,且网络参数值在训练过程中将会被更新。
示例性地,待训练神经网络包含三层卷积层,每层卷积层可以包含6个通道数,比如,一种网络通道数配置方案(2,3,4),表示第一层卷积层包含2个处理通道,第二层卷积层包含3个处理通道,第三次卷积层包含4个处理通道。
S102,基于每种网络通道数配置方案,确定待训练神经网络在该种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构;其中,双向耦合网络结构包括具有正向通道序列的网络结构和具有反向通道序列的网络结构构成的一对网络结构,待训练神经网络的同一卷积层的正向通道序列和反向通道序列包含的处理通道数目相同。
这里在解释双向耦合网络结构之前,先介绍一种单向增广网络结构,针对第一层卷积层包含3个处理通道,第二层卷积层包含2个处理通道,第三层卷积层包含4个处理通道的网络通道数配置方案A,在训练时对应如图2a所示的网络结构,第一层卷积层包含3个处理通道,从左至右分别包括第1处理通道、第2处理通道和第3处理通道,第二层卷积层包含2个处理通道,从左至右分别包括第1处理通道和第2处理通道,第三层卷积层包含4个处理通道,从左至右分别包括第1处理通道至第4处理通道,在对待训练神经网络在该网络通道数配置方案A对应的网络结构的网络进行训练时,会对网络通道数配置方案A中的每个处理通道的网络参数进行一次更新,当更换下一种网络通道数配置方案时,若除了网络通道数配置方案A包含的处理通道,还包含其它新增的处理通道,则网络通道数配置方案A包含的处理通道的网络参数的更新次数会多于新增的处理通道,即在基于单向增广网络结构,通过不同种网络通道数配置方案对待训练神经网络进行训练时,存在针对不同的处理通道的网络参数更新次数不均衡的问题。
比如,如图2b所示,为待训练神经网络在6种不同的网络通道数配置方案下针对同一卷积层包含的处理通道的情况,比如可以为上述图2a中第二层卷积层在6种网络通道数配置方案下包含的处理通道的情况,针对第1种网络通道数配置方案,在该卷积层包括1个处理通道、针对第2种网络通道数配置方案,该卷积层包括2个处理通道,…,针对第6种网络通道数配置方案,该卷积层包括6个处理通道,这样在基于训练图像集对待训练神经网络在这6种网络通道数配置方案下对应的单向增广网络结构的网络进行训练时,按照从左至右的方向,第1个处理通道的网络参数被更新的次数大于第2个处理通道的网络参数被更新的次数,第2个处理通道的网络参数被更新的次数大于第3个处理通道的网络参数被更新的次数,…,第5个处理通道的网络参数被更新的次数大于第6个处理通道的网络参数被更新的次数,可见在基于单向增广网络结构对待训练神经网络进行训练时,存在处理通道的网络参数更新次数不均衡的问题,这样得到的评估器在对不同种网络通道数配置方案进行评估时,准确度较低。
在本公开实施例中,引入双向耦合网络结构来解决上述问题,仍然针对上述图2a的网络通道数配置方案,即待训练神经网络的第一层卷积层包含3个处理通道,第二层卷积层包含2个处理通道,第三层卷积层包含4个处理通道的网络通道数配置方案,该网络通道数配置方案对应的双向耦合网络结构由图3a中(a)和(b)构成,其中(a)表示具有正向通道序列的网络结构,(b)表示具有反向通道序列的网络结构,具有正向通道序列的网络结构和具有反向通道序列的网络结构在相同卷积层包含的处理通道数目相同。
S103,基于训练图像集对待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络。
基于训练图像集对待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练过程中,可以分别基于该种网络通道数配置方案下对对应的具有正向通道序列的网络结构的网络和具有反向通道序列的网络结构的网络进行训练,这样可以降低在训练过程中各个处理通道的网络参数更新次数不均衡的问题,从而得到的神经网络的网络参数值的准确度较高,即提高了神经网络在选择精度和运行速度符合要求的网络通道数配置方案时的准确度。
示例性地,如图3b所示,为待训练神经网络的其中一层卷积层在6种不同网络通道数配置方案下的正向通道序列和反向通道序列,该层卷积层在第1种网络通道数配置方案下的正向通道序列包括第1个处理通道,在第1种网络通道数配置方案下的反向通道序列包括第6个处理通道;该层卷积层在第2种网络通道数配置方案下的正向通道序列包括第1个处理通道和第2个处理通道,在第2种网络通道数配置方案下的反向通道序列包括第5个处理通道和第6个处理通道;…;该层卷积层在第6种网络通道数配置方案下的正向通道序列包括第1个处理通道到第6个处理通道,在第6种网络通道数配置方案下反向通道序列包括第6个处理通道到第1个处理通道,这样该层卷积层在基于这6种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练时,可以将训练图像集合分别按照具有正向通道序列的网络结构的网络和具有反向通道序列的网络结构的网络进行训练,从而使得每个处理通道的网络参数的更新次数相同,比如针对图3b的情况,基于训练图像集对待训练神经网络在这6种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练时,针对该卷积层中的每个处理通道的网络参数的更新次数相同,比如可以均被更新7次。
按照上述方式,针对待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练后,可以得到待训练神经网络中的每层卷积层包含的处理通道的最终网络参数值,即得到训练完成的神经网络,该训练完成的神经网络可以通过包含的处理通道对应的网络参数值对各种候选网络通道数配置方案对应的网络结构的精度和运行速度进行评估,从而选择出满足预设条件的目标网络通道数配置方案。
本公开实施例中,首先基于预先设置的多种网络通道数配置方案,确定出待训练神经网络在每种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构,这样针对每种网络通道数配置方案对应的参与处理的处理通道的网络参数进行训练更新时,若按照该种网络通道数配置方案对应的正向通道序列的网络结构和反向通道序列的网络结构分别对待训练神经网络进行训练,可以使得待训练神经网络包含的处理通道的网络参数被更新相同的次数,从而得到的神经网络的网络参数值的准确度较高,即提高了神经网络在选择精度和运行速度符合要求的网络通道数配置方案时的准确度。
下面将结合具体实施例对上述S101~S103进行具体阐述。
针对上述S103,在得到预先训练完成的神经网络后,如图4所示,本公开实施例提供的训练方法还包括以下S201~S204:
S201,基于预先获取的验证图像集、训练完成的神经网络在预先确定的多种候选网络通道数配置方案中的每种网络通道数配置方案下参与处理的处理通道的网络参数值,确定训练完成的神经网络在该种候选网络通道数配置方案下对应的双向耦合网络结构的网络的精度。
示例性地,验证图像集与上述提到的训练图像集相似,可以用于确定训练完成的神经网络在每种候选网络通道数配置下的网络结构的网络精度。
示例性地,预先确定的多种候选网络通道数配置方案可以为预先设置的多种候选网络通道数配置方案,也可以为基于遗传算法确定的多种候选网络通道数配置方案,多种候选网络通道数配置方案与上述提到的用于训练神经网络的预先设置的多种网络通道数配置方案可以相同也可以不相同,具体确定程将在后文进行阐述。
针对每种候选网络通道数配置方案,可以按照上述方式确定该种候选网络通道数配置方案对应的双向耦合网络结构,比如针对候选网络通道数配置方案为(3,2,4)的情况,对应的双向耦合网络结构如图3a所示,可以将验证图像集输入训练完成的神经网络在该候选网络通道数配置方案下对应的双向耦合网络结构的网络中进行验证,得到训练完成的神经网络在该种候选网络通道数配置方案下对应的双向耦合网络结构的网络的精度。
S202,基于训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度和精度,确定满足预设条件的目标网络通道数配置方案。
多种候选网络通道数配置方案确定后,可以根据预先存储的每种候选网络通道数配置方案对应的理想运行速度,确定训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度,或者将训练图像集输入训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络中进行测试,得到实际运行速度。
在得到每种候选网络通道数配置方案对应的运行速度和精度后,可以筛选出运行速度和精度均满足要求的目标网络通道数配置方案,比如可以预先过滤掉运行速度不符合要求的候选网络通道数配置方案,然后再基于验证图像集和训练完成的神经网络,选择出对应精度最高的候选网络通道数配置方案,得到目标网络通道数配置方案。
S203,根据待训练神经网络在目标网络通道数配置方案下包含的参与处理的处理通道,确定待训练的目标神经网络。
示例性地,比如上述得到的目标网络通道数配置方案为(3,2,4),可以得到待训练的目标神经网络为第一层卷积层包含3个处理通道,第二层卷积层包含2个处理通道,第三层卷积层包含4个处理通道的网络结构。
S204,利用训练图像集对待训练的目标神经网络进行训练,得到目标神经网络。
得到的待训练的目标神经网络包含的处理通道的网络参数值可以为初始化后的网络参数值,进一步可以基于训练图像集对该待训练的目标神经网络进行再次训练,因为再次训练过程中仅仅针对目标网络通道数配置方案包含的处理通道的网络参数值进行训练,从而可以得到准确度较高的目标神经网络。
本公开实施例中,在得到训练完成的神经网络后,可以基于该训练完成的神经网络快速选择出精度和运行速度符合要求的目标网络通道数配置方案,进一步提出基于训练图像集对基于目标网络通道数配置方案确定的待训练的目标神经网络进行重新训练,可以得到准确度较高的目标神经网络。
在一种实施方式中,按照上述方式提到的目标神经网络为分类网络,在得到目标神经网络后,本公开实施例提供的训练方法还包括:
(1)获取目标图像;
(2)将目标图像输入目标神经网络,目标神经网络输出目标图像中的对象类别。
这里仅仅给出了目标神经网络的一种应用场景,除此之外,在应用不同领域时,更换对应的训练图像集和验证图像集重复上述S101~S103,以及S201~S204即可以得到在不同领域应用的目标神经网络,在此不进行赘述。
本公开实施例中,目标神经网络是基于运行速度和精度均满足预设条件的目标网络通道数配置方案训练得到的,在基于该目标神经网络对目标图像进行分类时,分类的速度和精度也可以满足预设条件。
针对上述提到的预先设置的多种网络通道数配置方案,示例性地,多种网络通道数配置方案中包含多对互补的网络通道数配置方案;
其中每一对互补的网络通道数配置方案在同一卷积层中包含的处理通道数目之和等于该卷积层包含的总通道数目。
比如多种网络通道数配置方案包含50种,可以包含25对互补的网络通道数配置方案,比如第1种和第2种构成一对互补的网络通道数配置方案,第3种和第4种构成一对互补的网络通道数配置方案,…,第49种和第50种构成一对互补的网络通道数配置方案,互补的两个网络通道数配置方案针对同一卷积层包含的处理通道数目相同。
示例性地,比如针对互补的第1种和第2种网络通道数配置方案,若待训练神经网络包含3层,每层卷积层包含的总通道数目为6,若第1种网络通道数配置方案下,第一卷积层的处理通道数目为2,则第2种网络通道数配置方案下,第一卷积层的处理通道数目为4,其它卷积层情况类似,通过这样的方式,基于每种网络通道数配置方案对待训练神经网络进行训练时,可以使得待训练神经网络中每层包含的通道的网络参数得到更新,且更新次数相同,从而对待训练神经网络进行准确度较高的训练。
示例性地,为了对上述情况进行说明,如图5所示,若待训练神经网络的每层卷积层包含6个通道,比如针对其中第二层卷积层,第一种网络通道数配置方案为该卷积层包含1个处理通道的情况,第二种网络通道数配置方案为与第一种网络通道数配置方案互补的网络通道数配置方案,为该卷积层包含5个处理通道的情况,在基于双向耦合网络结构进行训练时,可以看到该层卷积层中的每个处理通道的网络参数均被更新了两次,其它卷积层情况类似,可见,在预先设置的多种网络通道数配置方案中包含多对互补的网络通道数配置方案的情况下,对待训练神经网络每层卷积层中的通道的网络参数可以进行相同次数的训练,从而进一步提高训练完成的神经网络在针对每种候选网络通道数配置方案对应的精度进行评估时的准确度。
在一种实施方式中,训练图像集包含多组训练图像,针对上述S103,在基于训练图像集对待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络时,如图6所示,可以包括以下S301~S303:
S301,针对当前种网络通道数配置方案,将一组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练,得到待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值;
S302,基于损失值对待训练神经网络在当前种网络通道数配置方案下参与处理的处理通道的当前网络参数值进行调整,得到调整后的网络参数值;
S303,判断当前得到的调整后的网络参数值是否为最后一种网络通道数配置方案下参与处理的处理通道对应调整后的网络参数值,若否,返回S301,若是,得到训练完成的神经网络。
比如训练图像集被分为多组训练图像,每组训练图像对应训练一种网络通道数配置方案对应的双向耦合网络结构,在依次对预先设置的多种网络通道数配置方案中的每种网络通道数配置方案对应的双向耦合网络结构的网络进行训练时,可以从第1种网络通道数配置方案开始,将其中一组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练,得到待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值。
具体地,针对上述S301,在将一组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练,得到待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值时,如图7所示,可以包括以下S3011~S3012:
S3011,将一组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的具有正向通道序列的网络结构的网络,得到待训练神经网络对应的第一损失值,以及将该组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的具有反向通道序列的网络结构的网络,得到待训练神经网络对应的第二损失值;
S3012,将第一损失值和第二损失值的平均值,作为待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值。
示例性地,针对当前种网络通道数配置方案为(3,2,4)的情况,如图3a中(a)图所示,为当前种网络通道数配置方案对应的具有正向通道序列的网络结构,图3a中(b)图所示,为当前种网络通道数配置方案对应的具有反向通道序列的网络结构,将一组训练图像输入待训练神经网络在如图3a中(a)图所示的网络中进行训练,得到待训练神经网络对应的第一损失值,将一组训练图像输入待训练神经网络在如图3a中(b)图所示的网络中进行训练,得到待训练神经网络对应的第二损失值,然后将第一损失值和第二损失值的平均值作为待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,并基于该损失值对待训练神经网络在当前种网络通道数配置方案下参与处理的处理通道的当前网络参数值进行调整,得到的每个处理通道在调整后的网络参数值可以作为该处理通道在下次训练过程中作为处理通道时待调整的网络参数值。
针对下一种网络通道数配置方案为(3,2,6)的情况,可以将下一种网络通道数配置方案作为当前种网络通道数配置方案,然后换一组训练图像按照上述方式对待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,在训练过程中,处理通道的当前网络参数值为该处理通道数在最近训练过程中调整后的网络参数值。
本公开实施例中,通过对待训练神经网络在不同种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,且按照每次训练得到的损失值对处理通道的网络参数值进行更新,按照该方式,可以对待训练神经网络包含的各个处理通道的网络参数值进行多次更新,从而得到用于对各种候选网络通道数配置方案对应的网络结构的精度进行准确评估的神经网络。
针对上述S201提到的预先确定的多种候选网络通道数配置方案,在一种实施方式中,本公开实施例按照以下方式确定多种候选网络通道数配置方案:
基于待训练神经网络在预先设置的多种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,确定多种候选网络通道数配置方案。
上述在训练神经网络的过程中,对应损失值较小时的网络通道数配置方案的精度较高,因此这里提出基于预先设置的多种网络通道数配置方案在训练待训练神经网络的过程中得到的损失值,来确定多种候选网络通道数配置方案,按照该方式可以得到多个对应损失值较小的候选网络通道数配置方案,从而便于在多个候选网络通道数配置方案中选择出精度较高的目标网络通道数配置方案。
具体地,针对上述S202,在基于训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度和精度,确定满足预设条件的目标网络通道数配置方案时,可以包括:
(1)从训练完成的神经网络在多种候选网络通道数配置方案下对应的双向耦合网络结构的网络中筛选运行速度大于或等于设定速度阈值、且精度最高的网络;
(2)将筛选出的网络对应的候选网络通道数配置方案,作为目标网络通道数配置方案。
将验证图像集分别输入训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络中,可以确定出该种网络对应的精度和运行速度,进一步可以筛选运行速度大于或等于设定速度阈值、且精度最高的网络对应的候选网络通道数配置方案,作为目标网络通道数配置方案。
示例性地,针对每种候选网络通道数配置方案,其对应的双向耦合网络结构的浮点运算量可以预先确定,对应的浮点运行速度也可以确定,这样可以基于每种候选网络通道数配置方案对应的浮点运算速度过滤掉运行速度小于设定速度阈值的候选网络通道数配置方案,保留对应运行速度大于或等于设定速度阈值的候选网络通道数配置方案,然后可以基于验证图像集和训练完成的神经网络,选择出对应精度最高的候选网络通道数配置方案作为目标网络通道数配置方案。
示例性地,设定速度阈值可以基于目标神经网络待运行的终端设备的存储容量、负载能力等因素提前测试确定,针对不同的终端设备,这里的设定速度阈值可以不同,选择运行速度大于或等于设定速度阈值的目标网络通道数配置方案,便于基于该目标网络通道数配置方案训练得到的目标神经网络可以在终端设备上以较快的速度运行。
具体地,从训练完成的神经网络在多种候选网络通道数配置方案下对应的双向耦合网络结构的网络中筛选运行速度大于或等于设定速度阈值、且精度最高的网络时,可以包括:
(1)基于训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度,确定运行速度大于或等于设定速度阈值的网络;
(2)从确定的网络中,选择精度最高的网络,作为筛选出的网络。
本公开实施例中,可以先基于训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度,筛选出运行速度大于或等于设定速度阈值的网络,按照该方式可以缩小候选网络通道数配置方案的范围,便于快速确定目标网络通道数配置方案。
具体地,在基于待训练神经网络在多种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,确定多种候选网络通道数配置方案时,如图8所示,可以包括以下S401~S404:
S401,对待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值进行升序排序后,获取排序前设定个数的损失值对应的网络通道数配置方案。
示例性地,在上述基于预先设置的多种网络通道数配置方案中的每种网络通道数配置方案训练待训练神经网络的过程中,可以得到待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,比如1000种网络通道数配置方案对应有1000个损失值,这样可以对损失值按照从小到大的顺序进行排序后,选择排序前设定个数的损失值对应的网络通道数配置方案,比如选择排序前100个损失值对应的网络通道数配置方案。
S402,基于排序前设定个数的损失值,确定待训练的目标神经网络中的每层卷积层包含的不同个处理通道数目的概率值。
示例性地,这里可以引入二次规划问题的思路来确定待训练的目标神经网络中的每层卷积层包含的不同个处理通道数目的概率值,比如确定出第一层卷积层包含两个处理通道的概率值为0.8,确定出第一层卷积层包含三个处理通道的概率值为0.1,确定出第一层卷积层包含4个处理通道的概率值为0.1。
具体地,可以按照以下公式来基于排序前设定个数的的损失值,确定待训练的目标神经网络中每层卷积层包含的不同个处理通道数目的概率值。
其中,公式(1)中,I(l,i)表示待训练的目标神经网络第l层卷积层包含i个处理通道的期望损失值;m表示排序前设定个数的网络通道数配置方案的数量,k表示第排序前设定个数的网络通道数配置方案中的第k个网络通道数配置方案;表示待训练的目标神经网络第l层卷积层在第k个网络通道数配置方案中的处理通道数为i;L(k)表示第k个网络通道数配置方案对应的损失值。
公式(3)中,F(l+1,i,j)表示待训练的目标神经网络第l+1层卷积层包含i个输入通道(相当于第l层卷积层包含的处理通道)和j个输出通道(相当于第l+1层卷积层包含的处理通道)的情况下每秒所执行的浮点运算次数,F(l,i,j)可以在预先存储的网络结构和对应的每秒所执行的浮点运输次数映射表中查询,当卷积层包含的输入通道数目和输出通道数目确定时,卷积层的每秒所执行的浮点运输次数也是确定的,卷积层的输出通道数目表示该卷积层的处理通道数目;p(l+1,j)表示待训练的目标神经网络第l+1层卷积层包含的处理通道数为j的概率值;Fb表示预设的浮点运算量。
S403,基于预先生成的多组随机数组和不同个处理通道数目的概率值,确定初级网络通道数配置方案;其中每组随机数组包含针对各层卷积层对应的随机数。
示例性地,每组随机数组包含针对各层卷积层对应的随机数,随机数为从0到1数值,可以由预先训练的随机数生成器来得到,比如可以为包括0.1,0.2,…1,具体地,一组随机数组可以确定一种候选网络通道数配置方案,比如每个候选网络通道数配置方案中包括3个卷积层分别对应的处理通道数目,则这里一组随机数组包含3个大于0且小于或等于1的随机数。
具体地,在基于预先生成的多组随机数组和不同个处理通道数目的概率值,确定初级网络通道数配置方案时,包括:
(1)针对任一随机数组对应的每层卷积层,基于该层卷积层在任一随机数组中对应的随机数和该层卷积层包含的不同个处理通道数目的概率值,确定该层卷积层包含的处理通道数目;
(2)基于得到的每层卷积层包含的处理通道数目,确定与任一随机数组对应的初级网络通道数配置方案。
随机数组包含的随机数为离散的数值,为了便于基于离散的数值确定每层卷积层包含的处理通道数目,可以按照每层卷积层包含的不同处理通道数的概率值划分概率值区间,比如第n层卷积层包含2个处理通道的概率值为0.3,包含3个处理通道的概率值为0.6,包含4个处理通道的概率值为0.1,则可以基于0.3、0.6和0.1划分概率值区间,得到的概率值区间为0到0.3(包含2个处理通道),0.3到0.9(包含3个处理通道)以及0.9到1(包含4个处理通道),当该第n层卷积层对应的随机数为0.4时,可以表示第n层卷积层包含的处理通道数目为3。
按照上述方式,可以得到与任一随机数组对应的初级网络通道数配置方案,示例性地,提供多组随机数组时,可以得到多种初级网络通道数配置方案。
在通过设置随机数选择每层卷积层包含的处理通道数目的过程中,概率值较大的处理通道所占的概率值区间的范围较大,因此大概率情况下,随机数能够命中概率值最大的处理通道数目,同时也会命中概率值非最大的处理通道数目,从而在基于多组随机数组确定多种初级网络通道数配置方式时,可以得到多种不同类型的初级网络通道数配置方案,比如包含由大概率值确定的通道数目的初级网络通道数配置方案,也包含由小概率值确定的通道数目的初级通道数配置方案,便于后期在基于遗传算法选择候选网络通道数配置方案时,能够选择出不同结构的候选网络通道数配置方案,从而可以在不同结构的候选网络通道数配置方案中选择更符合要求的目标网络通道数配置方案。
S404,基于初级网络通道数配置方案和遗传算法,确定多种候选网络通道数配置方案。
示例性地,在使用遗传算法时,通过待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值来选择适合作为遗传算法第一代父节点的初级网络通道数配置方案,从而提高基于遗传算法确定候选网络通道数配置方案时的准确度。
具体地,在基于初级网络通道数配置方案和遗传算法,确定多种候选网络通道数配置方案时,可以包括:
(1)将初级网络通道数配置方案作为遗传算法的父节点,基于训练完成的神经网络在每种父节点下包含的处理通道的网络参数值,以及在该父节点下包含的处理通道构成的双向耦合网络结构的网络,确定每种父节点对应的精度;
(2)基于每种父节点对应的精度,确定作为遗传算法的下一代父节点的初级网络通道数配置方案,直至达到预设循环次数后,将每一代初级网络通道数配置方案作为多种候选网络通道数配置方案。
示例性地,选择出作为遗传算法父节点的初级网络通道数配置方案后,可以将验证图像集分别输入训练完成的神经案例在每种初级网络通道数配置方案下的双向耦合网络结构的网络中,得到该网络对应的精度,然后基于该精度过滤部分不符合要求的初级网络通道数配置方案,然后经过遗传算法运算,得到作为下一代父节点的初级网络通道数配置方案,再次确定训练完成的神经网络在下一代父节点的初级网络通道数配置方案下对应的双向耦合网络结构的网络的精度,直至达到遗传算法的预设循环次数后,将每一代初级网络通道数配置方案作为多种候选网络通道数配置方案。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一技术构思,本公开实施例中还提供了与神经网络的训练方法对应的训练装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图9所示,为本公开实施例提供的一种神经网络的训练装置500的示意图,该训练装置包括:
获取模块501,用于获取训练图像集和预先设置的多种网络通道数配置方案;
确定模块502,用于基于每种网络通道数配置方案,确定待训练神经网络在该种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构;双向耦合网络结构包括具有正向通道序列的网络结构和具有反向通道序列的网络结构构成的一对网络结构,待训练神经网络的同一卷积层的正向通道序列和反向通道序列包含的处理通道数目相同;
训练模块503,用于基于训练图像集对待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络。
在一种可能的实施方式中,在得到训练完成的神经网络后,训练模块503还用于:
基于预先获取的验证图像集、训练完成的神经网络在预先确定的多种候选网络通道数配置方案中的每种网络通道数配置方案下包含的处理通道的网络参数值,确定训练完成的神经网络在该种候选网络通道数配置方案下对应的双向耦合网络结构的网络的精度;
基于训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度和精度,确定满足预设条件的目标网络通道数配置方案;
根据待训练神经网络在目标网络通道数配置方案下包含的参与处理的处理通道,确定待训练的目标神经网络;
利用训练图像集对待训练的目标神经网络进行训练,得到目标神经网络。
在一种可能的实施方式中,训练装置还包括执行模块504,目标神经网络为分类网络,在得到目标神经网络后,执行模块504用于:
获取目标图像;
将目标图像输入目标神经网络,目标神经网络输出目标图像中的对象类别。
在一种可能的实施方式中,多种网络通道数配置方案中包含多对互补的网络通道数配置方案;
其中每一对互补的网络通道数配置方案在同一卷积层中包含的处理通道数目之和等于该卷积层包含的总通道数目。
在一种可能的实施方式中,训练图像集包含多组训练图像,训练模块503,具体用于:
针对当前种网络通道数配置方案,将一组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练,得到待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值;
基于损失值对待训练神经网络在当前种网络通道数配置方案下参与处理的处理通道的当前网络参数值进行调整,得到调整后的网络参数值;
选择下一种网络通道数配置方案作为当前种网络通道数配置方案,返回将一组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练的步骤,直至得到待训练神经网络在最后一种网络通道数配置方案下参与处理的处理通道对应的调整后的网络参数值后,得到训练完成的神经网络。
在一种可能的实施方式中,训练模块503,具体用于:
将一组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的具有正向通道序列的网络结构的网络,得到待训练神经网络对应的第一损失值,以及将该组训练图像输入待训练神经网络在当前种网络通道数配置方案下对应的具有反向通道序列的网络结构的网络,得到待训练神经网络对应的第二损失值;
将第一损失值和第二损失值的平均值,作为待训练神经网络在当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值。
在一种可能的实施方式中,训练模块503用于按照以下方式确定多种候选网络通道数配置方案:
基于待训练神经网络在多种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,确定多种候选网络通道数配置方案;
训练模块在用于基于训练完成的神经网络在每种候选网络通道数配置方案下对应的双向网络结构的网络的运行速度和精度,确定满足预设条件的目标网络通道数配置方案时,包括:
从训练完成的神经网络在多种候选网络通道数配置方案下对应的双向耦合网络结构的网络中筛选运行速度大于或等于设定速度阈值、且精度最高的网络;
将筛选的网络对应的候选网络通道数配置方案,作为目标网络通道数配置方案。
在一种可能的实施方式中,训练模块503,具体用于:
对待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值进行升序排序后,获取排序前设定个数的损失值对应的网络通道数配置方案;
基于排序前设定个数的损失值,确定待训练的目标神经网络中每层卷积层包含的不同个处理通道数目的概率值;
基于预先生成的多组随机数组和不同个处理通道数目的概率值,确定初级网络通道数配置方案;每组随机数组包含针对各层卷积层的随机数;
基于初级网络通道数配置方案和遗传算法,确定多种候选网络通道数配置方案。
在一种可能的实施方式中,训练模块503,具体用于:
针对任一随机数组对应的每层卷积层,基于该层卷积层在任一随机数组中对应的随机数和该层卷积层包含的不同个处理通道数目的概率值,确定该层卷积层包含的处理通道数目;
基于得到的每层卷积层包含的处理通道数目,确定与任一随机数组对应的初级网络通道数配置方案。
在一种可能的实施方式中,训练模块503,具体用于:
将初级网络通道数配置方案作为遗传算法的父节点,基于训练完成的神经网络在每种父节点下包含的处理通道的网络参数值,以及在该父节点下包含的处理通道构成的双向耦合网络结构的网络,确定每种父节点对应的精度;
基于每种父节点对应的精度,确定作为遗传算法的下一代父节点的初级网络通道数配置方案,直至达到预设循环次数后,将每一代初级网络通道数配置方案作为多种候选网络通道数配置方案。
在一种可能的实施方式中,训练模块503,具体用于:
基于训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度,确定运行速度大于或等于设定速度阈值的网络;
从确定的网络中,选择精度最高的网络,作为筛选出的网络。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
对应于图1中的神经网络的训练方法,本公开实施例还提供了一种电子设备600,如图10所示,为本公开实施例提供的电子设备600结构示意图,包括:
处理器61、存储器62、和总线63;存储器62用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当电子设备600运行时,处理器61与存储器62之间通过总线63通信,使得处理器61执行以下指令:获取训练图像集和预先设置的多种网络通道数配置方案;基于每种网络通道数配置方案,确定待训练神经网络在该种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构;双向耦合网络结构包括具有正向通道序列的网络结构和具有反向通道序列的网络结构构成的一对网络结构,待训练神经网络的同一卷积层的正向通道序列和反向通道序列包含的处理通道数目相同;基于训练图像集对待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的神经网络的训练方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的神经网络的训练方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的神经网络的训练方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种神经网络的训练方法,其特征在于,包括:
获取训练图像集和预先设置的多种网络通道数配置方案;
基于每种网络通道数配置方案,确定待训练神经网络在该种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构;所述双向耦合网络结构包括具有正向通道序列的网络结构和具有反向通道序列的网络结构构成的一对网络结构,所述待训练神经网络的同一卷积层的正向通道序列和反向通道序列包含的处理通道数目相同;
基于所述训练图像集对所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络。
2.根据权利要求1所述的训练方法,其特征在于,在得到训练完成的神经网络后,所述训练方法还包括:
基于预先获取的验证图像集、训练完成的神经网络在预先确定的多种候选网络通道数配置方案中的每种候选网络通道数配置方案下参与处理的处理通道的网络参数值,确定训练完成的神经网络在该种候选网络通道数配置方案下对应的双向耦合网络结构的网络的精度;
基于所述训练完成的神经网络在所述每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度和精度,确定满足预设条件的目标网络通道数配置方案;
根据所述待训练神经网络在所述目标网络通道数配置方案下包含的参与处理的处理通道,确定待训练的目标神经网络;
利用所述训练图像集对所述待训练的目标神经网络进行训练,得到目标神经网络。
3.根据权利要求2所述的训练方法,其特征在于,所述目标神经网络为分类网络,在得到所述目标神经网络后,所述训练方法还包括:
获取目标图像;
将所述目标图像输入所述目标神经网络,所述目标神经网络输出所述目标图像中的对象类别。
4.根据权利要求1所述的训练方法,其特征在于,所述多种网络通道数配置方案中包含多对互补的网络通道数配置方案;
其中每一对所述互补的网络通道数配置方案在同一卷积层中包含的处理通道数目之和等于该卷积层包含的总通道数目。
5.根据权利要求1至4任一所述的训练方法,其特征在于,所述训练图像集包含多组训练图像,所述基于所述训练图像集对所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络,包括:
针对当前种网络通道数配置方案,将一组训练图像输入待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练,得到所述待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值;
基于所述损失值对所述待训练神经网络在所述当前种网络通道数配置方案下参与处理的处理通道的当前网络参数值进行调整,得到调整后的网络参数值;
选择下一种网络通道数配置方案作为当前种网络通道数配置方案,返回将一组训练图像输入待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练的步骤,直至得到所述待训练神经网络在最后一种网络通道数配置方案下参与处理的处理通道对应的调整后的网络参数值后,得到训练完成的神经网络。
6.根据权利要求5所述的训练方法,其特征在于,所述将一组训练图像输入待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络中进行训练,得到所述待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,包括:
将一组训练图像输入所述待训练神经网络在所述当前种网络通道数配置方案下对应的具有正向通道序列的网络结构的网络,得到所述待训练神经网络对应的第一损失值,以及将该组训练图像输入所述待训练神经网络在所述当前种网络通道数配置方案下对应的具有反向通道序列的网络结构的网络,得到所述待训练神经网络对应的第二损失值;
将所述第一损失值和所述第二损失值的平均值,作为所述待训练神经网络在所述当前种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值。
7.根据权利要求2所述的训练方法,其特征在于,按照以下方式确定所述多种候选网络通道数配置方案:
基于所述待训练神经网络在所述多种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,确定所述多种候选网络通道数配置方案;
所述基于所述训练完成的神经网络在所述每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度和精度,确定满足预设条件的目标网络通道数配置方案,包括:
从所述训练完成的神经网络在所述多种候选网络通道数配置方案下对应的双向耦合网络结构的网络中筛选运行速度大于或等于设定速度阈值、且精度最高的网络;
将筛选出的网络对应的候选网络通道数配置方案,作为所述目标网络通道数配置方案。
8.根据权利要求7所述的训练方法,其特征在于,所述基于所述待训练神经网络在所述多种网络通道数配置方案中的每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值,确定所述多种候选网络通道数配置方案,包括:
对所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络的损失值进行升序排序后,获取排序前设定个数的损失值对应的网络通道数配置方案;
基于所述排序前设定个数的损失值,确定所述待训练的目标神经网络中每层卷积层包含的不同个处理通道数目的概率值;
基于预先生成的多组随机数组和所述不同个处理通道数目的概率值,确定初级网络通道数配置方案;每组随机数组包含针对各层卷积层的随机数;
基于所述初级网络通道数配置方案和遗传算法,确定所述多种候选网络通道数配置方案。
9.根据权利要求8所述的训练方法,其特征在于,所述基于预先生成的多组随机数组和所述不同个处理通道数目的概率值,确定初级网络通道数配置方案,包括:
针对任一随机数组对应的每层卷积层,基于该层卷积层在所述任一随机数组中对应的随机数和该层卷积层包含的不同个处理通道数目的概率值,确定该层卷积层包含的处理通道数目;
基于得到的每层卷积层包含的处理通道数目,确定与所述任一随机数组对应的初级网络通道数配置方案。
10.根据权利要求8或9所述的训练方法,其特征在于,所述基于所述初级网络通道数配置方案和遗传算法,确定所述多种候选网络通道数配置方案,包括:
将所述初级网络通道数配置方案作为所述遗传算法的父节点,基于所述训练完成的神经网络在每种父节点下包含的处理通道的网络参数值,以及在该父节点下包含的处理通道构成的双向耦合网络结构的网络,确定每种父节点对应的精度;
基于每种父节点对应的精度,确定作为所述遗传算法的下一代父节点的初级网络通道数配置方案,直至达到预设循环次数后,将每一代初级网络通道数配置方案作为所述多种候选网络通道数配置方案。
11.根据权利要求7至10任一所述的训练方法,其特征在于,所述从所述训练完成的神经网络在所述多种候选网络通道数配置方案下对应的双向耦合网络结构的网络中筛选运行速度大于或等于设定速度阈值、且精度最高的网络,包括:
基于所述训练完成的神经网络在每种候选网络通道数配置方案下对应的双向耦合网络结构的网络的运行速度,确定运行速度大于或等于所述设定速度阈值的网络;
从确定的网络中,选择精度最高的网络,作为筛选出的网络。
12.一种神经网络的训练装置,其特征在于,包括:
获取模块,用于获取训练图像集和预先设置的多种网络通道数配置方案;
确定模块,用于基于每种网络通道数配置方案,确定待训练神经网络在该种网络通道数配置方案下参与处理的处理通道构成的双向耦合网络结构;所述双向耦合网络结构包括具有正向通道序列的网络结构和具有反向通道序列的网络结构构成的一对网络结构,所述待训练神经网络的同一卷积层的正向通道序列和反向通道序列包含的处理通道数目相同;
训练模块,用于基于所述训练图像集对所述待训练神经网络在每种网络通道数配置方案下对应的双向耦合网络结构的网络进行训练,得到训练完成的神经网络。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至11任一所述的训练方法的步骤。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至11任一所述的训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010882930.XA CN111985645A (zh) | 2020-08-28 | 2020-08-28 | 一种神经网络的训练方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010882930.XA CN111985645A (zh) | 2020-08-28 | 2020-08-28 | 一种神经网络的训练方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111985645A true CN111985645A (zh) | 2020-11-24 |
Family
ID=73440284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010882930.XA Pending CN111985645A (zh) | 2020-08-28 | 2020-08-28 | 一种神经网络的训练方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985645A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173446A (zh) * | 2023-06-26 | 2023-12-05 | 北京百度网讯科技有限公司 | 图像分类与训练方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089562A1 (en) * | 2016-09-28 | 2018-03-29 | SK Hynix Inc. | Operation apparatus and method for convolutional neural network |
CN108763504A (zh) * | 2018-05-30 | 2018-11-06 | 浙江大学 | 一种基于强化双通道序列学习的对话回复生成方法及系统 |
CN108960411A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种卷积神经网络调整及相关装置 |
EP3499428A1 (en) * | 2017-12-18 | 2019-06-19 | Nanjing Horizon Robotics Technology Co., Ltd. | Method and electronic device for convolution calculation in neutral network |
CN110210513A (zh) * | 2019-04-23 | 2019-09-06 | 深圳信息职业技术学院 | 数据分类方法、装置及终端设备 |
CN110909861A (zh) * | 2018-09-17 | 2020-03-24 | 北京市商汤科技开发有限公司 | 神经网络优化方法及装置、电子设备和存储介质 |
CN111062329A (zh) * | 2019-12-18 | 2020-04-24 | 中山大学 | 基于增广网络的无监督行人重识别方法 |
-
2020
- 2020-08-28 CN CN202010882930.XA patent/CN111985645A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089562A1 (en) * | 2016-09-28 | 2018-03-29 | SK Hynix Inc. | Operation apparatus and method for convolutional neural network |
EP3499428A1 (en) * | 2017-12-18 | 2019-06-19 | Nanjing Horizon Robotics Technology Co., Ltd. | Method and electronic device for convolution calculation in neutral network |
CN108763504A (zh) * | 2018-05-30 | 2018-11-06 | 浙江大学 | 一种基于强化双通道序列学习的对话回复生成方法及系统 |
CN108960411A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种卷积神经网络调整及相关装置 |
CN110909861A (zh) * | 2018-09-17 | 2020-03-24 | 北京市商汤科技开发有限公司 | 神经网络优化方法及装置、电子设备和存储介质 |
CN110210513A (zh) * | 2019-04-23 | 2019-09-06 | 深圳信息职业技术学院 | 数据分类方法、装置及终端设备 |
CN111062329A (zh) * | 2019-12-18 | 2020-04-24 | 中山大学 | 基于增广网络的无监督行人重识别方法 |
Non-Patent Citations (2)
Title |
---|
KAZUTAKA UCHIDA等: ""Coupled convolution layer for convolutional neural network"", 《NEURAL NETWORKS》 * |
盛守照: ""前向神经网络学习问题研究及其在转台控制中的应用"", 《中国优秀博硕士学位论文全文数据库(博士)·信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173446A (zh) * | 2023-06-26 | 2023-12-05 | 北京百度网讯科技有限公司 | 图像分类与训练方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kang et al. | Forget-free continual learning with winning subnetworks | |
CN109146073B (zh) | 一种神经网络训练方法和装置 | |
CN108665065B (zh) | 任务数据的处理方法、装置、设备和存储介质 | |
Rada-Vilela et al. | Population statistics for particle swarm optimization: Resampling methods in noisy optimization problems | |
CN108647571A (zh) | 视频动作分类模型训练方法、装置及视频动作分类方法 | |
CN111260056B (zh) | 一种网络模型蒸馏方法及装置 | |
CN113743594B (zh) | 网络流量预测模型建立方法、装置、电子设备及存储介质 | |
CN106874506A (zh) | 基于统计模型的社区挖掘方法及系统 | |
CN111985645A (zh) | 一种神经网络的训练方法、装置、电子设备及存储介质 | |
JP2019159888A (ja) | 機械学習システム | |
CN115081613A (zh) | 生成深度学习模型的方法、装置、电子设备及存储介质 | |
CN114091597A (zh) | 基于自适应组样本扰动约束的对抗训练方法、装置及设备 | |
CN109697511B (zh) | 数据推理方法、装置及计算机设备 | |
Siwik et al. | Elitist evolutionary multi-agent system in solving noisy multi-objective optimization problems | |
CN111008705A (zh) | 一种搜索方法、装置及设备 | |
CN111985644B (zh) | 神经网络生成方法及装置、电子设备及存储介质 | |
Reynolds et al. | Diversity as a Necessity for Sustainability in Cultural Systems: Collective Problem-Solving in Cultural Algorithms | |
CN113379392A (zh) | 一种众包场景中针对数值任务获取高质量数据的方法 | |
CN107437230A (zh) | 一种基于矩阵编码的多目标进化求解面试分组的方法 | |
CN112817525A (zh) | 闪存芯片可靠性等级预测方法、装置及存储介质 | |
CN110059806A (zh) | 一种基于幂律函数的多阶段加权网络社团结构检测方法 | |
CN112669893B (zh) | 确定待使用读电压的方法、系统、装置及设备 | |
CN105389594B (zh) | 信息处理方法及电子设备 | |
CN117435516B (zh) | 一种测试用例优先级排序方法和系统 | |
Akita et al. | Update of R packages ‘ssfuture’for stochastic projections in future |
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 |