深度神经网络模型并行的全连接层数据交换方法及系统技术方案

技术编号:15896030 阅读:23 留言:0更新日期:2017-07-28 20:10
本发明专利技术公开了一种深度神经网络模型并行的全连接层数据交换方法及系统,将深度神经网络的全连接层按神经元的数目均匀划分到N个训练单元上,形成一种在深度神经网络中全连接层模型并行的网络模型;在全连接层的前向传播过程中,采用半停等前向传播方法对前层的输入数据,采取部分到达、部分计算、整体输出和整体传播的处理方式;在全连接层的后向传播过程中,采用定停等后向传播方法对后层的残差数据,采取定量达到、定量计算和定量传播的处理方式;在一次前向与后向传播完成后,依据所求的权值梯度与阈值梯度,并行地更新各层的权值数据与阈值数据。能够将全连接层的数据通信与数据计算进行重叠,在保证正确率的前提下加速模型的收敛。

Full connection layer data exchange method and system in depth neural network model parallel

The invention discloses a fully connected layer data exchange method and system for a parallel depth of neural network model, the depth of the neural network connection layer according to the number of neurons was evenly divided into N training unit, the formation of a fully connected layer model in depth parallel neural network and the network model; in the connection layer prior to the communication process, using semi stop forward propagation method of input data before layer, take part of the deal reached, some calculation, overall output and overall communication; in the connection layer back propagation process, using the back propagation method to stop after the residual data layer, take treatment of quantitative and quantitative calculation and quantitative to spread; in a forward and backward propagation is completed, according to the weight gradient and gradient threshold, parallel data and update the weights of each layer Threshold data. The data communication of the full connection layer can be overlapped with the data calculation, and the convergence of the model can be accelerated under the premise of guaranteeing the correct rate.

