CN111488981A - 基于高斯分布估计选取深度网络参数稀疏阈值的方法 - Google Patents

基于高斯分布估计选取深度网络参数稀疏阈值的方法 Download PDF

Info

Publication number
CN111488981A
CN111488981A CN202010148425.2A CN202010148425A CN111488981A CN 111488981 A CN111488981 A CN 111488981A CN 202010148425 A CN202010148425 A CN 202010148425A CN 111488981 A CN111488981 A CN 111488981A
Authority
CN
China
Prior art keywords
gradient
layer
parameters
sparse
gaussian distribution
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
Application number
CN202010148425.2A
Other languages
English (en)
Inventor
刘强
陈世达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN202010148425.2A priority Critical patent/CN111488981A/zh
Publication of CN111488981A publication Critical patent/CN111488981A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开一种基于高斯分布估计选取深度网络参数稀疏阈值的方法,在选取稀疏阈值时,是通过对DNNs模型的卷积层、全连接层和批归一化层等的权值和梯度参数先验假设为高斯分布,求取其特征参数μ和σ的最大似然估计,进而由预设稀疏率ρ得到目标阈值并获取掩码,然后采用游程编码对根据选出Top‑k选出的重要的稀疏梯度编码,然后基于All‑reduce分布式训练框架与其他节点Nodes通信传输及交换稀疏梯度;各节点剪进行聚合平均,得出平均梯度,对多个节点操作。相比于复杂度为O(nlog2n)的传统排序技术在对百万级以上参数选取top‑k的加速效果明显。

Description

