一种大型神经网络并行优化训练方法与流程

文档序号:27448573发布日期:2021-11-18 00:28阅读:134来源:国知局
一种大型神经网络并行优化训练方法与流程

1.本发明涉及神经网络领域,具体是一种大型神经网络并行优化训练方法。


背景技术:

2.人工神经网络(artificial neural networks,简写为anns)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的,并具有自学习和自适应的能力。为了实现神经网络输出的高准确性,需要对神经网络进行训练。现有神经网络的训练通常都是进行整体训练,向神经网络输入足够多的样本,通过一定算法调整神经网络的结构(调整神经单元之间的连接及权重),使神经网络的输出与预期值相符。
3.在构建大型、复杂神经网络时,通常是将现有的已训练好的小型神经网络当作神经单元来构建神经网络,再对大型、复杂神经网络进行整体训练。但现有的已训练好的这些小型神经网络通常是通用模型,在构建一个新需求的大型、复杂神经网络时,不能确保这些小型神经网络良好适配需要构建的大型神经网络。而如果从零开始构建一个全新的大型、复杂神经网络,由于神经单元繁多、结构复杂,现有的训练方法需要较长的时间才能使大型复杂神经网络达到收敛,且现有的训练方法不能很好地优化大型神经网络内神经单元的结构和大型神经神经网络的结构。


技术实现要素:

4.本发明的目的在于解决现有技术的上述问题,提供了一种大型神经网络并行优化训练方法,本发明通过对大型神经网络进行最优训练和淘汰训练,能够提升大型神经网络的训练速度和训练效果,同时简化大型神经网络的结构,快速训练出单元最优和整体最优的大型神经网络。
5.本发明的目的主要通过以下技术方案实现:本发明提供了一种大型神经网络并行优化训练方法,所述方法包括以下步骤:步骤1,初始化大型神经网络,包括对神经网络单元的初始化和神经网络单元之间连接结构的初始化;步骤2,对大型神经网络进行最优训练,包括对神经网络单元进行单元训练,根据识别率最高的神经网络单元的参数对其余神经网络单元进行迁移训练,对大型神经网络进行整体训练,在大型神经网络识别率达到设定整体识别率时结束最优训练;步骤3,对大型神经网络进行最差淘汰训练,在保持大型神经网络识别率最优的前提下依次淘汰识别率低的神经网络单元,在神经网络单元数量最少时结束最差淘汰训练。
6.优选地,所述步骤2包括:步骤21,对大型神经网络中各神经网络单元并行进行单元训练,达到设定训练次数后单元训练结束,选取各个单元训练过程中识别率最高的网络结构定形对应的神经网络单元;如果存在识别率达到设定单元识别率的神经网络单元,则进行步骤22;如果不存在识
别率达到设定单元识别率的神经网络单元,则重新初始化神经网络单元内最小节点数量及最小节点间连接关系和权重,然后重复步骤21;步骤22,对于同类别的神经网络单元,将识别率最高的神经网络单元的参数迁移至其余神经网络单元,然后对其余神经网络单元并行进行迁移训练,达到设定训练次数后迁移训练结束,选取各个迁移训练过程中识别率最高的网络结构定形对应的神经网络单元;步骤23,对大型神经网络进行整体训练,达到设定训练次数则整体训练结束,选取整体训练过程中识别率最高的网络结构定形大型神经网络;步骤24,对大型神经网络进行测试,如果大型神经网络识别率达到设定整体识别率,则结束最优训练;如果大型神经网络识别率未达到设定整体识别率,则重新初始化神经网络单元之间连接关系和权重,然后重复步骤23。
7.优选地,所述步骤23中,重复步骤21的次数达到设定值后大型神经网络识别率仍未达到设定整体识别率时,结束大型神经网络的训练。
8.优选地,所述步骤21的重复次数达到设定值后仍不存在识别率达到设定单元识别率的神经网络单元时,结束大型神经网络的训练。
9.优选地,所述步骤3包括:步骤31,在保证大型神经网络输入输出不变的前提下,将大型神经网络中识别率最低的神经网络单元淘汰,然后对大型神经网络进行整体训练,选取整体训练过程中识别率最高的网络结构定形大型神经网络;步骤32,整体训练结束后对大型神经网络进行测试,如果大型神经网络识别率不低于上一个步骤31中大型神经网络初始识别率,则重复步骤31;如果大型神经网络识别率低于上一个步骤31中大型神经网络初始识别率,则选取上一个步骤31中进行淘汰前的网络结构定形最终的大型神经网络,然后结束最差淘汰训练。
10.综上所述,本发明具有以下有益效果:本发明采用并行对神经网络单元进行单元训练,并快速训练出识别率高的神经网络单元;将单元训练中识别率最高的神经网络单元的参数迁移至其余神经网络单元,再并行对其余神经网络单元进行迁移训练,以将其余神经网络单元快速训练至高识别率;对大型神经网络进行整体训练,快速训练至高识别率;对结束最优训练的大型神经网络进行最差淘汰训练,减少大型神经网络内神经网络单元数量,简化大型神经网络结构的方法,能够快速训练出单元最优和整体最优的大型神经网络。
11.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
12.为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
13.图1为本发明一个具体实施例的方法流程图。
14.图2为本发明一个具体实施例步骤2的流程图。
15.图3为本发明一个具体实施例步骤3的流程图。
具体实施方式
16.为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
17.需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
18.本发明提供了一种大型神经网络并行优化训练方法,如图1所示,所述方法包括以下步骤:步骤1,初始化大型神经网络,包括对神经网络单元的初始化和神经网络单元之间连接结构的初始化。初始化可为随机初始化,神经网络单元的初始化包括神经网络单元数量、神经网络单元内最小节点数量及最小节点间连接关系和权重等的初始化,神经网络单元之间连接结构的初始化包括神经网络单元间连接关系和权重等的初始化。
19.步骤2,对大型神经网络进行最优训练,包括对神经网络单元进行单元训练,根据识别率最高的神经网络单元的参数对其余神经网络单元进行迁移训练,对大型神经网络进行整体训练,在大型神经网络识别率达到设定整体识别率时结束最优训练。
20.具体地,如图2所示,所述步骤2包括:步骤21,对大型神经网络中各神经网络单元并行进率达行单元训练,达到设定训练次数后单元训练结束,选取各个单元训练过程中识别率最高的网络结构定形对应的神经网络单元;如果存在识别到设定单元识别率的神经网络单元,则进行步骤22;如果不存在识别率达到设定单元识别率的神经网络单元,则重新初始化神经网络单元内最小节点数量及最小节点间连接关系和权重等,然后重复步骤21。
21.神经网络的初始化参数对其训练时间有较大影响,如果初始化参数与最优参数较为接近,则神经网络训练较短时间即可达到高识别率,而如果初始化参数与最优参数相距甚远,则神经网络需要训练很长时间才能达到高识别率。通过将单元训练的总训练次数设定为较少,在单元训练结束后不存在识别率达到设定单元识别率的神经网络单元时,重新初始化神经网络单元,直至找到能够在较少总训练次数内达到高识别率的神经网络单元结构,以较快地训练出高识别率的神经网络单元。在单元训练的具体训练过程中,设定较大的训练步长,以使得在单元训练的初始化参数与最优参数相距甚远时,能够迅速地靠近最优参数,得到次优参数,再以次优参数作为该单元训练的二次参数,进行小步长训练以较快地得到该单次单元训练的结果。
22.需要说明的是,为了避免训练进入死循环,设置保险机制,所述步骤21的重复次数达到设定值后仍不存在识别率达到设定单元识别率的神经网络单元时,结束大型神经网络的训练。
23.步骤22,对于同类别的神经网络单元,将识别率最高的神经网络单元的参数迁移至其余神经网络单元,然后对其余神经网络单元并行进行迁移训练,达到设定训练次数后迁移训练结束,选取各个迁移训练过程中识别率最高的网络结构定形对应的神经网络单元。需要说明的是,本发明针对的是神经网络单元间存在一定的相似度的大型神经网络,通过迁移训练能够使全部神经网络单元快速达到高识别率。
24.步骤23,对大型神经网络进行整体训练,达到设定训练次数则整体训练结束,选取整体训练过程中识别率最高的网络结构定形大型神经网络。
25.步骤24,对大型神经网络进行测试,如果大型神经网络识别率达到设定整体识别率,则结束最优训练;如果大型神经网络识别率未达到设定整体识别率,则重新初始化神经网络单元之间连接关系和权重等,然后重复步骤23。
26.与单元训练相同,通过将整体训练的总训练次数设定为较少,在整体训练结束后大型神经网络识别率未达到设定整体识别率时,重新初始化大型神经网络,直至找到能够在较少总训练次数内达到高识别率的大型神经网络结构,以较快地训练出高识别率的大型神经网络。
27.需要说明的是,为了避免训练进入死循环,设置保险机制,所述步骤24中,重复步骤23的次数达到设定值后大型神经网络识别率仍未达到设定整体识别率时,结束大型神经网络的训练。
28.可以理解的是,单元训练、整体训练可采用神经网络常用的训练方法,如梯度下降法、牛顿算法、共轭梯度法、准牛顿法、levenberg