【技术实现步骤摘要】
深度神经网络模型并行的全连接层数据交换方法及系统
本专利技术属于深度学习
,更具体地,涉及一种深度神经网络中对针对模型并行的全连接层数据交换方法及系统。
技术介绍
深度神经网络(DeepNeuralNetwork,DNN)是由一个输入层,多个隐含层,一个输出层组成的一种人工神经网络(ArtificialNeuralNetwork,ANN),每层由多个神经元节点组成,前层与后层的神经元节点间相互连接,如图1所示,图1中所有的层在同一训练单元上,I表示输入层,H表示隐含层(隐含层需要有多个),O表示隐含层,细线表示神经元与神经元连接,粗线表示部件与部件(此处指某一层)连接。在神经网络模型中,全连接层(Full-ConnectedLayer)指的是那些所有节点都与相邻层的任一节点相连的层,用“FC”表示全连接层。随着训练数据集的增大,在深度神经网络的模型训练中,受限于单个训练单元的内存大小(训练单元是一个独立的计算节点,它可以是一张GPU卡或者是一个服务器节点),全连接层的训练参数(包括连接权值参数与阈值参数,阈值参数亦称偏置参数)往往超过了单个训练单元的内存大小,故需要将全连接层拆分成N个分片,每个分片由部分神经元节点及神经元节点之间的训练参数组成,由分布在一台或者多台主机上的N个训练单元分别持有,共同协作完成训练,如图2所示,这便形成了一种深度神经网络中全连接层的模型并行训练模式。当一个神经元的输入来自另一个训练单元上的神经元的输出时,将产生通信开销,如在图2中,当训练单元GPU2的神经元的输入需要来自训练单元GPU1上的神经元的输出时,需要将后者的输出拷贝给前者,便产生了通信开销。在深度神经网络标准的传播方法中,不论是前向传播还是后向传播,计算与通信都是严格一致的,以下以标准的前向传播(标准的后向传播与标准的前向传播类似)作为说明,其核心思想为:(1)等待数据:训练单元等待所有源训练单元(产生数据的训练单元)的输出数据的到来;(2)整体输出:训练单元计算当前层的输出数据;(3)整体传播:训练单元将输出数据传播到多个目标训练单元(接收数据的训练单元),作为目标训练单元的输入数据。然而以上方法存在以下缺陷:由于训练单元分布在一台或者多台主机上,输出数据从源训练单元到目标训练单元传输速率将不一致,目标训练单元需要等待速率最慢的源训练单元的数据到达后才能开始下一步工作(继续前向传播),通信开销也随之增大。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种深度神经网络模型并行的全连接层数据交换方法及系统,能够将全连接层的数据通信与数据计算进行重叠,在保证正确率的前提下加速模型的收敛。由此解决现有技术中通信开销较大的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种深度神经网络模型并行的全连接层数据交换方法,包括:(1)对于每个全连接层FCl,l∈[1,L],依据FCl中神经元的数目将FCl划分为N等分得到N个子全连接层,分别将划分后的各子全连接层分配到N个训练单元上,其中L为全连接层的数目;(2)在每个子全连接层的前向传播过程中,并行地采用半停等的前向传播方法得到各子全连接层的输出数据;(3)在每个子全连接层的后向传播过程中,基于半停等的前向传播方法得到的各子全连接层的输出数据,并行地采用定停等的后向传播方法得到各子全连接层的权值梯度及阈值梯度;(4)在一次前向传播与后向传播结束后,由各子全连接层的权值梯度及阈值梯度并行地更新每个子全连接层的权值数据与阈值数据。优选地,步骤(2)具体包括:(2.1)对于每个子全连接层若任一子全连接层的输出数据已经到达,则由公式:计算子全连接层对子全连接层的输入数据,其中,下标l表示全连接层的索引,上标j和i表示子全连接层的索引,表示子全连接层与子全连接层的连接权值,表示子全连接层的输出数据,表示子全连接层对子全连接层产生的输入数据;(2.2)针对子全连接层依据步骤(2.1)的结果,由公式:计算子全连接层的整体输入数据,其中,表示子全连接层的整体输入数据;(2.3)针对子全连接层依据步骤(2.2)的结果,由公式:计算子全连接层的最终输出数据,其中,函数F表示一个非线性的激活函数,是子全连接层的阈值数据。优选地,步骤(3)具体包括:(3.1)对于每个子全连接层在Q个训练单元上的子全连接层对该子全连接层产生的输出残差数据到达后,将该Q个输出残差数据作为子全连接层的输入残差数据,记为:(3.2)针对子全连接层由公式:累加步骤(3.1)中的Q个输入残差数据;(3.3)针对子全连接层依据步骤(3.2)的结果,并行计算子全连接层对子全连接层的输出残差数据,记为:其计算公式为:(3.4)针对子全连接层依据步骤(3.1)的结果,并行计算子全连接层对子全连接层的权值梯度,记为:其计算公式为:(3.5)针对子全连接层依据步骤(3.2)的结果,计算子全连接层对子全连接层的阈值梯度,记为:其计算公式为:其中V为单位向量,V的维度大小等于训练中批处理块的大小;(3.6)针对子全连接层重复步骤(3.1)~步骤(3.5),每次均处理后层的Q份子全连接层对子全连接层产生的输出残差数据,直到子全连接层所有的后层的输出残差数据都处理完毕。优选地,步骤(4)具体包括:(4.1)由公式:并行地更新每个子全连接层的权值数据,其中,η表示学习率;(4.2)由公式:并行地更新每个子全连接层的阈值数据。按照本专利技术的另一方面,提供了一种深度神经网络模型并行的全连接层数据交换系统,包括:划分模块,用于对每个全连接层FCl,l∈[1,L],依据FCl中神经元的数目将FCl划分为N等分得到N个子全连接层,分别将划分后的各子全连接层分配到N个训练单元上,其中L为全连接层的数目;前向传播模块,用于在每个子全连接层的前向传播过程中,并行地采用半停等的前向传播方法得到各子全连接层的输出数据;后向传播模块,用于在每个子全连接层的后向传播过程中,基于半停等的前向传播方法得到的各子全连接层的输出数据,并行地采用定停等的后向传播方法得到各子全连接层的权值梯度及阈值梯度;更新模块,用于在一次前向传播与后向传播结束后,由各子全连接层的权值梯度及阈值梯度并行地更新每个子全连接层的权值数据与阈值数据。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,主要有以下的技术优点:(1)计算并行度高:每个训练单元并行地对当前的数据进行处理;(2)通信开销小:半停等前向传播方法与定停等后向传播方法都最大化重叠深度神经网络训练过程中的计算与通信时间,减少训练中的通信开销。附图说明图1是本专利技术实施例中的深度神经网络结构示意图;图2是本专利技术实施例中的深度神经网络中模型并行的全连接层结构示意图;图3是本专利技术实施例中的方法的总体流程示意图;图4是本专利技术实施例中的半停等前向传播方法的流程示意图;图5是本专利技术实施例中的定停等后向传播方法的流程示意图;图6是本专利技术实施例中权值数据与阈值数据更新方法流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只本文档来自技高网
...
深度神经网络模型并行的全连接层数据交换方法及系统