基于高斯分布估计选取深度网络参数稀疏阈值的方法
技术领域
本发明涉及深度学习和分布式训练技术领域,特别是涉及基于高斯分布估计选取深度网络参数稀疏阈值的方法。
背景技术
深度神经网络(deep neural networks,DNNs)近年在计算机视觉和自然语言处理等任务上不断刷新已有最佳性能,成为最受关注的研究方向之一。DNNs虽然具有显著性能,但由于参数量巨大、存储成本和计算成本过高,仍面临着有效部署到硬件受限的嵌入式或移动边缘设备等问题。相关研究表明,DNNs模型本身存在大量对性能影响甚微的冗余参数,不论是训练还是推理过程,通过稀疏压缩相关不重要的参数可实现模型压缩,加快模型计算速度且不影响性能,这为模型压缩提供了理论依据。对DNNs的稀疏压缩包括两方面:用于训练加速的梯度参数稀疏通信和用于推理加速的参数剪枝压缩过程。前者为解决DNNs分布式训练中各节点大量梯度交换的通信瓶颈,从而对梯度参数稀疏;后者为解决大规模DNNs部署在移动边缘设备上面临的计算及存储资源受限的问题,从而对权值参数稀疏,两者都是在训练过程中完成。梯度稀疏通信通过选出重要梯度先进行参数更新,剩余不重要梯度进行本地累加到下次迭代。权值参数剪枝稀疏同样是选出对性能影响较大的参数保留,影响较小的其余参数置零。
目前两者主流选取方法是Top-k阈值选择方法,即每次训练迭代通过预设百分比动态筛选出重要的梯度或权值参数,将每层网络中梯度或权值升序排序,基于预设百分比选出对应阈值,进而判定重要参数。然而,大规模网络每层参数量可达到百万甚至千万级别,此类方法在对大量数据排序时,将需要大量排序时间。对于梯度稀疏有文献提出先随机采样0.1%梯度排序,用样本阈值代替整体阈值,这种方法随机性较大,稀疏率不能得达到保证。另外,有文献提出层级选择方法,即随机采样0.1%~1%梯度的阈值选出重要梯度,若达不到预定压缩比,则采用选出的梯度执行更精确的阈值选择,从而保证压缩率。
综上可知,当前阈值选取技术都需要排序或者随机采样,而这些过程在对大数处理时耗时巨大,计算复杂度高,导致整体训练时间冗长,且硬件实现极为困难,加速效益甚微,且排序过程将导致复杂的访问控制逻辑,导致稀疏压缩计算过程变冗长,最终导致压缩的整体效果达不到预期。
因此,如何快速、简单有效且对硬件实现友好地选取DNNs参数稀疏阈值是本领域技术人员亟需解决的问题。
发明内容
本发明的目的是针对现有技术中存在的技术缺陷,而提供一种基于高斯分布估计选取深度网络参数稀疏阈值的方法。
为实现本发明的目的所采用的技术方案是:
一种基于高斯分布估计选取深度网络参数稀疏阈值的方法,包括步骤:
S1.对DNNs分布式训练的超参数设置,包括训练数据集θ、小批量尺寸B和节点数目N;
S2.当前工作节点Node读取小批量为B的训练数据D到内存;
S3.判断是否为首次迭代,若是则初始化DNNs模型参数Wt-1、本地延时梯度
Figure BDA0002401580590000021
以及全局动量累加Vt,然后进入步骤S4,否则直接进入步骤S4;
S4.当前工作节点Node将训练数据D输入网络执行前向推理过程,将正向输出与标签数据对比得到损失误差Loss并对其执行反向传播,逐层计算每个参数梯度
Figure BDA0002401580590000022
其中k和t分别为节点索引和迭代次数;
S5.将上次迭代产生的本地延时梯度
Figure BDA0002401580590000023
与本次新产生的参数梯度
Figure BDA0002401580590000024
进行累加,生成新的
Figure BDA0002401580590000025
S6.对DNNs模型的卷积层、全连接层和批归一化层的权值和梯度参数先验假设为高斯分布,求取其特征参数μ和σ的最大似然估计,进而由预设稀疏率ρ得到目标阈值υ并获取掩码Maskl,其中l为层索引;
S7.采用游程编码对根据Maskl选出Top-k选出的重要的稀疏梯度编码,然后基于All-reduce分布式训练框架与其他节点Nodes通信传输及交换
Figure BDA0002401580590000026
各节点剪进行聚合平均,得出平均梯度
Figure BDA0002401580590000027
多个节点进行步骤1~7相同的操作;
S8.采用全局动量分布式随机梯度下降算法,使模型更新考虑到全局收敛信息,加速训练的收敛速度;
S9.判断当前节点Node是否还存在未训练数据,若是则执行新一轮迭代,同时迭代计数器iter自增;否则表示训练完成,将输出训练好的模型及参数。
本发明通过高斯分布最大似然估计,大大加速了稀疏压缩处理,整体过程十分便于硬件实现;解决了目前排序方法对内存设备频繁通信、过度占用和复杂的访存控制逻辑等问题,达到高性能、低功耗目的,适用于各深度网络压缩训练硬件加速系统。
附图说明
图1是本发明基于高斯分布估计选取深度网络参数稀疏阈值的方法的流程框图;
图2是本发明提供的AlexNet网络CONV层和FC层的梯度分布统计图;
图3是本发明提供的高斯分布估计选取特定比例梯度原理示意图;
图4是本发明提供的高斯分布估计与传统排序方法结果对比图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
不论是权值参数剪枝还是梯度稀疏通信过程,考虑到训练过程中DNNs权值参数和对应梯度是近似高斯分布,本发明提供基于高斯分布进行网络参数的高斯分布特征参数均值μ和标准差σ的最大似然估计,计算复杂度为O(n),相比于计算复杂度为O(nlog2 n)的传统排序技术在对百万级以上参数选取Top-k的加速效果明显。
同时,基于硬件实现数据流架构计算,避免类似排序过程对内存设备频繁的通信和复杂的访存控制逻辑,达到高性能、低功耗目的,适用于各深度网络压缩训练硬件加速系统。
如图1所示,一种基于高斯分布估计选取深度网络参数稀疏阈值的方法,包括步骤:
步骤S1:对DNNs分布式训练的超参数设置,包括训练数据集θ、小批量尺寸B和节点数目N;
步骤S2:当前工作节点Node读取小批量为B的训练数据D到内存;
步骤S3:判断是否为首次迭代,若是则初始化DNNs模型参数Wt-1、本地延时梯度
Figure BDA0002401580590000036
以及全局动量累加Vt
步骤S4:当前工作节点Node将训练数据D输入网络执行前向推理过程,将正向输出与标签数据对比得到损失误差Loss并对其执行反向传播,逐层计算每个参数梯度
Figure BDA0002401580590000031
其中k和t分别为节点索引和迭代次数;
步骤S5:将上次迭代产生的本地延时梯度
Figure BDA0002401580590000032
与本次新产生的参数梯度
Figure BDA0002401580590000033
进行累加,生成新的
Figure BDA0002401580590000034
然后选取稀疏压缩阈值,对新的
Figure BDA0002401580590000035
进行梯度稀疏压缩处理;
其中,基于高斯分布估计选取稀疏压缩阈值操作的具体步骤如下:
步骤S6:本发明提供的高斯分布估计稀疏阈值策略是通过对DNNs模型的卷积层(convolutionallayers,CONV)、全连接层(fully connected layers,FC)和批归一化层(batchnormalization,BN)等的权值和梯度参数先验假设为高斯分布,求取其特征参数μ和σ的最大似然估计,进而由预设稀疏率ρ得到目标阈值。
步骤S61:遍历网络每个CONV、FC和BN层,将每层的梯度参数平坦化处理降维后得到一维张量。
若在硬件实现过程中,则可根据数据流的输入,逐次进行后续处理。假设CONV、FC和BN层中权值、梯度属于离散型随机变量,那么参数将符合高斯分布,实际参数确实具有高斯分布特性,由最大似然估计可求出特征参数均值μ和标准差σ,如公式(1)。假设样本期望和方差分别为E(X)和D(X)则σ计算方式证明如公式(2),得出本发明提供的算法计算复杂度为O(n);
Figure BDA0002401580590000041
步骤S62:根据高斯函数的面积特性利用μ、σ和ρ得到曲线围成面积为ρ和1-ρ的分界点,如图3所示,ρ=99%的情况,根据Top-k阈值选取方法,假设横坐标轴为参数大小x,则本地延迟的梯度区域为x∈(μ-x1-ρ·σ,μ+x1-ρ·σ),而进行稀疏通信压缩的目标梯度区域为x∈(-∞,x1-ρ·σ]∪[x1-ρ·σ,+∞),则分界点x1-ρ即为所求阈值υ=μ+2.575829σ。
在较特殊的应用场景可通过加修正项υ+ε实现阈值修正,一般情况下ε=0;
步骤S63:由步骤S62得到的阈值υ获取掩码Maskl←|Wt-1,l|≥υl,Maskl是与每层梯度参数等大同形状的0-1张量,其中l为层索引;
步骤S64:根据Maskl选出Top-k重要的稀疏梯度
Figure BDA0002401580590000042
以及更新本地累加梯度
Figure BDA0002401580590000043
然后进行步骤S7;
步骤S7:采用游程编码对Top-k重要稀疏梯度进行编码,然后基于All-reduce分布式训练框架与其他节点Nodes通信传输及交换
Figure BDA0002401580590000051
各节点剪进行聚合平均,得出平均梯度
Figure BDA0002401580590000052
多个节点进行步骤1~7相同的操作;
步骤S8:采用全局动量分布式随机梯度下降算法,使模型更新考虑到全局收敛信息,加速训练的收敛速度。具体而言,包括全局动量累加过程Vt+1=m·Vt+UGt,用新的全局动量进行各参数更新过程:Wt+1=Wt-η·Vt+1,其中m和η分别是动量和学习率参数;
步骤S9:判断当前节点Node是否还存在未训练数据,若是则执行新一轮迭代,同时迭代计数器iter自增;否则表示训练完成,将输出训练好的模型及参数。
若是对DNNs模型的权值进行剪枝压缩训练过程,在对重要权值选取过程类似步骤S6,需要在模型从头训练开始时,按高斯分布产生随机数初始化网络的参数,通过本发明的过程提高压缩训练的速度,十分便于硬件实现。图2为本发明提供的基于经典AlexNet模型训练过程中梯度参数的分布情况统计,可得出各层的梯度参数近似按照高斯分布。
本发明提供的基于CPU对高斯分布估计(红)与传统全排序(紫)、抽样排序(蓝)和层级选择方法(率)结果对比结果,如图4所示。左图为在ρ=99%情况下,与传统全排序相比,本发明的高斯估计最高达到18×加速,而抽样排序和层级选择分别最高达到13×和5×;右图为各种技术稀疏率的误差曲线,可以得出高斯分布估计获得与传统全排序一样精准的阈值,而另外两种方法因随机抽样导致阈值在最佳状态波动变化不够准确。
本发明还提供了标准偏差查找表供用户根据不同需求查找使用,如表1所示。
Figure BDA0002401580590000053
表1
本发明提供基于计算复杂度为O(n)高斯分布最大似然估计选取稀疏阈值,相比于复杂度为O(nlog2 n)的传统排序技术加速效果明显。同时,方便基于硬件实现数据流架构计算,避免硬件内存的限制和复杂的访存控制逻辑,适用于各深度网络压缩训练硬件加速系统。
以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (3)

