CN111860828A - 一种神经网络的训练方法、存储介质和设备 - Google Patents
一种神经网络的训练方法、存储介质和设备 Download PDFInfo
- Publication number
- CN111860828A CN111860828A CN202010540736.3A CN202010540736A CN111860828A CN 111860828 A CN111860828 A CN 111860828A CN 202010540736 A CN202010540736 A CN 202010540736A CN 111860828 A CN111860828 A CN 111860828A
- Authority
- CN
- China
- Prior art keywords
- neural network
- training
- nodes
- parameter
- node
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 239
- 238000012549 training Methods 0.000 title claims abstract description 233
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000001186 cumulative effect Effects 0.000 claims abstract description 82
- 238000003062 neural network model Methods 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 238000013461 design Methods 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 239000002245 particle Substances 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 3
- 230000004927 fusion Effects 0.000 description 19
- 238000005457 optimization Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 5
- 230000002787 reinforcement Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000012854 evaluation process Methods 0.000 description 3
- 230000033764 rhythmic process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 229920002803 thermoplastic polyurethane Polymers 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (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)
Abstract
本发明实施例公开一种神经网络的训练方法,构建包括参数节点及若干个训练节点的训练框架,将若干训练节点与参数节点的神经网络参数进行更新;各训练节点进行训练,每隔预设的训练步数分别向参数节点发送神经网络参数和/或神经网络累积梯度;参数节点对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,并据其更新参数节点的神经网络参数和/或神经网络累积梯度;各训练节点根据参数节点发送的融合后的神经网络参数和/或神经网络累积梯度再次训练,通过预设的模型训练终止条件,参数节点输出其神经网络模型。本发明实施例提供的神经网络的训练方法,可进一步提升神经网络训练方法的训练效率及收敛模型的性能和训练精度。
Description
技术领域
本发明涉及深度学习技术领域,特别是涉及一种神经网络的训练方法、存储介质和设备。
背景技术
随着深度学习、深度强化学习等智能化算法所面临问题复杂性的日益增强,深度神经网络的训练所需的数据规模和训练计算量剧烈增长,单机训练时长也逐渐趋于爆炸。尽管近年来GPU硬件的发展取得了长足进展,并在一定程度上为深度神经网络的训练提供了支撑,但单机训练深度神经网络的时长仍然过长。在此条件下,深度神经网络的分布式训练被提出,并逐渐引起研究人员关注。
现有技术中的深度神经网络的分布式训练主要存在三种模式:模型并行、数据并行、以及模型和数据并行。模型并行主要是采用不同的计算机/计算节点对同一个深度神经网络的不同部分进行训练,以提升整个模型的训练效率,模型并行模式主要针对体量庞大的深度神经网络模型,得益于GPU硬件的快速发展,目前规模的深度神经网络在单机或单卡上基本能够得到良好支撑。
数据并行则是将同一个深度神经网络模型复制为多份,分别采用不同的计算机对深度神经网络模型副本进行训练,训练过程中通过对不同深度神经网络模型副本的神经网络参数或其累积梯度进行处理,获得神经网络参数更新,最终获得良好收敛的模型。
目前现有的数据并行模式的深度神经网络分布式训练方法,在不同模型参数处理方面主要包括三种方法:参数平均、梯度平均、以及去中心化传递更新。其中,参数平均、梯度平均的训练方法中,计算集群分为参数管理节点和训练节点,各训练节点在训练周期开始前均与参数管理节点同步神经网络参数,且在训练后,将训练节点的神经网络参数或累积训练梯度发送给参数管理节点,参数管理节点对各个训练节点传递过来的神经网络参数或累积训练梯度取平均后更新参数管理节点的神经网络参数,从而完成模型更新。而去中心化传递更新方法与之前的两种方法不同,在该方法中,计算集群中的所有节点均为训练节点。每个训练周期中,各训练节点将各自的累积梯度发送给其他的训练节点,并以其他训练节点发送来的累积梯度的平均值更新自身的神经网络副本参数。相比前两种方法,该方法的主要效果在于缩减网络通信,但其与前两种方法的实际性能对比尚为空白。
随着深度神经网络模型所要处理的任务的复杂性与日俱增,训练深度神经网络所需考虑、采用的训练数据的体量的日益增长,现有技术中的深度神经网络分布式训练方法的收敛效率及收敛得到的模型的性能、训练精度较差,数据利用效率较低。
因此,为了克服现有技术存在的技术缺陷,需要提供一种新的神经网络的训练方法、存储介质和设备。
发明内容
本发明的目的在于提供一种神经网络的训练方法、存储介质和设备,以解决现有技术存在的问题中的至少一个。
为了达到上述目的之一,本发明一方面提供一种神经网络的训练方法,包括以下步骤:
S1、构建分布式训练框架,所述分布式训练框架包括参数节点及若干个训练节点,所述参数节点与所述若干个训练节点分别具有神经网络模型;
S2、将所述若干训练节点的神经网络参数与所述参数节点的神经网络参数进行更新;
S3、各训练节点基于各自的训练数据,对各自的神经网络模型进行训练,以分别更新各训练节点的神经网络参数和/或神经网络累积梯度;
S4、各训练节点每隔预设的训练步数分别向所述参数节点发送各训练节点的神经网络参数和/或神经网络累积梯度;
S5、参数节点分别对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,以得到融合后的神经网络参数和/或神经网络累积梯度,并据其更新参数节点的神经网络参数和/或神经网络累积梯度;
S6、判断是否满足预设的模型训练终止条件,若满足则转入步骤S8,否则转入步骤S7;
S7、参数节点将融合后的神经网络参数和/或神经网络累积梯度发送给各训练节点,各训练节点根据所述融合后的神经网络参数和/或神经网络累积梯度再次训练,以分别再次更新各训练节点的神经网络参数和/或神经网络累积梯度,并转入步骤S4;
S8、参数节点输出其神经网络模型。
在一种实施例中,步骤S2中所述若干训练节点的神经网络参数与所述参数节点的神经网络参数设置为同步更新。
在一种实施例中,所述模型训练终止条件为:参数节点的神经网络模型的训练精度达到预设的精度的期望值。
在一种实施例中,所述参数节点分别对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,以得到融合后的神经网络参数和/或神经网络累积梯度进一步包括:
将各训练节点的神经网络参数或神经网络累积梯度设置为X1,X2,......,Xn,各训练节点的神经网络参数和/或神经网络累积梯度通过以下形式进行融合:
Xint=g(X1,X2,......,Xn;pi)
=g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T),
其中,
pi=[θ1,i,θ2,i,...,θm,i]T i∈{1,2,...,popSize},θi为一个参数向量,θm,i为θi的第m维的数值,θm,i∈[0,1],m为θi向量的维数,popSize为pi向量的总数,g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为参数化函数,Xint为融合后的神经网络参数和/或神经网络累积梯度;
设计适应度函数,并根据所述适应度函数对融合得到的神经网络参数或神经网络累积梯度的性能进行评价;
采用群体智能算法设计θi的位置演化规律及演化过程。
在一种实施例中,所述g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为多项式函数或三角函数。
在一种实施例中,所述设计适应度函数,并根据所述适应度函数对融合得到的神经网络参数或神经网络累积梯度的性能进行评价基于分布式并行化设计实现。
在一种实施例中,所述采用群体智能算法设计θi的位置演化规律及演化过程基于分布式并行化设计实现。
在一种实施例中,所述群体智能算法为粒子群算法、人工蜂群算法或微分进化算法。
本发明第二方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的训练方法。
本发明第三方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的训练方法。
本发明的有益效果如下:
本发明针对目前现有技术中存在的问题,提供一种神经网络的训练方法、存储介质和设备,该训练方法通过每隔预设的训练步数就对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,充分利用各个训练节点的经验,更有效地更新参数节点的神经网络参数,从而进一步提升深度神经网络分布式训练的训练效率及收敛模型的性能和训练精度。而且,该训练方法可应用于目前主流的监督学习、无监督学习或者强化学习等多种学习模式中。另外,本发明的训练方法通过采用群体智能优化方法,引入对各训练节点的神经网络参数或累积梯度的最佳融合函数的搜索,通过在有限但庞大的搜索空间内对各训练节点的神经网络参数或累积梯度的最佳融合方式进行高效搜索,并可在较短时间内获得较优解甚至最优解,在进一步缩短训练时长的同时,提高收敛模型的性能和训练精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明的一个实施方式的神经网络的训练方法的流程示意图。
图2示出本发明的一个实施方式的神经网络的训练方法的整体框架图。
图3示出本发明的一个实施方式的群体智能优化算法的流程示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解的是,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
随着深度神经网络模型所要处理的任务的复杂性与日俱增,训练深度神经网络所需考虑、采用的训练数据的体量的日益增长,现有技术中的深度神经网络分布式训练方法的收敛效率及收敛得到的模型的性能、训练精度较差,数据利用效率较低。其中,针对数据并行模式的分布式训练,现有技术通常采用简单平均神经网络参数或累积梯度的方法,并未经过优化处理,特别是在各个神经网络参数或累积梯度如何融合上,缺乏更进一步的细致考虑;而且,现有技术的分布式训练往往需要各个训练节点训练充分长的时间才能进行一次参数管理节点的参数更新,导致神经网络达到收敛的效率较差,存在一定程度的缓慢,且收敛后所得到的神经网络模型的精度也较差。
针对现有技术中存在的技术问题,本发明提供一种神经网络的训练方法,如图1-3所示,包括以下步骤:
S1、构建分布式训练框架,所述分布式训练框架包括参数节点及若干个训练节点,所述参数节点与所述若干个训练节点分别具有神经网络模型,随后转入步骤S2;
在一种具体的实施方式中,该步骤还包括:
训练硬件环境的构建(如GPU卡等)、深度神经网络的构建以及训练基础框架的选择或实现。在又一种具体的实施方式中,训练基础框架可选择如Tensorflow、Pytorch、Caffe等;在一种具体的应用于监督学习、无监督学习的实施方式中,还包括对训练数据进行预处理;在一种具体的应用于深度强化学习的实施方式中,还包括准备交互式训练环境以及对接口封装等。
基于以上所构建的基础环境及选择的训练基础框架,设计并构建参数节点与若干个训练节点的深度神经网络模型,其中包括基于不同的处理问题,选择及设计不同的深度神经网络类型、深度神经网络结构的设计及神经元参数的初始化等。在一种具体的实施方式中,深度神经网络类型可为卷积神经网络、循环神经网络、残差网络、区域卷积网络、时域卷积网络等。深度神经网络结构的设计包括对深度神经网络的层数、单层神经元的个数等的设计。
同时,基于所设计的参数节点与若干个训练节点的深度神经网络模型以及具体的处理问题,设计实现若干个训练节点的深度神经网络模型的训练代码,实现训练逻辑流程的设计,为分布式训练框架的构建及实现奠定基础。
分布式训练框架的构建及实现主要基于若干个训练节点的深度神经网络模型的训练代码完成分布式训练算法的实现,在一种具体的实施方式中,在各个训练节点的训练代码的基础上,在各个训练节点补充如下部分的设计代码:
(1)与参数节点的数据通信代码,主要包括参数节点中神经网络参数的获取,以及当前的训练节点的神经网络参数和/或累积梯度向参数节点的发送;
(2)当前的训练节点的训练节奏的控制,即与参数节点的神经网络参数同步的节奏的配合;
同时,参数节点的训练代码也补充如下部分的设计代码;
(1)深度神经网络向不同计算设备部署部分代码(计算设备包括计算机、CPU、GPU、以及TPU),即若干个训练节点的构建;
(2)与若干个训练节点的数据通信代码,主要包括若干个训练节点的神经网络参数和/或累积梯度的获取,以及参数节点的神经网络参数和/或累积梯度向若干个训练节点的发送;
(3)参数节点的神经网络参数更新的节奏控制;
(4)若干个训练节点神经网络参数和/或累积梯度融合更新函数的接口保留,以便与后续采用群体优化算法对最佳融合函数寻优的代码集成。
S2、将所述若干训练节点的神经网络参数与所述参数节点的神经网络参数进行更新,随后转入步骤S3;
在一种具体的实施方式中,若干训练节点的神经网络参数与所述参数节点的神经网络参数设置为同步更新,也就是说,所有的训练节点的神经网络参数同时与参数节点的神经网络参数进行更新,随后转入步骤S3;在另一种实施方式中,若干训练节点的神经网络参数与所述参数节点的神经网络参数设置为异步更新,即若干训练节点的神经网络参数分别与参数节点的神经网络参数进行更新,更新完成的训练节点直接转入步骤S3中开始训练。通过异步更新,减少同一时间段与参数节点进行神经网络参数更新的训练节点的数量,一定程度上减轻参数节点的负担。
S3、各训练节点基于各自的训练数据,对各自的神经网络模型进行训练,以分别更新各训练节点的神经网络参数和/或神经网络累积梯度,随后转入步骤S4;
S4、各训练节点每隔预设的训练步数分别向所述参数节点发送各训练节点的神经网络参数和/或神经网络累积梯度,随后转入步骤S5;
S5、参数节点分别对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,以得到融合后的神经网络参数和/或神经网络累积梯度,并据其更新参数节点的神经网络参数和/或神经网络累积梯度,随后转入步骤S6;
具体地,参数节点分别对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,即参数节点将各训练节点的神经网络参数进行融合,从而得到融合后的神经网络参数;或者参数节点将各训练节点的神经网络累积梯度进行融合,从而得到融合后的神经网络累积梯度。
本实施例针对现有技术数据并行模式下深度神经网络分布式训练中对各训练节点的神经网络参数和/或神经网络累积梯度的处理过于简单,创造性地在各训练节点的神经网络参数和/或神经网络累积梯度的融合方式进行寻优。其中,申请人发现各训练节点的神经网络参数和/或神经网络累积梯度的最佳融合问题的实质是以各训练节点的神经网络参数和/或神经网络累积梯度作为自变量的函数空间上进行搜索,将各训练节点的神经网络参数或神经网络累积梯度设置为X1,X2,......,Xn,则各训练节点的神经网络参数和/或神经网络累积梯度的最佳融合问题可表示为以下形式:
由此可知,该融合问题为无穷维上的优化问题,难以求解。
在一种具体的实施方式中,如图1-3所示,所述参数节点分别对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,以得到融合后的神经网络参数和/或神经网络累积梯度进一步包括:
将各训练节点的神经网络参数或神经网络累积梯度设置为X1,X2,......,Xn,各训练节点的神经网络参数和/或神经网络累积梯度通过以下形式进行融合:
Xint=g(X1,X2,......,Xn;pi)
=g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T),
其中,
pi=[θ1,i,θ2,i,...,θm,i]T i∈{1,2,...,popSize},θi为一个参数向量,θm,i为θi的第m维的数值,θm,i∈[0,1],m为θi向量的维数,popSize为pi向量的总数,g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为参数化函数,Xint为融合后的神经网络参数和/或神经网络累积梯度;
由此可见,本申请采用有限参数化的函数描述方式,对各训练节点的神经网络参数和/或神经网络累积梯度的最佳融合问题采用有限参数化函数方式描述,从而实现可采用群体智能优化方法求解。
在一种具体的实施方式中,g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为多项式函数或三角函数。在另一种具体的实施方式中,g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为各训练节点的神经网络参数和/或神经网络累积梯度的加权求和,则该实施例的融合后的神经网络参数和/或神经网络累积梯度如下式所示:
在另一种具体的实施方式中,g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为各训练节点的神经网络参数和/或神经网络累积梯度的加权求平方和,则该实施例的融合后的神经网络参数和/或神经网络累积梯度如下式所示:
设计适应度函数,并根据所述适应度函数对融合得到的神经网络参数或神经网络累积梯度的性能进行评价;
具体地,基于深度神经网络待完成的学习任务类型以及具体的问题描述,以融合后的神经网络模型和/或神经网络累积梯度作为自变量,设计适应度函数,实现对当前个体确定的融合方式所得的融合参数或累积梯度性能的评价。采用有限参数化描述后的适应度函数为:
在如上所述当g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为各训练节点的神经网络参数和/或神经网络累积梯度的加权求和的实施方式中,适应度函数如下式所示:
在应用于监督学习的实施方式中,该适应度函数可描述为采用融合后的神经网络参数和/或神经网络累积梯度更新后的深度神经网络模型在训练集和测试集上的综合表现,其中,针对监督学习模式下的评价,适应度函数仍以深度神经网络模型在训练集上的表现为核心评价指标,而测试集仅作为搜索终止等处理的判定条件;在应用于无监督学习的实施例中,该适应度函数可描述为采用融合后的神经网络参数和/或神经网络累积梯度更新后的深度神经网络模型在数据集上的进行特征提取的性能评价值;在针对深度强化学习的实施方式中,该适应度函数则为采用融合后的神经网络参数和/或神经网络累积梯度更新后的深度神经网络模型在交互环境中决策的得分。
另外,在又一种实施方式中,所述设计适应度函数,并根据所述适应度函数对融合得到的神经网络参数和/或神经网络累积梯度的性能进行评价基于分布式并行化设计实现,即将适应度评价过程根据具体算法进行分布式并行化设计,分配至多个CPU、多个进程进行分布式并行计算,充分利用CPU的计算资源,与分布式训练所采用的GPU资源共同支撑高效训练,以进一步提升搜索效率,进一步提升深度神经网络训练效率。
采用群体智能算法设计θi的位置演化规律及演化过程。
基于以上两点,针对神经网络参数和/或神经网络累积梯度的最优融合方式的搜索过程中群体中个体位置的演化规律及演化过程通过群体智能算法进行设计。具体地,如图3所示,在一种实施例中,所述群体智能算法为粒子群算法、人工蜂群算法或微分进化算法,也可采用自行设计或改进算法实现。在一种采用粒子群算法进行设计的实施方式中,即θi设计为一个例子在三维空间内的位置,通过大量迭代更新求出最优解。
在一种实施例中,所述采用群体智能算法设计θi的位置演化规律及演化过程基于分布式并行化设计实现。即将适应度评价过程根据具体算法进行分布式并行化设计,分配至多个CPU、多个进程进行分布式并行计算,充分利用CPU的计算资源,与分布式训练所采用的GPU资源共同支撑高效训练,以进一步提升搜索效率,进一步提升深度神经网络训练效率。
该实施方式通过在各训练节点的神经网络参数和/或神经网络累积梯度的融合方式中引入基于群体智能优化方法寻优过程,实现对各训练节点的神经网络参数和/或神经网络累积梯度的最佳融合方式的高效搜索,可在较短时间内获得较优解甚至最优解,在进一步缩短训练时长的同时,提高收敛模型的性能和训练精度。
S6、判断是否满足预设的模型训练终止条件,若满足则转入步骤S8,否则转入步骤S7;
具体地,在一种实施例中,所述模型训练终止条件为:参数节点的神经网络模型的训练精度达到预设的精度的期望值。
S7、参数节点将融合后的神经网络参数和/或神经网络累积梯度发送给各训练节点,各训练节点根据所述融合后的神经网络参数和/或神经网络累积梯度再次训练,以分别再次更新各训练节点的神经网络参数和/或神经网络累积梯度,并转入步骤S4;
S8、参数节点输出其神经网络模型。
相比于现有技术中数据并行模式下采用简单平均方法的深度神经网络分布式训练方法,而且往往需要各个训练节点训练充分长的时间才能进行一次参数管理节点的参数更新,导致训练效率和模型性能不佳,本申请的实施例的训练方法首先通过每隔预设的训练步数就对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,充分利用各个训练节点的经验,更有效地更新参数节点的神经网络参数,从而进一步提升深度神经网络分布式训练的训练效率及收敛模型的性能和训练精度。同时通过在各训练节点的神经网络参数和/或神经网络累积梯度的融合方式中引入基于群体智能优化方法寻优过程,通过在有限但庞大的搜索空间内对各训练节点的神经网络参数和/或累积梯度的最佳融合方式进行高效搜索,可在较短时间内获得较优解甚至最优解,完成对多源的神经网络参数和/或累积梯度的最佳融合方式的寻优,在进一步缩短训练时长的同时,提高收敛模型的性能和训练精度。而且,该训练方法可应用于目前主流的监督学习、无监督学习或者强化学习等多种学习模式中。
同时,深度神经网络的分布式训练方法由于涉及大量的张量计算,通常用到多块GPU联合使用甚至多个配置有GPU卡的计算机联合使用,以对训练过程实现充分的计算加速。与之相配合地,适应度评价过程和个体位置演化过程都可基于分布式并行化设计实现。即根据具体算法进行分布式并行化设计,分配至多个CPU、多个进程进行分布式并行计算,充分利用CPU的计算资源,与分布式训练所采用的GPU资源共同支撑高效训练,融合众多CPU核心的算力,实现在很短时间内完成各训练节点的神经网络参数和/或神经网络累积梯度的融合方法的寻优,以削弱对于深度神经网络的分布式训练方法的训练时间的影响,进一步提升搜索效率,进一步提升深度神经网络训练效率。
本发明的一个实施例中提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的训练方法。
本发明的又一个实施例中提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的训练方法。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (10)
1.一种神经网络的训练方法,其特征在于,包括以下步骤:
S1、构建分布式训练框架,所述分布式训练框架包括参数节点及若干个训练节点,所述参数节点与所述若干个训练节点分别具有神经网络模型;
S2、将所述若干训练节点的神经网络参数与所述参数节点的神经网络参数进行更新;
S3、各训练节点基于各自的训练数据,对各自的神经网络模型进行训练,以分别更新各训练节点的神经网络参数和/或神经网络累积梯度;
S4、各训练节点每隔预设的训练步数分别向所述参数节点发送各训练节点的神经网络参数和/或神经网络累积梯度;
S5、参数节点分别对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,以得到融合后的神经网络参数和/或神经网络累积梯度,并据其更新参数节点的神经网络参数和/或神经网络累积梯度;
S6、判断是否满足预设的模型训练终止条件,若满足则转入步骤S8,否则转入步骤S7;
S7、参数节点将融合后的神经网络参数和/或神经网络累积梯度发送给各训练节点,各训练节点根据所述融合后的神经网络参数和/或神经网络累积梯度再次训练,以分别再次更新各训练节点的神经网络参数和/或神经网络累积梯度,并转入步骤S4;
S8、参数节点输出其神经网络模型。
2.根据权利要求1所述的训练方法,其特征在于,步骤S2中所述若干训练节点的神经网络参数与所述参数节点的神经网络参数设置为同步更新。
3.根据权利要求1所述的训练方法,其特征在于,所述模型训练终止条件为:参数节点的神经网络模型的训练精度达到预设的精度的期望值。
4.根据权利要求1所述的训练方法,其特征在于,所述参数节点分别对各训练节点的神经网络参数和/或神经网络累积梯度进行融合,以得到融合后的神经网络参数和/或神经网络累积梯度进一步包括:
将各训练节点的神经网络参数或神经网络累积梯度设置为X1,X2,....,Xn,各训练节点的神经网络参数和/或神经网络累积梯度通过以下形式进行融合:
Xint=g(X1,X2,......,Xn;pi)
=g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T),
其中,
pi=[θ1,i,θ2,i,...,θm,i]Ti∈{1,2,...,popSize},θi为一个参数向量,θm,i为θi的第m维的数值,θm,i∈[0,1],m为θi向量的维数,popSize为pi向量的总数,g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为参数化函数,Xint为融合后的神经网络参数和/或神经网络累积梯度;
设计适应度函数,并根据所述适应度函数对融合得到的神经网络参数或神经网络累积梯度的性能进行评价;
采用群体智能算法设计θi的位置演化规律及演化过程。
5.根据权利要求4所述的训练方法,其特征在于,所述g(X1,X2,......,Xn;[θ1,i,θ2,i,...,θm,i]T)为多项式函数或三角函数。
6.根据权利要求4所述的训练方法,其特征在于,所述设计适应度函数,并根据所述适应度函数对融合得到的神经网络参数或神经网络累积梯度的性能进行评价基于分布式并行化设计实现。
7.根据权利要求4所述的训练方法,其特征在于,所述采用群体智能算法设计θi的位置演化规律及演化过程基于分布式并行化设计实现。
8.根据权利要求4所述的训练方法,其特征在于,所述群体智能算法为粒子群算法、人工蜂群算法或微分进化算法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8所述的训练方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8所述的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010540736.3A CN111860828B (zh) | 2020-06-15 | 2020-06-15 | 一种神经网络的训练方法、存储介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010540736.3A CN111860828B (zh) | 2020-06-15 | 2020-06-15 | 一种神经网络的训练方法、存储介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111860828A true CN111860828A (zh) | 2020-10-30 |
CN111860828B CN111860828B (zh) | 2023-11-28 |
Family
ID=72987372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010540736.3A Active CN111860828B (zh) | 2020-06-15 | 2020-06-15 | 一种神经网络的训练方法、存储介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111860828B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112581026A (zh) * | 2020-12-29 | 2021-03-30 | 杭州趣链科技有限公司 | 一种联盟链上物流机器人联合路径规划方法 |
CN112766498A (zh) * | 2021-01-29 | 2021-05-07 | 北京达佳互联信息技术有限公司 | 模型训练方法及装置 |
CN112836721A (zh) * | 2020-12-17 | 2021-05-25 | 北京仿真中心 | 一种图像识别方法及装置、计算机设备、可读存储介质 |
CN113255730A (zh) * | 2021-04-27 | 2021-08-13 | 西安交通大学 | 基于拆分-融合策略的分布式深度神经网络结构转换方法 |
CN113762456A (zh) * | 2020-11-26 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种模型参数调节方法和系统 |
CN114358258A (zh) * | 2022-03-17 | 2022-04-15 | 苏州浪潮智能科技有限公司 | 一种量子神经网络训练方法和装置 |
CN115481752A (zh) * | 2022-09-23 | 2022-12-16 | 中国电信股份有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
CN115526302A (zh) * | 2022-08-19 | 2022-12-27 | 北京应用物理与计算数学研究所 | 基于异构多核处理器的多层神经网络计算方法及装置 |
WO2023040794A1 (zh) * | 2021-09-15 | 2023-03-23 | 华为技术有限公司 | 通信方法以及通信装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463324A (zh) * | 2014-11-21 | 2015-03-25 | 长沙马沙电子科技有限公司 | 一种基于大规模高性能集群的卷积神经网络并行处理方法 |
CN106297774A (zh) * | 2015-05-29 | 2017-01-04 | 中国科学院声学研究所 | 一种神经网络声学模型的分布式并行训练方法及系统 |
CN107124394A (zh) * | 2017-03-10 | 2017-09-01 | 北京国电通网络技术有限公司 | 一种电力通信网络安全态势预测方法和系统 |
US20180018590A1 (en) * | 2016-07-18 | 2018-01-18 | NantOmics, Inc. | Distributed Machine Learning Systems, Apparatus, and Methods |
CN108805259A (zh) * | 2018-05-23 | 2018-11-13 | 北京达佳互联信息技术有限公司 | 神经网络模型训练方法、装置、存储介质及终端设备 |
CN109120610A (zh) * | 2018-08-03 | 2019-01-01 | 上海海事大学 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
CN109241139A (zh) * | 2018-08-31 | 2019-01-18 | 联想(北京)有限公司 | 数据处理方法、逻辑模型系统以及数据处理系统 |
US20190050727A1 (en) * | 2018-01-12 | 2019-02-14 | Timothy Anderson | Neural network training |
CN109871995A (zh) * | 2019-02-02 | 2019-06-11 | 浙江工业大学 | Spark框架下分布式深度学习的量子优化调参方法 |
CN110378472A (zh) * | 2019-07-24 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种深度神经网络模型的数据并行训练方法、装置及设备 |
CN110490319A (zh) * | 2019-07-30 | 2019-11-22 | 成都蓉奥科技有限公司 | 基于融合神经网络参数的分布式深度强化学习 |
WO2019232844A1 (zh) * | 2018-06-04 | 2019-12-12 | 平安科技(深圳)有限公司 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
CN110598842A (zh) * | 2019-07-17 | 2019-12-20 | 深圳大学 | 一种深度神经网络超参数优化方法、电子设备及存储介质 |
CN110782030A (zh) * | 2019-09-16 | 2020-02-11 | 平安科技(深圳)有限公司 | 深度学习权值更新方法、系统、计算机设备及存储介质 |
-
2020
- 2020-06-15 CN CN202010540736.3A patent/CN111860828B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463324A (zh) * | 2014-11-21 | 2015-03-25 | 长沙马沙电子科技有限公司 | 一种基于大规模高性能集群的卷积神经网络并行处理方法 |
CN106297774A (zh) * | 2015-05-29 | 2017-01-04 | 中国科学院声学研究所 | 一种神经网络声学模型的分布式并行训练方法及系统 |
US20180018590A1 (en) * | 2016-07-18 | 2018-01-18 | NantOmics, Inc. | Distributed Machine Learning Systems, Apparatus, and Methods |
CN107124394A (zh) * | 2017-03-10 | 2017-09-01 | 北京国电通网络技术有限公司 | 一种电力通信网络安全态势预测方法和系统 |
US20190050727A1 (en) * | 2018-01-12 | 2019-02-14 | Timothy Anderson | Neural network training |
CN108805259A (zh) * | 2018-05-23 | 2018-11-13 | 北京达佳互联信息技术有限公司 | 神经网络模型训练方法、装置、存储介质及终端设备 |
WO2019232844A1 (zh) * | 2018-06-04 | 2019-12-12 | 平安科技(深圳)有限公司 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
CN109120610A (zh) * | 2018-08-03 | 2019-01-01 | 上海海事大学 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
CN109241139A (zh) * | 2018-08-31 | 2019-01-18 | 联想(北京)有限公司 | 数据处理方法、逻辑模型系统以及数据处理系统 |
CN109871995A (zh) * | 2019-02-02 | 2019-06-11 | 浙江工业大学 | Spark框架下分布式深度学习的量子优化调参方法 |
CN110598842A (zh) * | 2019-07-17 | 2019-12-20 | 深圳大学 | 一种深度神经网络超参数优化方法、电子设备及存储介质 |
CN110378472A (zh) * | 2019-07-24 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种深度神经网络模型的数据并行训练方法、装置及设备 |
CN110490319A (zh) * | 2019-07-30 | 2019-11-22 | 成都蓉奥科技有限公司 | 基于融合神经网络参数的分布式深度强化学习 |
CN110782030A (zh) * | 2019-09-16 | 2020-02-11 | 平安科技(深圳)有限公司 | 深度学习权值更新方法、系统、计算机设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
RYO YONETANI等: "Decentralized Learning of Generative Adversarial Networks from Non-iid Data", 《ARXIV:1905.09684V2》, pages 1 - 13 * |
YIXIN BAO等: "Online Job Scheduling in Distributed Machine Learning Clusters", 《IEEE CONFERENCE ON COMPUTER COMMUNICATIONS》, pages 495 - 503 * |
尤良伊等: "可扩展机器学习的并行与分布式优化算法综述", 《软件学报》, vol. 29, no. 1, pages 109 - 130 * |
贾晓光: "基于Spark 的并行化协同深度推荐模型", 《计算机工程与应用》, vol. 54, no. 14, pages 71 - 76 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113762456A (zh) * | 2020-11-26 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种模型参数调节方法和系统 |
CN112836721A (zh) * | 2020-12-17 | 2021-05-25 | 北京仿真中心 | 一种图像识别方法及装置、计算机设备、可读存储介质 |
CN112836721B (zh) * | 2020-12-17 | 2024-03-22 | 北京仿真中心 | 一种图像识别方法及装置、计算机设备、可读存储介质 |
CN112581026A (zh) * | 2020-12-29 | 2021-03-30 | 杭州趣链科技有限公司 | 一种联盟链上物流机器人联合路径规划方法 |
CN112766498A (zh) * | 2021-01-29 | 2021-05-07 | 北京达佳互联信息技术有限公司 | 模型训练方法及装置 |
CN112766498B (zh) * | 2021-01-29 | 2022-11-22 | 北京达佳互联信息技术有限公司 | 模型训练方法及装置 |
CN113255730A (zh) * | 2021-04-27 | 2021-08-13 | 西安交通大学 | 基于拆分-融合策略的分布式深度神经网络结构转换方法 |
CN113255730B (zh) * | 2021-04-27 | 2023-04-07 | 西安交通大学 | 基于拆分-融合策略的分布式深度神经网络结构转换方法 |
WO2023040794A1 (zh) * | 2021-09-15 | 2023-03-23 | 华为技术有限公司 | 通信方法以及通信装置 |
CN114358258B (zh) * | 2022-03-17 | 2022-07-12 | 苏州浪潮智能科技有限公司 | 一种量子神经网络训练方法和装置 |
CN114358258A (zh) * | 2022-03-17 | 2022-04-15 | 苏州浪潮智能科技有限公司 | 一种量子神经网络训练方法和装置 |
CN115526302A (zh) * | 2022-08-19 | 2022-12-27 | 北京应用物理与计算数学研究所 | 基于异构多核处理器的多层神经网络计算方法及装置 |
CN115526302B (zh) * | 2022-08-19 | 2023-07-25 | 北京应用物理与计算数学研究所 | 基于异构多核处理器的多层神经网络计算方法及装置 |
CN115481752A (zh) * | 2022-09-23 | 2022-12-16 | 中国电信股份有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
CN115481752B (zh) * | 2022-09-23 | 2024-03-19 | 中国电信股份有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111860828B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111860828A (zh) | 一种神经网络的训练方法、存储介质和设备 | |
CN107103113B (zh) | 面向神经网络处理器的自动化设计方法、装置及优化方法 | |
Zhang et al. | Poseidon: A system architecture for efficient gpu-based deep learning on multiple machines | |
CN111462137A (zh) | 一种基于知识蒸馏和语义融合的点云场景分割方法 | |
CN108460457A (zh) | 一种面向卷积神经网络的多机多卡混合并行异步训练方法 | |
CN114756383A (zh) | 一种分布式计算方法、系统、设备及存储介质 | |
CN112699247A (zh) | 一种基于多类交叉熵对比补全编码的知识表示学习框架 | |
CN112329948A (zh) | 一种多智能体策略预测方法及装置 | |
CN105184368A (zh) | 一种分布式极限学习机优化集成框架方法系统及方法 | |
CN112287990B (zh) | 一种基于在线学习的边云协同支持向量机的模型优化方法 | |
CN108710906A (zh) | 基于轻量级网络LightPointNet的实时点云模型分类方法 | |
CN116644804B (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
CN109344969B (zh) | 神经网络系统及其训练方法以及计算机可读介质 | |
CN113159287A (zh) | 一种基于梯度稀疏的分布式深度学习方法 | |
CN111831354A (zh) | 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 | |
JP2022136234A (ja) | 連合学習方法及び装置、電子機器、記憶媒体ならびにコンピュータプログラム | |
CN113191504B (zh) | 一种面向计算资源异构的联邦学习训练加速方法 | |
CN117744759A (zh) | 文本信息的识别方法、装置、存储介质及电子设备 | |
CN113240100A (zh) | 基于离散Hopfield神经网络的并行计算方法及系统 | |
Shu et al. | Design of deep learning accelerated algorithm for online recognition of industrial products defects | |
CN115879543B (zh) | 一种模型训练方法、装置、设备、介质及系统 | |
KR20210115863A (ko) | 뉴럴 네트워크 모델을 위한 병렬 처리 방법 및 장치 | |
CN115292044A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109299725A (zh) | 一种基于张量链并行实现高阶主特征值分解的预测系统和装置 | |
Ruz et al. | Reconstruction of Boolean regulatory models of flower development exploiting an evolution strategy |
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 |