基于深度卷积压缩网络的图像分类方法

 2022-01-17 11:01

论文总字数:25208字

目 录

1. 绪论 1

1.1背景及意义 1

1.2卷积神经网络简介 1

1.3压缩深度卷积网络的目的及研究现状 2

1.4主要研究工作 2

1.5论文组织结构 3

2. 预备知识 4

2.1神经网络模型 4

2.1.1神经元模型 4

2.1.2神经网络 4

2.2卷积神经网络 5

2.3坐标下降法 6

2.4 K-means算法 8

3. 深度卷积神经网络的压缩 10

3.1量化全连接层 10

3.2量化卷积层 10

3.3误差校正量化 11

3.3.1全连接层的误差校正 11

3.3.2卷积层的误差校正 12

3.3.3多层误差校正 13

3.3.4计算复杂度 13

4.深度压缩卷积网络在手机端的实现 14

4.1软件环境搭建 14

4.2项目代码的编译与执行 15

4.2.1 JNI与代码编译 15

4.2.2读取模型文件与图片保存 16

4.2.3执行 17

4.3实验结果 17

4.3.1 AlexNet 17

4.3.2ILSVRC-12数据集 18

4.3.3单张图像的分类 18

5.总结与展望 20

参考文献 20

致谢 21

基于深度卷积压缩网络的图像分类方法

郑哲

,China

Abstract:We proposed a deep compressed convolutional neural networks method based on quantized convolutional neural network, and develop an android application program to implement image classification. This method can simultaneously compress deep convolutional neural networks and speed up the computing process by quantizing parameters both in fully-connected layers and convolutional layers. In this paper, the fully-connected layer is used to compress the model, and the speed of the network is improved by quantizing the convolutional layers, and we introduce the idea of error correction into the quantization of network parameters to reduce the accuracy loss. More intuitively, for weights matrix involved in the fully-connected layers and convolution layers, we split them into several subspaces by learning their respective codebook and indicator matrix, and the optimization can be solved by k-means clustering in each subspace to get the optimal codebook and indicator matrix. For error correction, we directly minimize the estimation error of each layer’s response by coordinate descent to reduce the accumulation of error caused by quantizing multiple layers in the training phase. We also take previous layer’s estimation error into consideration in the training phase to reduce the accumulation error, hence, we method can dramatically improve efficiency both in model’s computing process and size. Finally, we apply our method on AlexNet and develop an android application program to implement image classification task which takes about 1.9s as well as comparing accuracy performance with original AlexNet model on ILSVRC-12 benchmark with only 1.1% accuracy descent. In addition, the compressed model size is only 17.6M, compared to the original model size 264.74M, the compression rate is up to 15 times.

Keywords: CNN;quantize;compress ;image classification

绪论

1.1背景及意义

在大数据时代,对于大多数行业而言,获取并较好地利用大数据将是赢得竞争的关键。而在生活中,图像至少占据着90%的数据表现形式,如何高效、快速、合理地对海量图像数据进行识别和分类从而挖掘巨大的价值已经成为众多巨头公司追求的目标。如阿里研究员华先胜开发的拍立淘,这就是一个图像分类和图像检索的重要应用,被广泛地应用于网上购物,极大地方便了人们生活,同时也为阿里创造了巨大的商业价值。人工实现图像分类任务不仅浪费巨大的人力资源,而且效率低下,可喜的是,由于云计算和高性能硬件加速器的普及,人们能够通过基于高性能计算机开发的图像分类算法自动实现图像分类任务。

图像分类(Image Classification)是指根据图像信息所表现的不同特征利用特定算法将不同类别的目标区分开来的图像处理方法。它实际上是寻求一种算法来试图模仿和替代人类视觉对图像的处理过程。线性、非线性的两种特征提取方法是主要的传统的图像分类方法。线性方法比较有代表性的有主成分分析法(PCA)、投影寻踪(PP)和基于Fisher准则的线性鉴别分析法(LDA)等。非线性方法主要有支持向量机(SVM)、核主成分分析(KPCA)等。随着人类生活质量的提高,其对图像分类方法的要求也愈来愈高。传统的图像分类方法在泛化性能上表现欠佳,比如识别树叶的表现性能较好,但不能对人脸进行很好地识别。此外,图像中的物体易受光照和尺度变化的影响,使得传统方法的鲁棒性能变得不理想。

