当前位置: 首页 > 专利查询>深圳大学专利>正文

深度卷积神经网络的混合精度量化方法及相关设备技术

技术编号:38767760 阅读:16 留言:0更新日期:2023-09-10 10:40
本发明专利技术提供了一种深度卷积神经网络的混合精度量化方法及相关设备,方法包括,对经过样本训练后的全精度深度卷积神经网络模型输入层、各个卷积层和各个全连接层浮点数表示的权重与偏置进行缩放为实数表示的权重与偏置,并对应地对全精度深度卷积神经网络模型各层的网络输出值进行量化,对量化后的深度卷积神经网络模型的不同精度组合进行模型测试,从测试准确率结果中选出最佳的量化精度组合。本发明专利技术的有益效果在于:最大限度的在减小网络所占用的内存与加快推理速度的同时,保证网络的性能。能。能。

【技术实现步骤摘要】
深度卷积神经网络的混合精度量化方法及相关设备


[0001]本专利技术涉及深度卷积神经网络
,尤其是指一种深度卷积神经网络的混合精度量化方法及相关设备。

技术介绍

[0002]近些年来,随着数据样本的不断丰富,计算单元性能的快速提升,卷积神经网络(convolutional neural network,CNN)凭借着其强大的特征提取和表达能力,在图像分类、目标检测和语义分割等计算机视觉领域,都获得了显著的应用成效。得益于网络模型的加深加巨,CNN的众多拓展模型在众多任务中超越了很多传统技术方法,甚至堪比人类的识别能力,可适用于广泛的行业应用,如智能驾驶、人脸识别等。
[0003]然而,在卷积神经网络如此华丽的外表之下,往往是以牺牲巨大的内存存储,繁多的计算量,冗长的训练时间为代价,这使其在许多资源受限的嵌入式设备和对实时性要求较高的移动端的部署带来了许多阻碍。现如今像城市智能安防,城市交通管理,无人驾驶,人机交互等此类应用场景无一不在运算的实时性方面对网络模型提出了极高的要求。这些应用模型在借助深度卷积神经网络(deep convolutional neural network,DCNN)强大的特征提取和处理能力的同时,也不得不需要面对DCNN为部署平台带来的高昂的存储和计算成本,这也导致这些深度模型虽然己达到了满足任务性能的指标需求,却仍然难以被部署在移动设备或嵌入式平台上运行,限制了其进一步推广。
[0004]为使得复杂的网络模型能更好的应用于移动设备与嵌入式平台中,有些研究学者通过设计新的深度学习框架和专用型硬件芯片,以加快深度学习的训练和测试过程,但是这些框架和工具必须针对特定的硬件和应用场景,对于很多的应用场景缺乏适用性。进而更多学者选择从软件方向来加速深度神经网络,设计优化算法来解决深度学习的庞大计算量和较大内存空间的需求以及耗时长的问题。经过不断的发展与更迭,现如今学术界DCNN的轻量化方法主要可以分为五大类:网络剪枝(network pruning),参数量化(parameter quantification),低秩分解(low

rank decomposition),知识蒸馏(knowledge distillation),轻量化网络设计(compact structure design)。不管哪一种方法,都有一个共同的目标,即在保持高精度的同时减少神经网络的大小或复杂性。而如何保持网络模型的轻量化和精度损失之间的平衡一直是该研究的重难点。
[0005]在如今的神经网络里,不论是输入还是权重,使用的基本都是32位的浮点数,而在实际应用的过程当中会发现这个精度是存在冗余的,尤其是对于目前一些小型设备在实现一些较为简单的分类或识别任务时,该情况更为明显,这无疑是一种资源浪费。

技术实现思路