marquardt算法等;迁移训练可采用归纳式迁移、直推式迁移、无监督迁移等常用的训练方法。
29.如图1所示,步骤3为,对大型神经网络进行最差淘汰训练,在保持大型神经网络识别率最优的前提下依次淘汰识别率低的神经网络单元,在神经网络单元数量最少时结束最差淘汰训练,以简化大型神经网络的结构。
30.具体地,如图3所示,所述步骤3包括:步骤31,在保证大型神经网络输入输出不变的前提下,将大型神经网络中识别率最低的神经网络单元淘汰,然后对大型神经网络进行整体训练,选取整体训练过程中识别率最高的网络结构定形大型神经网络。需要说明的是,识别率最低的神经网络单元是综合步骤2中单元训练和迁移训练的结果来判断的。
31.步骤32,整体训练结束后对大型神经网络进行测试,如果大型神经网络识别率不低于上一个步骤31中大型神经网络初始识别率,则重复步骤31;需要说明的是,重复步骤31时,是将当下大型神经网络(已淘汰过识别率最低神经网络单元后的结构)中识别率最低的神经网络单元淘汰。如果大型神经网络识别率低于上一个步骤31中大型神经网络初始识别率,则选取上一个步骤31中进行淘汰前的网络结构定形最终的大型神经网络,然后结束最差淘汰训练。
32.本发明采用并行方式对神经网络单元进行单元训练,并快速训练出识别率高的神经网络单元;将单元训练中识别率最高的神经网络单元的参数迁移至其余神经网络单元,再并行对其余神经网络单元进行迁移训练,以将其余神经网络单元快速训练至高识别率;对大型神经网络进行整体训练,快速训练至高识别率;对结束最优训练的大型神经网络进行最差淘汰训练,减少大型神经网络内神经网络单元数量,简化大型神经网络结构的方法,能够快速训练出单元最优和整体最优的大型神经网络。
33.需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
34.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
35.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1