1998年Lecun提出了第一个正式的卷积神经网络模型(LeNet-5) [20]并将其运用于手写数字进行识别,其网络结构构成了现代卷积神经网络网络的基础,并成功地应用到了邮局和银行等行业,卷积神经网络的提出为人类在图像和视频分析上提供了强有力的理解工具。

1.2卷积神经网络简介

人工神经网络是由计算科学家对神经科学和生物神经网络的抽象而提出的数学计算模型,由众多神经元在大量互连的基础上架构而成。每个神经元单输入单输出,如果给定输入信号,则设定相应参数后,可输出任何可拟合的数学模型。

卷积神经网络(CNN)基于人工神经网络发展而来,这一概念最早由LeCun于1989提出,他将经典的反向传播(BP)算法应用于多层卷积神经网络进行手写数字识别。1998年,LeCun提出第一个正式的卷积神经网络模型LeNet-5,这标志着CNN的雏形完成。然而由于当时计算机计算能力和内存资源的限制,其模型与传统视觉算法相比并没有体现优越性,从此进入寒冰期。直到2006年,Hinton在科学杂志上指出神经网络可以通过多层设计[4]来体现其应有的强大的特征表征能力,通过设计相应的参数初始化来缓解其在训练上的复杂度。近年来,在具备GPU加速的硬件条件下,在大数据识别的应用背景下,CNN再次掀起研究热潮。

2012年,Hinton博士生Alex设计卷积网络并通过GPU加速一举获得ILVRC-12第一名。这是CNN首次应用在大规模竞赛中,并在准确率上比2011年运用传统视觉方法的第二名高出了9.4个百分点,top-5识别错误率为16.4%。2013年,Matthew Zeiler等人在Alexnet基础上提出ZFnet,top-5错误率减小至11.7%,并同时将卷积网络的特征映射可视化。2014年提出的VGG和Googlenet将top-5错误率分别降至7.3%和6.7%。2015年Resnet将top-5错误率降至3.57%。而在2016年著名的“人机大战”AlphaGo胜李世石更是将深度卷积网络推向高潮。如下图1所示,2010年到2015年准确率提升的同时网络的层数也愈加深层化。

图1 ImageNet top-5错误率

1.3压缩深度卷积网络的目的及研究现状

近几年来,我们已经见证了卷积神经网络在一系列视觉应用上的巨大成功,包括图像分类、目标检测、年龄预测等等。这些成就主要来自更深层次的网络结构和海量的训练的数据。然而,随着网络层数的加深,模型的复杂度在训练和测试阶段也会成指数级增长,从而导致模型对计算能力有更高的要求。比如,8层的AlexNet包含60M(模型参数大小)的参数,需要每秒高达729M次的浮点运算的CPU运算速度才能对一张简单的图像进行分类。虽然训练阶段可以通过GPU离线加速来获得高质量的分类表现,但测试的计算代价对于个人电脑和移动设备而言是昂贵的。于是越来越多的研究人员着手于深度卷积网络的压缩研究,尤其是移动端手机上的应用。

将训练好的神经网络部署在移动端主要有两种方式:在线和离线。在线的方式主要通过移动端设备采集数据,在云端执行深度学习模型,这也是目前众多手机应用的主流做法。离线的方式则是根据设计的模型来匹配相应的硬件设备,一定程度上依赖于硬件资源,代价较大。训练好的深度模型需要很大的存储空间和计算量。如果直接采用离线的方式,由于计算能力和存储空间的限制,移动设备调用自身资源来运用深度模型在实时性上会很差并且无法保证原有模型的性能。因此,本文试图寻求一种代价较小且尽可能保留原有模型性能的离线方法让用户在手机端就能实现网络部署。应用低成本的离线方式进行深度模型压缩将会给企业带来巨大效益,对卷积神经网络的存储空间压缩和加速计算更是必不可少。

剩余内容已隐藏,请支付后下载全文,论文总字数:25208字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;