[0006]本专利技术所要解决的技术问题是:提供一种深度卷积神经网络的混合精度量化方法及相关设备,旨在不影响性能的前提下,降低深度卷积神经网络的精度冗余。
[0007]为了解决上述技术问题,本专利技术采用的技术方案为:一种深度卷积神经网络的混
合精度量化方法,包括步骤:
[0008]S11、加载经过样本训练后的全精度深度卷积神经网络模型,获取其输入层、各个卷积层和各个全连接层用浮点数表示的权重与偏置的最大值与最小值;
[0009]S12、根据输入层、各个卷积层和各个全连接层用浮点数表示的权重和偏置的最大值、最小值以及需要量化的精度,计算出输入层、各个卷积层和各个全连接层的权重与偏置对应的缩放系数和量化零点;
[0010]S13、根据输入层、各个卷积层和各个全连接层的权重与偏置对应的缩放系数和量化零点,计算出量化后用实数表示的权重与偏置取代原有用浮点数表示的权重与偏置;
[0011]S14、利用全精度深度卷积神经网络模型的训练数据进行前向传播,得到每层网络的权重与偏置被取代后,全精度深度卷积神经网络模型的每层网络输出浮点数表示的最大值和最小值;
[0012]S15、根据每层网络输出用浮点数表示的最大值、最小值以及需要量化的精度,计算每层网络输出值对应的缩放系数和量化零点;
[0013]S16、根据每层网络输出值对应的缩放系数和量化零点,计算出量化后用实数表示的每层网络的输出值取代原有的每层网络用浮点数表示的输出值,完成全精度深度卷积神经网络模型量化框架的搭建;
[0014]S17、对搭建好的深度卷积神经网络量化框架设置不同的精度组合进行模型测试,从测试准确率结果中选出最佳的量化精度组合。
[0015]进一步的,步骤S17具体包括,
[0016]S171、将搭建好的深度卷积神经网络量化框架中的所有网络层量化精度设置为8比特,记录下准确率结果,随后选择其中一层网络层的量化精度从8比特遍历到1比特,而其他网络层的量化精度保持8比特不变进行模型测试,记录量化后的深度卷积神经网络模型的各网络层的量化精度及对应的测试准确率结果,直到所有网络层的量化精度都从8比特到1比特遍历,记录下各网络层的量化精度及对应的测试准确率结果;
[0017]S172、对所有的测试准确率结果进行排序;
[0018]S173、根据模型需要压缩的程度,从排好序的测试准确率结果中选择一个作为阈值,并从每一层网络层的量化精度从8比特下降到1比特过程中所得到的8个测试准确率结果当中找到最接近该阈值所对应的比特位,以确定一组最佳的量化精度组合。
[0019]进一步的,在步骤S172中,在对所有的测试准确率结果进行排序之前还包括,
[0020]对测试准确率结果进行筛选,将采用较高量化精度但测试准确率结果却不如较低量化精度的测试准确率结果删除。
[0021]进一步的,步骤S12中,计算缩放系数采用的公式为:
[0022][0023]计算量化零点采用的公式为:
[0024][0025]其中,Z代表量化后的零点;S代表量化的缩放系数;r
max
和r
min
表示浮点数的最大值和最小值;q
max
和q
min
表示量化精度的最大值和最小值;round为按指定的位数对数值进行四
舍五入。
[0026]进一步的,根据输入层、各个卷积层和各个全连接层的权重与偏置对应的缩放系数和量化零点,计算出量化后用实数表示的权重与偏置取代原有用浮点数表示的权重与偏置采用的公式为:
[0027]r=Sq

Z
[0028][0029]其中,r代表量化前的浮点数;q代表量化后的实数。
[0030]进一步的,深度卷积神经网络的混合精度量化方法,还包括步骤:
[0031]S10、通过训练样本对全精度深度卷积神经网络模型进行模型训练,得到训练完成的全精度深度卷积神经网络模型。
[0032]进一步的,采用的全精度深度卷积神经网络模型为VGG16网络模型和Alxnet网络模型,VGG16网络模型一共16层,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度卷积神经网络的混合精度量化方法,其特征在于,包括步骤:S11、加载经过样本训练后的全精度深度卷积神经网络模型,获取其输入层、各个卷积层和各个全连接层用浮点数表示的权重与偏置的最大值与最小值;S12、根据输入层、各个卷积层和各个全连接层用浮点数表示的权重和偏置的最大值、最小值以及需要量化的精度,计算出输入层、各个卷积层和各个全连接层的权重与偏置对应的缩放系数和量化零点;S13、根据输入层、各个卷积层和各个全连接层的权重与偏置对应的缩放系数和量化零点,计算出量化后用实数表示的权重与偏置取代原有用浮点数表示的权重与偏置;S14、利用全精度深度卷积神经网络模型的训练数据进行前向传播,得到每层网络的权重与偏置被取代后,全精度深度卷积神经网络模型的每层网络输出浮点数表示的最大值和最小值;S15、根据每层网络输出用浮点数表示的最大值、最小值以及需要量化的精度,计算每层网络输出值对应的缩放系数和量化零点;S16、根据每层网络输出值对应的缩放系数和量化零点,计算出量化后用实数表示的每层网络的输出值取代原有的每层网络用浮点数表示的输出值,完成全精度深度卷积神经网络模型量化框架的搭建;S17、对搭建好的深度卷积神经网络量化框架设置不同的精度组合进行模型测试,从测试准确率结果中选出最佳的量化精度组合。2.如权利要求1所述的深度卷积神经网络的混合精度量化方法,其特征在于,步骤S17具体包括,S171、将搭建好的深度卷积神经网络量化框架中的所有网络层量化精度设置为8比特,记录下准确率结果,随后选择其中一层网络层的量化精度从8比特遍历到1比特,而其他网络层的量化精度保持8比特不变进行模型测试,记录量化后的深度卷积神经网络模型的各网络层的量化精度及对应的测试准确率结果,直到所有网络层的量化精度都从8比特到1比特遍历,记录下各网络层的量化精度及对应的测试准确率结果;S172、对所有的测试准确率结果进行排序;S173、根据模型需要压缩的程度,从排好序的测试准确率结果中选择一个作为阈值,并从每一层网络层的量化精度从8比特下降到1比特过程中所得到的8个测试准确率结果当中找到最接近该阈值所对应的比特位,以确定一组最佳的量化精度组合。3.如权利要求2所述的深度卷积神经网络的混合精度量化方法,其特征在于,在步骤S172中,在对所有的测试准确率结果进行排序之前还包括,对测试准确率结果进行筛选,将采用较高量化精度但测试准确率结果却不如较低量化精度的测试准确率结果删除。4.如权利要求1所述的深度卷积神经网络的混合精度量化方法,其特征在于,步骤S12中,计算缩放系数采用的公式为:计算量化零点采用的公式为:
其中,Z代表量化后的零点;S代表量化的缩放系数;r
max
和r
min
表示浮点数的最大值和最小值;q
max
和q
...

【专利技术属性】
技术研发人员:孙维泽熊旭伦黄磊陈少武陈贵童
申请(专利权)人:深圳大学
类型:发明
国别省市:

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

1