基于深度神经网络最小方差梯度量化压缩及图像处理方法转让专利
申请号 : CN201911029711.0
文献号 : CN110992432B
文献日 : 2021-07-09
发明人 : 符芳诚 , 周跃 , 崔斌 , 聂小楠
申请人 : 北京大学
摘要 :
权利要求 :
1.一种基于深度神经网络最小方差梯度量化压缩优化方法,针对包含类别标签的有监督数据,采用深度神经网络中对梯度进行非均匀量化的网络压缩,使用韦伯分布族建模梯度分布,再通过搜索最优量化点求解量化方差最小化,使得量化误差最小,提高深度神经网络模型的收敛速度;包括以下步骤:
1)将深度神经网络的训练集数据分批输入架构有深度神经网络模型的多个工作计算机上;
2)多个工作计算机分别利用本地的训练集数据对深度神经网络模型进行训练,并计算得出模型参数的训练梯度值;
3)使用以下方法对梯度值进行压缩:
31)首先建立梯度分布符合韦伯分布情况下插值参数k‑CV表,确定在不同的韦伯分布参数k情况下,CV函数的函数值,在第一次训练迭代前计算一次并常驻内存,迭代时直接调用; Γ为伽马函数;
32)计算梯度分布的均值μ和标准差σ,并求出真实梯度下的CV值:CV=σ/μ;
33)使用二分查找法查找31)中建立的k‑CV表,确定与真实梯度分布下的CV值最接近的表中的CV值,参数k和梯度分布函数;
34)计算量化点区间;
求解量化点 其中,M=3σ;λ和k为步骤33)中的韦伯分布参数,λ=μ/Γ(1+1/k);量化点区间分别为{‑||g||∞,‑s,0,s,||g||∞},其中||g||∞代表梯度分布的∞‑范数,即梯度分布元素的绝对值的最大值;
35)按照以下方法循环计算梯度分布各元素的量化之后的梯度值:其中,gi表示原梯度元素值, 表示量化之后的元素值,[st,st+1]表示步骤34)中求解的量化点区间;
4)每个工作计算机将量化之后的梯度值通过网络传递给参数服务器;参数服务器得出最终梯度值,并传输给每个工作计算机;
5)工作计算机收到最终梯度值后,对模型参数进行更新;
6)完成一轮迭代,并重复步骤2)~5)步进入下一次迭代,直到迭代停止,由此得到模型参数并训练好的深度神经网络模型;
7)将待处理的数据集输入工作计算机中;
8)工作计算机将输入的数据集填入步骤6)得到的训练好的深度神经网络模型中进行计算,输出即为处理结果;
通过上述步骤,实现基于深度神经网络最小方差梯度量化压缩优化并采用优化的深度神经网络进行数据处理。
2.如权利要求1所述基于深度神经网络最小方差梯度量化压缩优化方法,其特征是,所述包含类别标签的有监督数据为用于做图像分类的图像数据;将所述基于深度神经网络最小方差梯度量化压缩优化方法应用于图像分类处理。
3.如权利要求2所述基于深度神经网络最小方差梯度量化压缩优化方法,其特征是,步骤1)具体将用于做图像分类的图像训练集数据分批输入多个工作计算机;多个工作计算机分别利用本地的图像训练集对深度神经网络模型进行训练;模型参数包括:卷积层的卷积核参数、全连接层的权重和偏置。
4.如权利要求2所述基于深度神经网络最小方差梯度量化压缩优化方法,其特征是,步骤6)得到训练好的图像分类模型,将待分类的图像数据集输入训练好的图像分类模型中,按照机器学习方法进行计算,得到图像的类别概率;再根据类别概率识别得到该图像的类别。
5.如权利要求1所述基于深度神经网络最小方差梯度量化压缩优化方法,其特征是,步骤31)中,参数k取值为0.1
6.如权利要求1所述基于深度神经网络最小方差梯度量化压缩优化方法,其特征是,步骤5)具体采用随机梯度下降方法对模型参数进行更新。
7.如权利要求1所述基于深度神经网络最小方差梯度量化压缩优化方法,其特征是,步骤34)中,通过如下公式计算得到量化点的值:其中, 为量化点的值;Γ为伽马函数;M=3σ。
8.如权利要求1所述基于深度神经网络最小方差梯度量化压缩优化方法,其特征是,深度神经网络具体采用ResNet34或VGG19模型。
9.如权利要求1所述基于深度神经网络最小方差梯度量化压缩优化方法,其特征是,训练数据集采用CIFAR10、CIFAR100或ImageNet图像数据集。
说明书 :
基于深度神经网络最小方差梯度量化压缩及图像处理方法
技术领域
背景技术
长,许多研究人员致力于以分布式方式训练深度神经网络(DNNs)。在分布式训练下,普遍采
用数据并行随机梯度下降(SGD)的方法进行训练,训练实例分散在每个worker上,每个
worker基于自己的数据训练梯度,然后使用all reduce或参数服务器的方式聚合所有梯度
更新模型参数,更新后的参数发送回下一次迭代的所有worker。分布式深度学习虽然减少
了计算时间,但数据并行性需要相当大的通信开销。为此,基于gpu的大规模分布式深度学
习中降低通信开销的研究日益受到关注。在这个方向上,梯度量化是一种众所周知的方法,
通过将梯度量化为更少的比特数可以用来降低处理过程的通信成本。
reduce communication in distributed deep learning.In Advances in neural
information processing systems,1509–1519.;②Alistarh,D.;Grubic,D.;Li,J.;
Tomioka,R.;and Vojnovic,M.2017.Qsgd:Communication‑efficient sgd via gradient
quantization and encoding.In Advances in Neural Information Processing
Systems,1709–1720.)。Terngrad利用无偏性证明了梯度量化方法的收敛性。然而,它只考
虑一个很少的量化级别n=2。在实际应用中,需要获得理想的收敛性,例如梯度裁剪和不量
化最后一个全连接层,但这会损害压缩比。上述方法还使用了更多的量化级别,考虑了量化
级别和收敛性之间的权衡,但该方法只关注了均匀量化。因此,现有方法大多采用均匀量化
机制,对梯度值进行均匀量化。这样的方案可导致较大的量化方差,在实际应用中减慢收敛
速度,使得图像处理效率不高。
发明内容
合理的先验值逼近梯度分布,根据梯度的分布找到量化方差最小的最优量化点,利用分布
特性实现理论上的最优量化方差。在相同的压缩水平下,本发明方法能获得较低的量化方
差,且收敛速度快于均匀量化方法,与全精度训练算法具有相似的收敛性能,将上述神经网
络压缩方法用于图像分类处理,可提高图像处理效率。
T
的方法之一。假设目标函数f: 的输入是一个多维向量x=[x1,x2,…,xd] ,目标函数
f(x)有关x的梯度是一个由偏导数组成的向量 为了最小化f(x),可以通过梯度下降算
法来不断降低目标函数f的值: 其中η:学习率。
况。
设X是一个随机变量,若E{[X‑E(X)] }存在,则称其为X的方差,记为D(X),即:D(X)=E{[X‑E
2
(X)]}。
类别标签的有监督图像数据),采用深度神经网络中对梯度进行非均匀量化的网络压缩方
法MVQsgd:Minimum Variance Quantization stochastic gradient descent,使得量化误
差最小,提高深度神经网络模型的收敛速度,将上述神经网络压缩方法用于图像分类处理,
可提高图像处理效率。
值;
定在不同的参数k(0.1
算。此步骤在第一次训练迭代前计算一次并常驻内存即可,后续迭代时直接调用,不用重复
计算;
g||∞,‑s,0,s,||g||∞},其中||g||∞代表梯度分布的∞‑范数,即梯度分布元素的绝对值的
最大值;
次)。前6步为模型的训练过程,经过前6步的训练,得到了模型的最终参数并建立了最终的
图像分类模型。使用本模型对图像进行分类时,应按照以下步骤进行:
问题:类别1:0.1、类别2:0.2、类别3:0.7);
方差最小的最优量化点,利用分布特性实现理论上的最优量化方差。在相同的压缩水平下,
本发明方法能获得较低的量化方差,进而在训练时收敛速度快于均匀量化方法,与全精度
训练算法具有相似的收敛性能,将上述神经网络压缩方法用于图像分类处理,可提高图像
处理效率。
附图说明
具体实施方式
Worker通信进而组成分布式机器学习系统。其中主节点Master提供数据和参数矩阵的分片
和分发,资源申请,管理和监控任务运行状态等功能;参数服务器Parameter Server负责存
储和更新参数,可以通过增加机器水平扩展,以容纳更多参数;计算节点Worker负责具体的
模型训练或者结果预测,包含一个或者多个任务Task,Task之间共享Worker的资源,所有计
算节点对当前拥有的数据集进行计算,并将计算结果返回主节点Master。主节点Master根
据所有计算节点的计算结果,更新全局变量并将全局变量向所有计算节点进行广播。各计
算节点收到全局变量以后根据全局变量完成对模型中相应维度进行参数更新。
7,直到达到停止条件(一般是误差小于特定值或者达到特定迭代轮数);
训练,以下选取CIFAR10数据集运用VGG19模型进行训练来说明具体运用方式。VGG19模型为
由文献(Very Deep Convolutional Networks for Large‑Scale Image Recognition,
Karen Simonyan and Andrew Zisserman,ICLR 2015)中提出的共19层的深度神经网络模
型。
各个计算节点的梯度值大致分布情况,而后计算出需要的量化点,并将量化点矩阵作为最
终的梯度值传递给参数服务器进行计算。
(Bernstein,J.;Wang,Y.‑X.;Azizzadenesheli,K.;and Anandkumar,A.2018.Signsgd:
Compressed optimisation for nonconvex problems.In International Conference on
Machine Learning,559–568.)指出:梯度的分布是单峰对称的。根据实际绘制了一些梯度
的经验分布,并注意到除了单峰对称外,梯度分布还符合中心趋势和长尾效应。为此,本发
明使用韦伯分布来建模梯度的分布。
斯分布来建模梯度的KL散度。ResNet34是文献(Deep Residual Learning for Image
Recognition,Kaiming He,Xiangyu Zhang,Shaoqing Ren,Jian Sun,arXiv:1512.03385)
中提出的34层的深度残差神经网络模型。可以看出,在整个训练过程中韦伯分布总能获得
最小的KL散度值。事实上,拉普拉斯分布是韦伯分布的一个特例,它没有足够的复杂性来描
述梯度。而高斯分布由于与梯度分布有着显著差异,表现性能也较差。
CIFAR100、ImageNet数据集训练VGG19、ResNet34、ResNet50等,得到训练损失以及准确率如
下表如示。可以看出,因MVQsgd与QSGD和Terngrad相比能始终获得较低的方法,为此,训练
效率和准确率略低于无任何压缩的FP32,高于QSGD和Terngrad方法。
可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求
书界定的范围为准。