CN109299781A - 基于动量和剪枝的分布式深度学习系统 - Google Patents
基于动量和剪枝的分布式深度学习系统 Download PDFInfo
- Publication number
- CN109299781A CN109299781A CN201811390273.6A CN201811390273A CN109299781A CN 109299781 A CN109299781 A CN 109299781A CN 201811390273 A CN201811390273 A CN 201811390273A CN 109299781 A CN109299781 A CN 109299781A
- Authority
- CN
- China
- Prior art keywords
- node
- weighting parameter
- main control
- working node
- deep learning
- 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
- 238000013138 pruning Methods 0.000 title claims abstract description 38
- 238000013135 deep learning Methods 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 31
- 238000013136 deep learning model Methods 0.000 claims abstract description 24
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000000429 assembly Methods 0.000 claims abstract description 6
- 230000000712 assembly Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 34
- 239000011159 matrix material Substances 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 12
- 230000006835 compression Effects 0.000 claims description 10
- 238000007906 compression Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/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
-
- 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/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于动量和剪枝的分布式深度学习系统,涉及云计算与深度学习领域,采用spark分布式集群,包括一个主控制节点和多个工作节点,任一工作节点与主控制节点通过通信链路连接,工作节点存储部分训练数据;工作节点根据本地存储的训练数据批次进行深度学习模型的向前向后传播训练,获取工作节点权值参数的更新量,发送至主控制节点,与主控制节点全局权值参数进行交互通信;主控制节点记录工作节点的节点信息,将所得工作节点的权值参数平衡后传送至各工作节点;重复主控制节点和工作节点的交互通信直到达到迭代次数或收敛条件;本发明解决异步算法在分布式环境下模型收敛慢的问题,同时还提高异步算法的运算速度。
Description
技术领域
本发明涉及云计算与深度学习领域,具体涉及基于动量和剪枝的分布式深度学习系统。
背景技术
在机器学习问题领域,深度学习取得了显著的进展。依赖于海量训练数据,深度学习方法能够训练出更准确的模型。然而,深度模型的主要缺点是模型参数多,计算量随着层数的增加成倍增长,因此需要一个分布式系统来管理如此庞大的计算任务和数据。ApacheSpark是目前主流的分布式系统之一,它有着高性能的内存数据处理速度和容错性,因此,深度学习与Spark框架的结合受到广泛关注,已有相关研究者提出了SparkNet、CaffeOnSpark、DeepSpark和TensorFrames等框架。这些对Spark框架的深入研究展现了Spark成为强大的分布式深度学习基础框架的可能性;然而,就实际效率和可伸缩性而言,Spark框架仍存在很大的改进空间。
目前,流行的分布式梯度算法包括随机梯度下降(SGD)的小批量版本、AdaGrad等随机优化算法、RMSProp和ADAM等。2012年有学者提出了一种分布式随机梯度下降算法,但是,随机优化的批量同步实现在实践中通常很慢,因为需要等待每个同步批处理中最慢的机器。为了克服这个问题,实践者采用了异步方法,虽然异步训练被证明比同步训练要快,但它们通常会出现收敛性较差的现象。
传统的随机梯度下降更新方向完全依赖于当前批次计算出的梯度,因而十分不稳定,动量算法借用了物理中的动量概念,它模拟的是物体运动时的惯性,即更新的时候在一定程度上保留之前更新的方向,同时利用当前批次的梯度微调最终的更新方向。因此,可以在一定程度上增加稳定性,从而学习速率加快,并且还有一定摆脱局部最优的能力。基于传统的分布式深度学习系统,深度学习模型的权值维度较大,集群节点较多,相互交互通信负载比较严重。因此采用剪枝算法减少权值数据,使得节点通信负载降低,交互加快。
发明内容
本发明目的在于提供一种基于动量和剪枝的分布式深度学习系统,实现分布式随机梯度下降算法的加速收敛和降低节点通信负载,加快交互通信。
为达成上述目的,本发明提出如下技术方案:一种基于动量和剪枝的分布式深度学习系统,包括如下步骤:
(1)采用spark分布式集群,搭建spark开发环境,每台集群机器配置Caffe深度学习环境,spark分布式集群包括一个主控制节点和多个分别与主控制节点通信连接的工作节点;
(2)将需要处理的数据进行加载,在HDFS下经过spark进行数据处理,转化为Caffe特定LMDB格式,并将数据均匀分布到各工作节点上;
(3)对每个工作节点存储的数据,创建训练模型,并根据每个工作节点本地存储的数据分批次并行深度学习模型的向前向后传播训练;
(4)采用动量方法计算工作节点本地权值参数的更新量,传送至主控制节点,与主控制节点全局权值参数进行交互通信;主控制节点记录工作节点的节点信息,包括该工作节点的本地权值参数的更新量,将所得工作节点的本地权值参数平衡后回传至各对应工作节点;
(5)各工作节点继续下一个批次数据训练,主控制节点进行模型参数平衡,重复上述训练模型直到达到迭代次数或收敛条件。
进一步的,步骤(3)中每个节点创建相同的深度学习模型,且每个工作节点对任意一个批次数据中的每条数据都进行了深度学习模型的一个向前向后传播计算。
进一步的,步骤(3)中深度学习模型的向前向后传播计算过程为:
1)向前传播阶段:从训练集中的随机抽取一批容量为m的样本集{x1,…,xm},以及相对应的理想输出为{y1,…,ym},从样本集中随机选取一个样本(xp,yp),1≤p≤m;将xp输入网络,计算相应的实际输出Op,OP=Fn(…(F2(F1(Fn(xpW(1))W(2))…)W(n),其中,Fn表示对应输出层的Sigmoid函数,W(n)为对应层的权值矩阵;
2)向后传播阶段:引入动量方法计算实际输出Op与相应的理想输出yp的误差和按极小化误差的方法反向传播调整权值矩阵。
进一步的,向后传播阶段引入动量方法,先对工作节点的本地权值参数进行估计,然后使用估计后的本地权值参数来计算梯度和实际输出与理想输出的误差,并更新本地权值参数;
速度和工作节点的本地权值参数的迭代公式依次为:
其中,δ是动量项,当δ=0,还原为原始弹性平均随机梯度算法,记为EASGD;t为迭代次数,i为工作节点的序号,i大于1;η为步长,g为梯度计算函数。
进一步的,步骤(4)中工作节点的本地权值参数和主控制节点全局权值参数交互通信的具体过程为:
(1)主控制节点初始化全局权值参数每个工作节点向主控制节点请求初始化全局权值参数用于初始化工作节点的本地权值参数wk,其中k表示请求初始化全局权值参数的工作节点的序号;
(2)每个工作节点上采用动量梯度下降优化器,在各自的节点数据上进行模型训练,更新本地权值参数wk;
(3)当工作节点上的时钟周期条件T满足时,每个工作节点计算本地权值参数wk和全局权值参数的误差,即生成权值矩阵μ,对权值矩阵μ进行初始化压缩,并向主控制节点发送被压缩后的本地权值参数
(4)主控制节点接收到多个工作节点提交的本地权值参数后,进行均值计算,更新全局权值参数
(5)工作节点请求主控制节点返回全局权值参数更新本地权值参数wk;
(6)重复步骤(2)至步骤(5)直到训练模型收敛或满足迭代终止条件。
进一步的,步骤(3)中采用剪枝方法对权值矩阵μ进行初始化压缩;通过掩码矩阵vk对本地权值参数wk和全局权值参数进行稀疏压缩,其中,每个工作节点的vk具有相同的长度,掩码矩阵vk的每个元素是一个随机变量,其结果为0或1;
可得剪枝弹性平均随机梯度,记为P-EASGD的公式为:
其中,t为迭代次数,i为进行迭代更新的工作节点的序号,i大于1,为模拟剪枝的符号,η为步长;使用剪枝参数来执行EASGD的剪枝,降低工作节点和主控制节点模型参数交互的开销,并且不影响模型参数更新的对称性。
进一步的,所述深度学习模型为卷积神经网络模型。
由上述技术方案可知,本发明的技术方案提供的基于动量和剪枝的分布式深度学习系统,获得了如下有益效果:
本发明提出了一种基于动量和剪枝的分布式深度学习系统,设计了一个基于分布式集群的深度学习模型,实现了异步梯度下降算法,该模型在基于内存和GPU计算的集群中,通过利用CPU和GPU计算的高效性特点,在深度学习模型训练数据处理过程中,将动量和剪枝策略引入到分布式随机梯度下降算法中,通过这两个策略分别实现分布式随机梯度下降算法的加速收敛,降低主控制节点和工作节点通信负载,整体实现深度学习模型高效训练,在准确度不降低的情况下,实现数据的快速分类。
其中,动量的引入使得梯度下降法可以更快收敛。前期动量设置为0,即为原始SGD,计算快速且计算量小,前期可以做到快速下降。后期动量为1使得收敛既可加速,又可以跳过鞍点,防止陷入局部最小点。由于权值的维度高数据量较大,因此加入剪枝去除一些权值矩阵中影响小的值,来降低通信,且不影响准确度。
该算法使用异步协议来同步各个工作节点的参数,改进了现有异步算法中的参数更新机制。加速了异步算法在分布式环境下模型收敛慢的问题,同时还能达到与同步随机梯度下降算法相近的准确率,提高了集群计算资源的使用率。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1为本发明的流程图;
图2为本发明所述的权值交互流程图;
图3为本发明所述的建立算法过程框图;
图4为本发明所述的压缩索引图;
图5为本发明基于动量和剪枝的分布式深度学习算法整体流程伪代码图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
本发明融合Apache Spark大数据集群框架和Caffe深度运算能力,设计了基于动量和剪枝的分布式深度学习框架,通过更改梯度下降法和节点间的参数传递,优化分布式深度学习系统,适用于所有深度学习模型。在本实验中我们采用的是CNN模型验证,同时也可以用于RNN模型等;为让本发明的上述及其他目的、特征及优点能更明显体现,下面结合附图及实施例对本发明进行详细阐述。其中,HDFS表示分布式文件系统,LMDB表示闪存映射数据库。
本发明基于动量和剪枝的分布式深度学习系统,包括如下步骤:1)采用spark分布式集群,搭建spark开发环境,每台集群机器配置Caffe深度学习环境,spark分布式集群包括一个主控制节点和多个分别与主控制节点有通信连接的工作节点;2)将需要处理的数据进行加载,在HDFS下经过spark进行数据处理,转化为Caffe特定LMDB格式,并将数据均匀分布到各工作节点上;3)对每个工作节点存储的数据,创建训练模型,并根据每个工作节点本地存储的数据分批次并行地进行深度学习模型的向前向后传播训练;4)采用动量方法计算工作节点本地权值参数的更新量,传送至主控制节点,与主控制节点全局权值参数进行交互通信;主控制节点记录工作节点的节点信息,包括该工作节点的本地权值参数的更新量,将所得工作节点的本地权值参数平衡后回传至各对应工作节点;5)各工作节点继续下一个批次数据训练,主控制节点进行模型参数平衡,重复上述训练模型直到达到迭代次数或收敛条件。
结合图1所示具体过程为,首先搭建Spark集群环境,为每台集群机器配置深度学习环境Caffe;确定一台集群机器作为一个主控制节点,用作参数服务器,剩余机器当作工作节点;结合图1所示,先将需要处理的数据进行加载,数据文件可以是多种文件格式(如png、jgp、txt等),然后在分布式文件系统下经过spark进行数据清洗,转化为Caffe特定LMDB格式;这个数据处理的过程可以直接在spark集群并发的快速实现,即data.map(function),其中function是数据处理的函数,map()函数是spark的API(应用程序编程接口),进行前期的数据清洗操作。
在上述步骤3)中每个节点都创建相同的深度学习模型,且每个工作节点对任意一个批次数据中的每条数据都进行了深度学习模型的一个向前向后传播计算;本发明中改进的地方是梯度下降法和节点间的参数传递,所以适用于所有深度学习模型,在本发明中,采用卷积神经网络作为深度学习模型,并对所有工作节点的深度学习模型模型都设置相同的参数的初始设定值,例如层数大小,卷积层池化层全连接层的排放,步长动量参数,在每个节点上进行模型的训练。本发明中,每个工作节点都是一个单个的卷积神经网络模型训练机器,在每个工作节点上都进行模型的训练,在每次迭代的过程进行每个工作节点的权值更新,当达到一定的周期,进行与主控制节点的模型参数的交互,即主控制节点和工作节点权值相结合进行权值更新。
进一步的,上述步骤3)中深度学习模型的向前向后传播计算过程包括向前传播阶段和向后传播阶段,其中向前传播阶段,数据从输入层经过逐级的变换,传送到输出层,这个过程是网络在完成训练后正常运行时执行计算的过程;具体为,1)向前传播阶段:从训练集中的随机抽取一批容量为m的样本集{x1,…,xm},以及相对应的理想输出为{y1,…,ym},从样本集中随机选取一个样本(xp,yp),1≤p≤m;将xp输入网络,计算相应的实际输出Op,OP=Fn(…(F2(F1(Fn(xpW(1))W(2))…)W(n),其中W(n)为对应层的权值矩阵;2)向后传播阶段:引入动量方法计算实际输出OP与相应的理想输出yp的误差和按极小化误差的方法反向传播调整权值矩阵。
向后传播阶段引入动量方法,先对工作节点的本地权值参数进行估计,然后使用估计后的本地权值参数来计算梯度和实际输出与理想输出的误差,并更新本地权值参数;速度和工作节点的本地权值参数的迭代公式依次为:
其中,δ是动量项,当δ=0,还原为原始弹性平均随机梯度算法,记为EASGD;t为迭代次数,i为进行迭代更新的工作节点的序号,i大于1,η为步长。
结合图2所示的权值交互流程图,可以形象的看出主控制节点与工作节点之间的交互,在每个工作节点和主控制节点的内部皆是一个个的线程池,通过线程池的运行实现线程的并发。
根据图3所示的建立算法过程框图和图5所示的伪代码图,工作节点和主控制节点交互通信至深度学习模型收敛或达到一定的迭代次数,具体过程为:(1)主控制节点初始化全局权值参数每个工作节点向主控制节点请求初始化全局权值参数用于初始化工作节点的本地权值参数wk,其中k表示请求初始化全局权值参数的工作节点的序号;(2)每个工作节点上采用动量梯度下降优化器,在各自的节点数据上进行模型训练,更新本地权值参数wk;(3)当工作节点上的时钟周期条件T满足时,每个工作节点计算本地权值参数wk和全局权值参数的误差,即生成权值矩阵μ,对权值矩阵μ进行初始化压缩,并向主控制节点发送被压缩后的本地权值参数(4)主控制节点接收到多个工作节点提交的本地权值参数后,进行均值计算,更新全局权值参数(5)工作节点请求主控制节点返回全局权值参数更新本地权值参数wk;(6)重复步骤(2)至步骤(5)直到训练模型收敛或满足迭代终止条件。
在上述过程中由于权值数据较多,工作节点和主控制的交互通信负载较大,会导致交互通信传输慢,因此在步骤(3)引入剪枝的方案,即采用剪枝方法对权值矩阵μ进行初始化压缩;通过掩码矩阵vk对本地权值参数wk和全局权值参数进行稀疏压缩,其中,每个工作节点的vk具有相同的长度,掩码矩阵vk的每个元素是一个随机变量,其结果为0或1。
如图4所示,每个工作节点上的权值矩阵记为W,W权值在节点内进行梯度下降法的计算并将梯度更新值给了μ,W再根据μ的值进行更新。W更新策略如下:以第i个工作节点为例,Wi在进行权值更新时,首先对权值矩阵的每一个元素按绝对值顺序排列,结合预设定的阈值比例,计算出相应的实际阈值;然后使用实际阈值对扁平化后权值矩阵W进行过滤,筛选出大于等于实际阈值的权值元素,记为value值和位置索引,记为index;为了压缩空间,计算过滤后权值的相对位置索引,记为diff_index,其中相对位置索引是与前一个值的相对索引位置;最后将过滤后的权值和相对索引传输到主控制节点。
在每个节点接收到被压缩的权值和相对索引后,需要进行数据还原后才进行更新。以第i个工作节点为例,利用相对索引对被压缩的权值进行恢复,并将空缺元素置零,因此节省了很多空间,传输时降低了通信。将第i个工作节点被压缩的权值参数Wi传到主控制节点后再进行Wi数据的恢复,即将缺失的相对位置补0,交互后再进行相同操作,然后将权值参数传送给工作节点。
由此,剪枝弹性平均随机梯度,即记为P-EASGD的交互更新的公式为:
其中,t为迭代次数,i为worker节点的序号,i大于1,为模拟剪枝的符号,η为步长。使用剪枝方法来执行EASGD的剪枝,降低工作节点和主控制节点模型参数交互的开销,并且不影响模型参数更新的对称性。
本发明基于动量和剪枝的分布式深度学习系统,将动量和剪枝策略引入到分布式随机梯度下降算法中,动量的引入加快了梯度下降法的收敛速度。前期动量设置为0,即为原始弹性平均随机梯度算法,计算快速且计算量小。后期动量均为1,使得收敛既可加速,又可以跳过鞍点,并防止陷入局部最小点。由于权值的维度高数据量较大,因此加入剪枝去除一些权值矩阵中影响小的值,来降低通信,且不影响准确度。通过这两个策略分别实现分布式随机梯度下降算法的加速收敛,以及降低主控制节点和工作节点通信负载,整体实现深度学习模型高效训练。
虽然本发明以较佳实施例揭露如上,然其并非仅限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (7)
1.一种基于动量和剪枝的分布式深度学习系统,其特征在于,包括如下步骤:
(1)采用spark分布式集群,搭建spark开发环境,每台集群机器配置Caffe深度学习环境,spark分布式集群包括一个主控制节点和多个分别与主控制节点通信连接的工作节点;
(2)将需要处理的数据进行加载,在HDFS下经过spark进行数据处理,转化为Caffe特定LMDB格式,并将数据均匀划分并分布到各工作节点上;
(3)对每个工作节点存储的数据,创建训练模型,并根据每个工作节点本地存储的数据进行分批次并行深度学习模型向前向后传播训练;
(4)前期采用随机梯度下降算法方法,后期采用动量梯度下降法计算工作节点本地权值参数的更新量,传送至主控制节点,与主控制节点全局权值参数进行交互通信;主控制节点记录工作节点的节点信息,包括该工作节点的本地权值参数的更新量,将所得工作节点的本地权值参数平衡后回传至各对应工作节点;
(5)各工作节点继续下一个批次数据训练,主控制节点进行模型参数平衡,重复上述训练模型直到达到迭代次数或收敛条件。
2.根据权利要求1所述的基于动量和剪枝的分布式深度学习系统,其特征在于,步骤(3)中每个节点创建相同的深度学习模型,且每个工作节点对任意一个批次数据中的每条数据都进行了深度学习模型的一个向前向后传播计算。
3.根据权利要求2所述的基于动量和剪枝的分布式深度学习系统,其特征在于,步骤(3)中深度学习模型的向前向后传播计算过程为:
向前传播阶段:从训练集中的随机抽取一批容量为m的样本集{x1,…,xm},以及相对应的理想输出为{y1,…,ym},从样本集中随机选取一个样本(xp,yp),1≤p≤m;将xp输入网络,计算相应的实际输出Op,OP=Fn(…(F2(F1(Fn(xpW(1))W(2))…)W(n),其中,Fn表示对应输出层的Sigmoid函数,W(n)为对应层输出的权值矩阵;
向后传播阶段:引入动量方法计算实际输出OP与相应的理想输出yp的误差和按极小化误差的方法反向传播调整权值矩阵。
4.根据权利要求3所述的基于动量和剪枝的分布式深度学习系统,其特征在于,向后传播阶段引入动量方法,先对工作节点的本地权值参数进行估计,然后使用估计后的本地权值参数来计算梯度和实际输出与理想输出的误差,并更新本地权值参数;
速度和工作节点的本地权值参数的迭代公式依次为:
其中,δ是动量项,当δ=0,还原为原始弹性平均随机梯度算法;t为迭代次数,i为工作节点的序号,i大于1;η为步长,g为梯度计算函数。
5.根据权利要求1所述的基于动量和剪枝的分布式深度学习系统,其特征在于,步骤(4)中工作节点的本地权值参数和主控制节点全局权值参数交互通信的具体过程为:
(1)主控制节点初始化全局权值参数每个工作节点向主控制节点请求初始化全局权值参数用于初始化工作节点的本地权值参数wk,其中k表示请求初始化全局权值参数的工作节点的序号;
(2)每个工作节点上采用动量梯度下降优化器,在各自的节点数据上进行模型训练,更新本地权值参数wk;
(3)当工作节点上的时钟周期条件T满足时,深度学习模型训练暂停,每个工作节点计算本地权值参数wk和全局权值参数的误差,即生成权值矩阵μ,对权值矩阵μ进行初始化压缩,并向主控制节点发送被压缩后的本地权值参数
(4)主控制节点接收到多个工作节点提交的本地权值参数后,进行均值计算,更新全局权值参数
(5)工作节点请求主控制节点返回全局权值参数更新本地权值参数wk;
(6)重复步骤(2)至步骤(5)直到训练模型收敛或满足迭代终止条件。
6.根据权利要求5所述的基于动量和剪枝的分布式深度学习系统,其特征在于,步骤(3)中采用剪枝方法对权值矩阵μ进行初始化压缩;
通过掩码矩阵vk对本地权值参数wk和全局权值参数进行稀疏压缩,其中,每个工作节点的vk具有相同的长度,掩码矩阵vk的每个元素是一个随机变量,其结果为0或1;
可得剪枝弹性平均随机梯度的公式为:
其中,t为迭代次数,i为进行迭代更新的工作节点的序号,i大于1,为模拟剪枝的符号,η为步长。
7.根据权利要求1所述的基于动量和剪枝的分布式深度学习系统,其特征在于,所述深度学习模型为卷积神经网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811390273.6A CN109299781B (zh) | 2018-11-21 | 2018-11-21 | 基于动量和剪枝的分布式深度学习系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811390273.6A CN109299781B (zh) | 2018-11-21 | 2018-11-21 | 基于动量和剪枝的分布式深度学习系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109299781A true CN109299781A (zh) | 2019-02-01 |
CN109299781B CN109299781B (zh) | 2021-12-03 |
Family
ID=65144435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811390273.6A Active CN109299781B (zh) | 2018-11-21 | 2018-11-21 | 基于动量和剪枝的分布式深度学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299781B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096346A (zh) * | 2019-03-29 | 2019-08-06 | 广州思德医疗科技有限公司 | 一种多计算节点的训练任务处理方法及装置 |
CN111091180A (zh) * | 2019-12-09 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 一种模型训练方法和相关装置 |
KR20200104959A (ko) * | 2019-02-27 | 2020-09-07 | 한국전력공사 | 분산 딥러닝 환경에서 데이터 압축 장치 및 방법 |
CN112381158A (zh) * | 2020-11-18 | 2021-02-19 | 山东高速信息集团有限公司 | 基于人工智能的数据高效训练方法及系统 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN112651510A (zh) * | 2019-10-12 | 2021-04-13 | 华为技术有限公司 | 模型更新方法、工作节点及模型更新系统 |
CN112652365A (zh) * | 2020-03-05 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 逆合成处理方法、装置、电子设备及计算机可读存储介质 |
CN112860806A (zh) * | 2021-04-06 | 2021-05-28 | 中国科学技术大学 | 数据分类方法及装置、存储介质及电子设备 |
CN113033800A (zh) * | 2019-12-25 | 2021-06-25 | 香港理工大学深圳研究院 | 分布式深度学习方法、装置、参数服务器及主工作节点 |
WO2022105714A1 (zh) * | 2020-11-23 | 2022-05-27 | 华为技术有限公司 | 数据处理方法、机器学习的训练方法及相关装置、设备 |
CN114670209A (zh) * | 2022-05-30 | 2022-06-28 | 季华实验室 | 环境识别模型和控制决策的获取方法、装置及电子设备 |
CN115994590A (zh) * | 2023-03-23 | 2023-04-21 | 浪潮电子信息产业股份有限公司 | 基于分布式集群的数据处理方法、系统、设备及存储介质 |
CN116070720A (zh) * | 2023-03-23 | 2023-05-05 | 山东海量信息技术研究院 | 基于分布式集群的数据处理方法、系统、设备及存储介质 |
CN116681127A (zh) * | 2023-07-27 | 2023-09-01 | 山东海量信息技术研究院 | 一种神经网络模型训练方法、装置及电子设备和存储介质 |
CN116701549A (zh) * | 2023-06-21 | 2023-09-05 | 黑龙江禹桥科技开发有限公司 | 一种基于区块链的大数据多尺度融合监管系统及方法 |
US12027240B2 (en) | 2020-03-05 | 2024-07-02 | Tencent Technology (Shenzhen) Company Limited | Electronic device, and computer-readable storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105590146A (zh) * | 2016-02-29 | 2016-05-18 | 上海带来科技有限公司 | 一种基于大数据的电厂设备智能预测检修方法和系统 |
US20160247175A1 (en) * | 2013-01-04 | 2016-08-25 | PlaceIQ, Inc. | Analyzing consumer behavior based on location visitation |
CN106056134A (zh) * | 2016-05-20 | 2016-10-26 | 重庆大学 | 一种基于Spark的半监督随机森林分类方法 |
CN106503271A (zh) * | 2016-12-14 | 2017-03-15 | 大连大学 | 移动互联网和云计算环境下子空间Skyline查询的智能商店选址系统 |
CN108268638A (zh) * | 2018-01-18 | 2018-07-10 | 浙江工业大学 | 一种基于Spark框架的生成对抗网络分布式实现方法 |
-
2018
- 2018-11-21 CN CN201811390273.6A patent/CN109299781B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160247175A1 (en) * | 2013-01-04 | 2016-08-25 | PlaceIQ, Inc. | Analyzing consumer behavior based on location visitation |
CN105590146A (zh) * | 2016-02-29 | 2016-05-18 | 上海带来科技有限公司 | 一种基于大数据的电厂设备智能预测检修方法和系统 |
CN106056134A (zh) * | 2016-05-20 | 2016-10-26 | 重庆大学 | 一种基于Spark的半监督随机森林分类方法 |
CN106503271A (zh) * | 2016-12-14 | 2017-03-15 | 大连大学 | 移动互联网和云计算环境下子空间Skyline查询的智能商店选址系统 |
CN108268638A (zh) * | 2018-01-18 | 2018-07-10 | 浙江工业大学 | 一种基于Spark框架的生成对抗网络分布式实现方法 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200104959A (ko) * | 2019-02-27 | 2020-09-07 | 한국전력공사 | 분산 딥러닝 환경에서 데이터 압축 장치 및 방법 |
KR102425039B1 (ko) | 2019-02-27 | 2022-07-28 | 한국전력공사 | 분산 딥러닝 환경에서 데이터 압축 장치 및 방법 |
CN110096346A (zh) * | 2019-03-29 | 2019-08-06 | 广州思德医疗科技有限公司 | 一种多计算节点的训练任务处理方法及装置 |
CN112651510A (zh) * | 2019-10-12 | 2021-04-13 | 华为技术有限公司 | 模型更新方法、工作节点及模型更新系统 |
CN111091180A (zh) * | 2019-12-09 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 一种模型训练方法和相关装置 |
CN111091180B (zh) * | 2019-12-09 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 一种模型训练方法和相关装置 |
CN113033800A (zh) * | 2019-12-25 | 2021-06-25 | 香港理工大学深圳研究院 | 分布式深度学习方法、装置、参数服务器及主工作节点 |
CN113033800B (zh) * | 2019-12-25 | 2023-11-17 | 香港理工大学深圳研究院 | 分布式深度学习方法、装置、参数服务器及主工作节点 |
WO2021174895A1 (zh) * | 2020-03-05 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 逆合成处理方法、装置、电子设备及计算机可读存储介质 |
CN112652365A (zh) * | 2020-03-05 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 逆合成处理方法、装置、电子设备及计算机可读存储介质 |
US12027240B2 (en) | 2020-03-05 | 2024-07-02 | Tencent Technology (Shenzhen) Company Limited | Electronic device, and computer-readable storage medium |
CN112381158A (zh) * | 2020-11-18 | 2021-02-19 | 山东高速信息集团有限公司 | 基于人工智能的数据高效训练方法及系统 |
WO2022105714A1 (zh) * | 2020-11-23 | 2022-05-27 | 华为技术有限公司 | 数据处理方法、机器学习的训练方法及相关装置、设备 |
CN112532451B (zh) * | 2020-11-30 | 2022-04-26 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN112860806A (zh) * | 2021-04-06 | 2021-05-28 | 中国科学技术大学 | 数据分类方法及装置、存储介质及电子设备 |
CN112860806B (zh) * | 2021-04-06 | 2022-09-02 | 中国科学技术大学 | 数据分类方法及装置、存储介质及电子设备 |
CN114670209A (zh) * | 2022-05-30 | 2022-06-28 | 季华实验室 | 环境识别模型和控制决策的获取方法、装置及电子设备 |
CN114670209B (zh) * | 2022-05-30 | 2022-08-02 | 季华实验室 | 环境识别模型和控制决策的获取方法、装置及电子设备 |
CN116070720A (zh) * | 2023-03-23 | 2023-05-05 | 山东海量信息技术研究院 | 基于分布式集群的数据处理方法、系统、设备及存储介质 |
CN115994590A (zh) * | 2023-03-23 | 2023-04-21 | 浪潮电子信息产业股份有限公司 | 基于分布式集群的数据处理方法、系统、设备及存储介质 |
CN116701549A (zh) * | 2023-06-21 | 2023-09-05 | 黑龙江禹桥科技开发有限公司 | 一种基于区块链的大数据多尺度融合监管系统及方法 |
CN116681127A (zh) * | 2023-07-27 | 2023-09-01 | 山东海量信息技术研究院 | 一种神经网络模型训练方法、装置及电子设备和存储介质 |
CN116681127B (zh) * | 2023-07-27 | 2023-11-07 | 山东海量信息技术研究院 | 一种神经网络模型训练方法、装置及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109299781B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299781A (zh) | 基于动量和剪枝的分布式深度学习系统 | |
CN110889509B (zh) | 一种基于梯度动量加速的联合学习方法及装置 | |
CN106156810B (zh) | 通用机器学习算法模型训练方法、系统和计算节点 | |
US10482380B2 (en) | Conditional parallel processing in fully-connected neural networks | |
CN111353582B (zh) | 一种基于粒子群算法的分布式深度学习参数更新方法 | |
CN108460457A (zh) | 一种面向卷积神经网络的多机多卡混合并行异步训练方法 | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
CN113515370A (zh) | 一种面向大规模深度神经网络的分布式训练方法 | |
CN106297774A (zh) | 一种神经网络声学模型的分布式并行训练方法及系统 | |
CN105787227A (zh) | 结构材料辐照损伤的多gpu分子动力学模拟方法 | |
CN107229966B (zh) | 一种模型数据更新方法、装置及系统 | |
CN110135584A (zh) | 基于自适应并行遗传算法的大规模符号回归方法及系统 | |
CN113159287B (zh) | 一种基于梯度稀疏的分布式深度学习方法 | |
CN108595379A (zh) | 一种基于多级缓存的并行化卷积运算方法及系统 | |
CN111507474B (zh) | 一种动态调整Batch-size的神经网络分布式训练方法 | |
CN113298222A (zh) | 一种基于神经网络的参数更新方法、分布式训练平台系统 | |
CN113342525A (zh) | 分布式数据处理系统及其方法 | |
CN115587633A (zh) | 一种基于参数分层的个性化联邦学习方法 | |
CN113312177A (zh) | 一种基于联邦学习的无线边缘计算系统、优化方法 | |
KR102463147B1 (ko) | 초병렬 심층 학습 방법 및 장치 | |
CN113297127A (zh) | 一种大规模分布式训练集群的参数更新方法、平台系统 | |
JP6629864B2 (ja) | 情報処理装置及び方法 | |
CN106846236A (zh) | 一种可扩展的分布式gpu加速方法及装置 | |
CN112396154A (zh) | 一种基于卷积神经网络训练的并行方法 | |
Shrivastava et al. | A data and model-parallel, distributed and scalable framework for training of deep networks in apache spark |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 243032 Ma'anshan City, Anhui Province, the East District of the new town of Ma Xiang Road Patentee after: ANHUI University OF TECHNOLOGY Patentee after: Phima Intelligence Technology Co.,Ltd. Address before: 243032 Ma'anshan City, Anhui Province, the East District of the new town of Ma Xiang Road Patentee before: ANHUI University OF TECHNOLOGY Patentee before: FEIMA ZHIKE INFORMATION TECHNOLOGY Co.,Ltd. |