【技术保护点】
一种深度神经网络模型并行的全连接层数据交换方法,其特征在于,包括:(1)对于每个全连接层FCl,l∈[1,L],依据FCl中神经元的数目将FCl划分为N等分得到N个子全连接层,分别将划分后的各子全连接层分配到N个训练单元上,其中L为全连接层的数目;(2)在每个子全连接层的前向传播过程中,并行地采用半停等的前向传播方法得到各子全连接层的输出数据;(3)在每个子全连接层的后向传播过程中,基于半停等的前向传播方法得到的各子全连接层的输出数据,并行地采用定停等的后向传播方法得到各子全连接层的权值梯度及阈值梯度;(4)在一次前向传播与后向传播结束后,由各子全连接层的权值梯度及阈值梯度并行地更新每个子全连接层的权值数据与阈值数据。

【技术特征摘要】
1.一种深度神经网络模型并行的全连接层数据交换方法,其特征在于,包括:(1)对于每个全连接层FCl,l∈[1,L],依据FCl中神经元的数目将FCl划分为N等分得到N个子全连接层,分别将划分后的各子全连接层分配到N个训练单元上,其中L为全连接层的数目;(2)在每个子全连接层的前向传播过程中,并行地采用半停等的前向传播方法得到各子全连接层的输出数据;(3)在每个子全连接层的后向传播过程中,基于半停等的前向传播方法得到的各子全连接层的输出数据,并行地采用定停等的后向传播方法得到各子全连接层的权值梯度及阈值梯度;(4)在一次前向传播与后向传播结束后,由各子全连接层的权值梯度及阈值梯度并行地更新每个子全连接层的权值数据与阈值数据。2.根据权利要求1所述的方法,其特征在于,步骤(2)具体包括:(2.1)对于每个子全连接层若任一子全连接层的输出数据已经到达,则由公式:计算子全连接层对子全连接层的输入数据,其中,下标l表示全连接层的索引,上标j和i表示子全连接层的索引,表示子全连接层与子全连接层的连接权值,表示子全连接层的输出数据,表示子全连接层对子全连接层产生的输入数据;(2.2)针对子全连接层依据步骤(2.1)的结果,由公式:计算子全连接层的整体输入数据,其中,表示子全连接层的整体输入数据;(2.3)针对子全连接层依据步骤(2.2)的结果,由公式:计算子全连接层的最终输出数据,其中,函数F表示一个非线性的激活函数,是子全连接层的阈值数据。3.根据权利要求2所述的方法,其特征在于,步骤(3)具体包括:(3.1)对于每个子全连接层在Q个训练单元上的子全连接层对该子全连接层产生的输出残差数据到达后,将该Q个输出残差数据作为子全连接层的输入残差数据,记为:(3.2)针对子...

【专利技术属性】
技术研发人员:蒋文斌金海张杨松叶阁焰马阳祝简刘湃
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1