引用本文
饶川, 陈靓影, 徐如意, 刘乐元. 一种基于动态量化编码的深度神经网络压缩方法. 自动化学报, 2019, 45(10): 1960-1968. doi: 10.16383/j.aas.c180554
RAO Chuan, CHEN Jing-Ying, XU Ru-Yi, LIU Le-Yuan. A Dynamic Quantization Coding Based Deep Neural Network Compression Method. ACTA AUTOMATICA SINICA, 2019, 45(10): 1960-1968. doi: 10.16383/j.aas.c180554
http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c180554
关键词
深度神经网络,模型压缩,动态量化编码,码本更新
摘要
近年来深度神经网络(Deep neural network,DNN)从众多机器学习方法中脱颖而出,引起了广泛的兴趣和关注.然而,在主流的深度神经网络模型中,其参数数以百万计,需要消耗大量的计算和存储资源,难以应用于手机等移动嵌入式设备.为了解决这一问题,本文提出了一种基于动态量化编码(Dynamic quantization coding,DQC)的深度神经网络压缩方法.不同于现有的采用静态量化编码(Static quantitative coding,SQC)的方法,本文提出的方法在模型训练过程中同时对量化码本进行更新,使码本尽可能减小较大权重参数量化引起的误差.通过大量的对比实验表明,本文提出的方法优于现有基于静态编码的模型压缩方法.
文章导读
近年来, 深度神经网络在解决机器学习任务时取得了巨大的成功. 2012年, Krizhevsky等[1]首次使用深度神经网络, AlexNet在ILSVRC (ImageNet large scale visual recognition competition)[2]分类任务上获得了冠军, 他们的结果相比传统的机器学习算法在识别精度上提升了近10个百分点, 引起学术界和工业界巨大轰动.从那时起, 各种不同结构的深度神经网络模型如雨后春笋般不断涌现. 2014年英国牛津大学的Visual Geometry Group提出了VGG[3]模型, 同时谷歌的研究人员提出了GoolgLeNet[4], 2015年He等提出了ResNet[5-6].这些模型的网络结构越来越深, 从而能学习到更好的特征以提升模型的性能.然而, 由于内存和计算能力有限, 随着网络变得越来越深, 对包括移动设备在内的有严格时延要求的有限资源平台而言, 随之增加的模型参数需要消耗更多的计算和存储资源, 难以直接应用于手机等移动嵌入式设备.
虽然将深度神经网络部署到云服务器端, 移动端将数据上传服务端处理, 能很好解决上述问题, 但服务器需要耗费昂贵的硬件成本, 导致计算成本过高, 其次移动端在使用的过程对网络要求高, 需要将移动端本地的数据上传到云端服务器进行保存, 在处理一些隐私数据时, 还会存在信息的泄露.所以将深度学习算法部署到移动端本地非常有意义, 但常用的深度模型具有大量的储存量, 比如AlexNet的模型大小量超过200 MB, VGG的模型大小量超过500 MB, 如果将这些网络结构直接运用到手机APP中, 用户需要大量的流量下载APP文件, 还会占用用户手机的大量内存.同时, 巨大的模型文件会带来另外一个问题, 手机设备的能源消耗问题, 手机在调用这些文件时会存在大量的能源消耗, 会让手机设备产生大量的热量, 因此深度模型压缩是非常有必要的.
为了解决这一问题, 各种深度模型压缩方法被提出, 这些方法主要有:模型剪枝、知识精炼(Knowledge distillation)、低秩分解、精细化的模型结构以及权重共享.本文主要关注基于权重共享的方法来压缩模型, 权重共享是通过卷积滤波器中相近的权重共享同一量化值从而达到对深度神经网络压缩的目的.权重共享的方法大致可以分为三类:聚类编码法、二值/三值量化编码和指数量化编码.
聚类编码法, 指使用聚类的方法, 将权重聚类为若干类, 取每类的聚类中心作为共享的权重.例如, Gong等[7]通过对全连接层参数进行聚类, 取聚类中心作为量化编码, 可以将深度模型AlexNet压缩20倍, 而Top-5准确率仅仅下降1 %.类似的, Chen等[8]提出了HashedNets对全连接层进行量化, 利用哈希函数随机的将权重分到不同的哈希桶(Hash bucket), 同一哈希桶的权重具有相同的量化值. Han等[9]提出了一种深度压缩(Deep compression)方法, 通过对卷积层和全连接层的权重进行剪枝, 然后通过K-Means聚类进行量化, 最后使用霍夫曼编码(Huffman coding)对模型进行保存, 极大的压缩了模型的规模.但是, 聚类编码法需要大量额外的计算开销用于聚类分析, 算法的训练效率低.
二值/三值量化编码, 将网络的权重、激活值量化为二值或者三值.例如, Courbariaux等[10]提出了一种二值连接(Binary connect)方法, 将权重进行二值量化(量化为−1,1), 可以将一个深度模型直接压缩32倍; 他们随后提出了Binarized neural networks[11], 将权重和激活值同时进行二值量化, 在压缩网络的同时还可以提高运算效率. Rastegari等[12]提出的二值权重网络(Binary weight networks)和XNOR-Net, 在把权重量化为+1和−1的基础上乘以一个尺度因子, 在大数据集ImageNet上取得了不错的压缩效果. Li等[13]提出的HORQ, 相对于XNOR只使用到一阶阈值, HORQ还用到二阶阈值, 让二阶阈值逼近一阶阈值的残差, HORQ在对准确率影响很小的情况下能将模型缩小32倍, 同时加速30倍左右. Li等[14]提出的TWN (Ternary weight networks), 在二值网络的基础中引入0作为量化权重值. Zhu等[15]提出的TTQ (Trained ternary quantization), 将网络的权重量化为+1和−1的基础上, 分别乘上两个不同的尺度因子. Cai等[16]提出HWGQ-Net通过改变网络的激活函数, 将权重量化1个比特网络的激活值量化为2个比特, 网络只有微小的性能损失.尽管这类方法将模型中的每一个权重、激活值压缩为一到两位来表示, 但是模型的识别精度也有一定幅度的下降.
指数量化编码, 将权重量化为2的(为整数)次幂, 以便于嵌入式系统进行二进制移位操作.该方法由Zhou等[17]首次提出, 利用预训练模型获取固定的指数量化的码本, 然后通过增量量化过程来逐渐量化整个网络.在使用5-bit量化时, 压缩模型的识别率能够保持与原模型一致.这种方法在量化时, 可以高效率对深度神经网络量化, 但在网络重训练时, 他们提出的增量网络量化方法需要分多个阶段训练, 训练效率较低.
鉴于以上几点, 本文提出一种基于动态量化的深度模型压缩方法, 不同与从预训练模型获取固定码本, 动态量化在训练的过程中也更新码本.这种量化方式在保证模型性能的同时, 还加快了效率.同时为了方便嵌入式系统进行移位操作, 本文对所有网络的权值采用指数量化编码, 并通过理论证明得出, 绝对值较大权值参数的量化对模型的精度影响越大.因此, 本研究通过动态编码使得码本能自适应网络中绝对值较大的权值参数.本文的主要贡献有以下三点:
1) 提出动态更新码本自适应网络中绝对值较大的权值参数, 尽可能减小这些参数的量化对模型精度的影响;
2) 提出交替迭代算法用于模型训练, 使得权值参数和码本交替更新, 加快训练过程的收敛速度;
3) 大量的对比实验表明, 本文所提的基于动态编码的模型压缩方法总体上优于静态编码的方法.
本文剩余部分的组织结构如下:第1节介绍现有的深度神经网络压缩方法; 第2节介绍本文提出的方法, 包括基于权重的动态编码过程以及压缩模型的训练过程; 第3节通过大量的对比实验验证本文方法的有效性; 第4节总结与展望.
图 1 网络权值的量化规则
图 2 动态量化编码压缩方法的训练流程
图 3 码本中无0, SQC和DQC的量化比较
本文提出了一种基于动态量化编码的深度神经网络压缩方法.为了方便在嵌入式系统采用移位操作, 本文对网络中的权值采用指数量化编码, 通过理论推导得出, 将模型量化为指数形式时, 绝对值较大权值参数的量化对模型引起的误差也越大.为此, 本文采用动态量化编码, 在反向传播更新网络权值后, 对码本进行更新以自适应模型中的绝对值较大的权值参数, 减小这些参数的量化对模型精度的影响.本文还讨论了静态和动态两种不同码本进行编码时压缩模型的性能.通过实验表明, 深度神经网络越深, 压缩位数越大, 压缩效果越好; 动态量化编码的方法优于静态量化的方法; 本文方法在网络压缩10.67倍时准确率还有提升.虽然本文为了说明动态量化的优越性能, 使用不同深度和量化位宽对深度神经网络压缩进行了大量实验, 但目前只对小数据集进行实验, 后续将在更大的数据集上进行实验.
作者简介
饶川
华中师范大学国家数字化学习工程技术研究中心硕士研究生.2015年获得湖北大学计算机与信息工程学院学士学位.主要研究方向为深度模型的压缩与加速.E-mail:raoguoc@163.com
徐如意
华中师范大学国家数字化学习工程技术研究中心算法工程师.2008年获得武汉科技大学学士学位, 2016年获得华中科技大学硕士学位.主要研究方向为计算机视觉及多媒体应用.E-mail:86798653@qq.com
刘乐元
华中师范大学国家数字化学习工程技术研究中心副教授.主要研究方向为计算机视觉, 模式识别, 多模态人机交互.E-mail:lyliu@mail.ccnu.edu.cn
陈靓影
华中师范大学国家数字化学习工程技术研究中心教授.2001年获得南洋理工计算机科学与工程系博士学位.主要研究方向为图像处理, 计算机视觉, 模式识别, 多媒体应用.本文通信作者.E-mail:chenjy@mail.ccnu.edu.cn
转载本文请联系原作者获取授权,同时请注明本文来自欧彦科学网博客。
链接地址:https://wap.sciencenet.cn/blog-3291369-1396143.html?mobile=1
收藏