【技术实现步骤摘要】
一种用于图像分类的神经网络联合量化方法
[0001]本专利技术公开一种用于图像分类的神经网络联合量化方法,涉及深度神经网络压缩
技术介绍
[0002]得益于计算机性能的增强和互联网数据的丰富,以卷积神经网络为基础的深度学习技术近年来取得了飞快的发展。尤其是在图像分类领域,各种网络模型如雨后春笋般涌现,让深度学习技术迎来了爆发期。然而,随着图像分类准确率的不断提高,模型的参数量和计算量也在不断攀升,占用了庞大的内存空间和推理时间,在工业中的部署(如机器人技术和虚拟/增强现实)面临着诸多挑战。因此,如何在保证模型效果的前提下实现模型加速与压缩已经成为了一个热点问题,这使得深度网络模型压缩快速地发展起来。
[0003]卷积神经网络中的参数值、激活值、梯度值均用32位单精度浮点数表示,神经网络量化就是将网络中的32位浮点数全部或部分转换为8位及更低位数的定点整数的过程。网络模型的量化过程通常包括两部分:钳制(Clipping)和映射(Projection),钳制是指将浮点数固定在某个范围,主要是为了剔除分散的离群点 ...
【技术保护点】
【技术特征摘要】
1.一种用于图像分类的神经网络联合量化方法,其特征在于,包含以下步骤:(1)从公开数据库中下载标准图像分类数据集,并划分训练集和测试集;。(2)从公开模型库下载得到用于图像分类的深度神经网络模型,获取神经网络模型的未压缩浮点型权重参数和网络层总数;使用到的神经网络模型为多支路卷积网络模型ResNet;(3)从未压缩浮点型深度神经网络模型的第二层网络开始逐层量化神经网络模型的权值矩阵;首先对权值矩阵进行参数预处理:对于某一层网络,设网络层的权值矩阵其中C
in
表示输入通道数,C
out
表示输出通道数,然后将矩阵W的每一列分为m个连续的子向量v,每个子向量的维度d=C
in
/m,由此得到m个子矩阵并按列向量形式展开写作并按列向量形式展开写作并按列向量形式展开写作为W
sub
的子向量,维度为d;再把m个子矩阵按列拼接成一个新的整数型权值矩阵表示如下:其中3
×
3卷积对应的子向量v的维数为9,即1
×
1的卷积和全连接层的子向量v的维数设为4,即(4)使用乘积量化算法求出映射码本C和索引矩阵I:用k
‑
means算法学习矩阵的映射码本,将权值矩阵转换为映射码本C和索引矩阵I的形式。每个训练回合随机从标准图像分类数据集中选择满足训练数量需求的图片输入到网络中,进行若干回合训练;(5)使用标量量化将码本C中的元素值转换为8位整数;具体为:首先统计码本C的取值范围(x
min
,x
max
),接着计算缩放系数S、零点偏移量Z,进而计算浮点数对应的8位整数,码本C被转换成整数型码本(6)输入训练图像数据,进行前向计算,首先将整数型码本和索引矩阵I恢复为权值的近似矩阵在网络中的近似矩阵后添加伪量化单元以模拟出量化误差,伪量化单元定义如下:其中W
float
为浮点型权值矩阵,clamp(
·
)表示钳制操作,表示如下:伪量化单元负责记录权值矩阵的数值范围,计算出缩放系数和零点偏移量,同时计算出量化后的网络模型输出y
quant
与浮点数网络模型的输出y
float
的KL散度值(7)利用随机梯度下降法反向计算,消除误差,更新网络参数,训练完成后,误差收敛,得到误差校正后的权值矩阵(8)用索引矩阵I和反推出误差校正后的码本C
correct
,定义如下:
式中i
k
为索引矩阵I的分量,为矩阵的子向量分量。(9)所有网络层的权值矩阵完成量化和误差校正的步骤后,将所有码本C
correct
和索引矩阵I组合成一个用于图像分类的压缩模型,获取需要进行分类的图像数据,输入到训练完成后的压缩模型中,进行图像分类,提高计算效率。2.根据权利要求1中所述的一种用于图像分类的神经网络联合量化方法,其特征在于,所述标准图像分类数据集为CIFAR
‑
10,总共涵盖10种类别,每种类别包含6000张分辨率为32
×
32的图片;训练集和测试集的比例为5:1。3.根据权利要求1中所述的一种用于图像分类的神经网络联合量化方法,其特征在于,求出码本C时选用输出值误差得平方作为k
‑
means算法的目标值,定义如下:其中X为输入,为映射后的权值矩阵,y为输出。k
‑
means算法的计算过程分为E步骤和M步骤;首先从矩阵中随机挑选K个子向量v组成初...
【专利技术属性】
技术研发人员:马龙华,杨颖青,马宏宇,田冠中,徐鸣,虞斌超,
申请(专利权)人:浙江中创天成科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。