基于多比特神经网络非线性量化的深度神经网络压缩方法与流程

文档序号:19572520发布日期:2019-12-31 19:05阅读:985来源:国知局
基于多比特神经网络非线性量化的深度神经网络压缩方法与流程
本发明涉及深度神经网络的压缩,尤其是涉及一种基于多比特非线性量化的深度神经网络压缩方法。
背景技术
:近年来,深度学习技术突破了传统机器学习束缚,能够提取各类数据中复杂精细的特征,大大提高各领域的机器学习性能,特别是卷积神经网络(convolutionalneuralnetworks,cnns)强大的自我编码能力,使得它广泛应用于在图像识别[1-4]、目标检测[5-7]、语义分割[8]等领域,促进人工智能技术迅速发展。特别地,在军事应用领域,受战争需求刺激,人工智能发展更为显著。例如,美国的“全球鹰”、“死神”等智能无人机,美军的“黄蜂”反坦克导弹采用地“图像理解”的人工智能技术,envg头盔式夜视智能眼镜,nweud军用智能手机等。但是,cnn的性能是伴随着巨大的存储空间和复杂的运算,从而对其运用于移动式嵌入式设备(如:手机、机器人、无人机、智能识别眼镜等)中造成了一定的阻碍。目前,大量的卷积神经网络加速依赖于三种方式,即,参数量化、网络剪枝、矩阵分解。矩阵分解通过将权重矩阵分解成为多个小矩阵,从而达到压缩和加速的目的;网络剪枝首先计算网络中冗余的部分,然后对这些分布进行删除处理;参数量化是将原本的浮点型权重值量化到低比特值上,对模型进行压缩和加速。参数量化不会改变网络原有的结构和大小,同时拥有可观的压缩率和加速比,因此被广泛的运用在各类模型的压缩加速上。参数量化一般分为单比特量化与多比特量化,单比特量化是将每个模型权重量化到一个比特上,即在电脑内存上以0或1来表示,可以大幅降低模型的储存空间和计算需求。例如,文献[9]将每个模型权重量化到0或1上,同时对每个滤波器计算一个尺度因子,从而能够达到与原始模型差别不大的量化神经网络。文献[10]通过训练将每个权重量化到-1或1上对原始神经网络进行量化。单比特量化算法虽然可以大幅度压缩网路模型,但是对网络的性能会产生较大的影响,同时需要大量的训练时间开销去学习每个权重的量化结果。多比特量化虽然对模型的压缩加速效果不如单比特量化好,但是其可以较好的保持网络的性能。文献[11]将权重量化到三个值上面,在保持较大压缩率的情况下,依然可以得到性能比较好的量化网络。文献[12]将模型量化到8比特上,可以在无损的情况下达到4倍的压缩率。然而这些方法大多需要大量的训练去得到模型权重应该量化到哪个值,同时使用的多是线性量化方法,这两者对量化模型的时间开销和性能都有较大的影响。因此,考虑一种多比特非线性且不需要训练的量化算法将成为研究重点。参考文献:[1].a.krizhevsky,i.sutskever,ge.hinton.imagenetclassificationwithdeepconvolutionalneuralnetworks.advancesinneuralinformationprocessingsystems.2012:1097-1105.[2].c.szegedy,w.liu,y.jia,etal.goingdeeperwithconvolutions.proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2015:1-9.[3].k.simonyan,a.zisserman.verydeepconvolutionalnetworksforlarge-scaleimagerecognition.arxivpreprintarxiv:1409.1556,2014.[4].k.he,x.zhang,s.ren,etal.deepresiduallearningforimagerecognition.proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2016:770-778.[5].r.girshick,j.donahue,t.darrell,etal.richfeaturehierarchiesforaccurateobjectdetectionandsemanticsegmentation.proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2014:580-587.[6].r.girshick.fastr-cnn.proceedingsoftheieeeinternationalconferenceoncomputervision.2015:1440-1448.[7].r.ren,k.he,r.fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks.advancesinneuralinformationprocessingsystems.2015:91-99.[8].j.long,e.shelhamer,t.darrell.fullyconvolutionalnetworksforsemanticsegmentation.proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2015:3431-3440.[9]rastegarim,ordonezv,redmonj,etal.xnor-net:imagenetclassificationusingbinaryconvolutionalneuralnetworks[c]//europeanconferenceoncomputervision.springer,cham,2016:525-542.[10]courbariauxm,hubarai,soudryd,etal.binarizedneuralnetworks:trainingdeepneuralnetworkswithweightsandactivationsconstrainedto+1or-1[j].arxivpreprintarxiv:1602.02830,2016.[11]zhous,wuy,niz,etal.dorefa-net:traininglowbitwidthconvolutionalneuralnetworkswithlowbitwidthgradients[j].arxivpreprintarxiv:1606.06160,2016.[12]jacobb,kligyss,chenb,etal.quantizationandtrainingofneuralnetworksforefficientinteger-arithmetic-onlyinference[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2018:2704-2713.技术实现要素:本发明的目的是针对传统的需要训练的单一比特的线性量化算法造成的量化时间开销大且无法获得高性能网络的缺点,设计一种多比特非线性且不需要训练的量化算法。本发明包括以下步骤:1)对预训练的模型权重进行非线性变换。2)设置量化比特位。3)计算每层的模型权重各自的尺度因子和偏置因子。4)通过上述计算出来的因子计算对应的量化权重。本发明首先克服了传统量化算法需要进行量化训练的缺点,通过直接建立原始全精度权重和量化权重之间的非线性映射,将全精度权重直接量化到低比特权重上,节省了训练的时间,其次,本发明没有使用线性映射,而是非线性映射来量化网络权重,该方法能够提升网络的性能,特别是在比特位较低的情况下。在本发明中,使用的设备较低,需要使用一块nvidiatitanxgpu用于模型量化,以及正常的一台pc用于测试和存储量化后的卷积神经网络模型。本发明通过改进传统量化算法需要训练且映射关系较为单一的问题,考虑非线性映射,设计了多比特非线性量化算法,该算法不需要进行训练即可得到量化模型。本发明能够压缩经典的vgg-16和resnet-50模型,在压缩模型达到5.4倍的情况下,模型的基本没有精度损失。量化后的模型可以直接嵌入到手机或移动设备端,大大加速负荷的原始模型的计算量和同时压缩高度冗余的原始模型的存储量,使得高性能深度学习模型植入移动嵌入式设备端,在移动智能识别、云计算及无人驾驶等领域存在大量的应用前景。附图说明图1为多比特非线性量化算法的流程图;图2为不同非线性变化与不同比特在vgg-16上的top-1accuracy变化曲线。具体实施方式以下实施例将结合附图对本发明作进一步的说明。1)权重映射在下面的实验中,比较了三种映射方法:线性映射:log映射:tanh映射:2)设置量化比特位根据不同的网络结构,设置不同的比特位n,其取值范围一般在[1,8]的正整数上。3)计算量化层非线性变换后的权重对应尺度因子s和偏置因子z尺度因子s计算公式:偏置因子z计算公式:4)计算全精度权重w对应的低比特数值q当保存模型的时候,只需要保存q,对应的尺度因子s和偏置因子z。当读取模型进行计算的时候,通过如下公式,恢复为全精度权重进行计算:w′=f-1[s(q-z)](8)近年来,随着软硬件的高速发展,深度学习得到了迅猛发展,已经遍及人工智能的各个领域,包括图像处理、语音识别、自然语言处理等。深度学习拥有强大的编码能力,能够对输入数据进行高效的特征提取,使得它在图像识别、目标检测等领域达到较高的效果。但是由于深度学习的巨大模型和复杂计算,使得它无法移植到移动嵌入式设备中。本发明提出了一种多比特非线性量化算法,能够有效压缩模型的大小,使得其能够运用在移动设备端。表1.不同比特不同非线性变化在vgg-16上的top-1accuracy比较表2.不同比特在tanhα=3条件下在vgg-16上的性能比较bit328765#param.(m)138.434.630.2825.9521.63top-1acc70.8970.8470.8670.3567.60top-5acc89.8589.8589.8389.6087.87表3.不同比特不同非线性变化在resnet-50上的top-1accuracy比较表4.不同比特不同非线性变化在fasterrcnn上的map比较本发明在vgg-16,resnet-50上进行验证,采用了imagenet2012数据集。同时本发明再fasterrcnn上进行验证,采用了voc2007数据集。通过表1~4的实验结果可知,本发明能够有效地压缩模型大小,同时保持较好的网络性能。公式说明如下:(定义的公式变量与符号可参考具体公式表达说明)公式(1)定义了非线性变化公式。公式(2)定义了线性量化计算公式。公式(3)定义了log2量化计算公式。公式(4)定义了tanh量化计算公式。公式(5)定义了尺度因子计算公式。公式(6)定义了偏置因子计算公式。公式(7)为量化权值计算公式。公式(8)为从量化权值还原为全精度权重的计算公式。本发明中英文专有名词定义如下:top-1acc.定义为所有测试样本输出最大概率的类别为正确标签的准确率。top-5acc.定义为所有测试样本输出概率中排名前五所对应类别出现正确标签的准确率。map#param.定义为模型权重个数。图1给出了多比特非线性量化算法的流程图;图2给出了不同非线性变化与不同比特在vgg-16上的top-1accuracy变化曲线。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1