1.基于高斯分布估计选取深度网络参数稀疏阈值的方法,其特征在于,包括步骤:
S1.对DNNs分布式训练的超参数设置,包括训练数据集θ、小批量尺寸B和节点数目N;
S2.当前工作节点Node读取小批量为B的训练数据D到内存;
S3.判断是否为首次迭代,若是则初始化DNNs模型参数Wt-1、本地延时梯度
Figure FDA0002401580580000011
以及全局动量累加Vt,然后进入步骤S4,否则直接进入步骤S4;
S4.当前工作节点Node将训练数据D输入网络执行前向推理过程,将正向输出与标签数据对比得到损失误差Loss并对其执行反向传播,逐层计算每个参数梯度
Figure FDA0002401580580000012
其中k和t分别为节点索引和迭代次数;
S5.将上次迭代产生的本地延时梯度
Figure FDA0002401580580000013
与本次新产生的参数梯度
Figure FDA0002401580580000014
进行累加,生成新的
Figure FDA0002401580580000015
S6.对DNNs模型的卷积层、全连接层和批归一化层的权值和梯度参数先验假设为高斯分布,求取其特征参数μ和σ的最大似然估计,进而由预设稀疏率ρ得到目标阈值υ并获取掩码Maskl,其中l为层索引;
S7.采用游程编码对根据Maskl选出Top-k选出的重要的稀疏梯度编码,然后基于All-reduce分布式训练框架与其他节点Nodes通信传输及交换
Figure FDA0002401580580000016
各节点剪进行聚合平均,得出平均梯度
Figure FDA0002401580580000017
多个节点进行步骤1~7相同的操作;
S8.采用全局动量分布式随机梯度下降算法,使模型更新考虑到全局收敛信息,加速训练的收敛速度;
S9.判断当前节点Node是否还存在未训练数据,若是则执行新一轮迭代,同时迭代计数器iter自增;否则表示训练完成,将输出训练好的模型及参数。
2.根据权利要求1所述基于高斯分布估计选取深度网络参数稀疏阈值的方法,其特征在于,其中,步骤S6的具体步骤如下:
S61.遍历网络每个卷积层、全连接层和批归一化层,将每层的梯度参数平坦化处理降维后得到一维张量;
假设卷积层、全连接层和批归一化层中权值、梯度属于离散型随机变量,那么参数将符合高斯分布,实际参数确实具有高斯分布特性,由最大似然估计可求出特征参数均值μ和标准差σ;
Figure FDA0002401580580000021
S62.根据高斯函数的面积特性利用μ、σ和ρ得到曲线围成面积为ρ和1-ρ的分界点,
根据Top-k阈值选取方法,假设横坐标轴为参数大小x,则本地延迟的梯度区域为x∈(μ-x1-ρ·σ,μ+x1-ρ·σ),则进行稀疏通信压缩的目标梯度区域为x∈(-∞,x1-ρ·σ]∪[x1-ρ·σ,+∞),则分界点x1-ρ即为所求阈值υ=μ+2.575829σ;
S63.由步骤S62得到的阈值υ获取掩码Maskl←|Wt-1,l|≥υl,Maskl是与每层梯度参数等大同形状的0-1张量;
S64.根据Maskl选出Top-k重要的稀疏梯度
Figure FDA0002401580580000022
以及更新本地累加梯度
Figure FDA0002401580580000023
然后进行步骤S7。
3.根据权利要求2所述基于高斯分布估计选取深度网络参数稀疏阈值的方法,其特征在于,其中,步骤S8采用全局动量分布式随机梯度下降算法处理,包括全局动量累加过程Vt+1=m·Vt+UGt,用新的全局动量进行各参数更新过程Wt+1=Wt-η·Vt+1,其中m和η分别是动量和学习率参数。
CN202010148425.2A 2020-03-05 2020-03-05 基于高斯分布估计选取深度网络参数稀疏阈值的方法 Pending CN111488981A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010148425.2A CN111488981A (zh) 2020-03-05 2020-03-05 基于高斯分布估计选取深度网络参数稀疏阈值的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010148425.2A CN111488981A (zh) 2020-03-05 2020-03-05 基于高斯分布估计选取深度网络参数稀疏阈值的方法

Publications (1)

Publication Number Publication Date
CN111488981A true CN111488981A (zh) 2020-08-04

Family

ID=71794388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010148425.2A Pending CN111488981A (zh) 2020-03-05 2020-03-05 基于高斯分布估计选取深度网络参数稀疏阈值的方法

Country Status (1)

Country Link
CN (1) CN111488981A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235344A (zh) * 2020-09-07 2021-01-15 上海大学 一种面向分布式机器学习的稀疏通信模型的实现方法
CN113159287A (zh) * 2021-04-16 2021-07-23 中山大学 一种基于梯度稀疏的分布式深度学习方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235344A (zh) * 2020-09-07 2021-01-15 上海大学 一种面向分布式机器学习的稀疏通信模型的实现方法
CN112235344B (zh) * 2020-09-07 2022-12-23 上海大学 一种面向分布式机器学习的稀疏通信模型的实现方法
CN113159287A (zh) * 2021-04-16 2021-07-23 中山大学 一种基于梯度稀疏的分布式深度学习方法
CN113159287B (zh) * 2021-04-16 2023-10-10 中山大学 一种基于梯度稀疏的分布式深度学习方法

Similar Documents

Publication Publication Date Title
CN112181971B (zh) 一种基于边缘的联邦学习模型清洗和设备聚类方法、系统
Lym et al. Prunetrain: fast neural network training by dynamic sparse model reconfiguration
CN110366193B (zh) 一种智能电网的网络编排层承载的切片部署方法及装置
CN113011570B (zh) 一种采用神经网络压缩系统的人脸表情识别方法
CN112700060B (zh) 站所终端负荷预测方法和预测装置
CN112215353B (zh) 一种基于变分结构优化网络的通道剪枝方法
CN111488981A (zh) 基于高斯分布估计选取深度网络参数稀疏阈值的方法
CN114422382B (zh) 网络流量预测方法、计算机装置、产品及存储介质
CN107133088A (zh) 一种基于粒子群算法的多核系统任务调度方法
CN109409505A (zh) 一种用于分布式深度学习的压缩梯度的方法
CN112990420A (zh) 一种用于卷积神经网络模型的剪枝方法
CN113595993A (zh) 边缘计算下模型结构优化的车载感知设备联合学习方法
CN114819143A (zh) 一种适用于通信网现场维护的模型压缩方法
Ma et al. A survey of sparse-learning methods for deep neural networks
Huang et al. Distributed pruning towards tiny neural networks in federated learning
Mousa-Pasandi et al. Convolutional neural network pruning using filter attenuation
CN115906959A (zh) 基于de-bp算法的神经网络模型的参数训练方法
Sarkar et al. An incremental pruning strategy for fast training of CNN models
Pragnesh et al. Compression of convolution neural network using structured pruning
Rastegar et al. A fuzzy clustering algorithm using cellular learning automata based evolutionary algorithm
CN114528094A (zh) 基于lstm和遗传算法的分布式系统资源优化分配方法
KR20210157826A (ko) 심층 신경망 구조 학습 및 경량화 방법
CN114239826A (zh) 神经网络剪枝方法、介质及电子设备
Basu et al. Pareto optimal streaming unsupervised classification
CN111695677A (zh) 一种基于神经元复苏的神经网络训练加速方法

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200804

WD01 Invention patent application deemed withdrawn after publication