基于CPU的深度学习框架加速优化

 2022-04-07 20:36:09

论文总字数:22607字

摘 要

深度学习通过设计搭建一个拥有大量隐藏层的神经网络模型并利用庞大的训练数据集来学习输入信息中有价值的特征,从而提高结果的准确率。近几年来被广泛地应用于众多领域,与人们日常生活的联系越来越紧密。虽然深度学习的功能十分强大, 但它不仅需要大量的计算资源, 也对内存需求有很高的要求, 所以很难在功耗和资源有限的嵌入式系统上进行部署。为了使深度神经网络可以更好地应用到嵌入式设备上,则需对训练好的神经网络模型进行优化压缩,尽可能地在不影响最终结果准确率的情况下减少内存需求并且提高运行速度。

本文首先介绍了深度学习神经网络的基本概念,针对常规神经网络模型因为资源需求大而不太适合嵌入式系统应用的问题,提出了一种对神经网络模型进行压缩优化的算法:首先将训练好的神经网络模型进行通道剪枝,然后再对神经网络模型参数进行int8量化。本文使用人脸检测网络MTCNN进行实验,并在FDDB评测系统上利用测试数据集来测试优化压缩前后的网络性能,进行对比分析。测试显示此算法可将MTCNN网络模型大小减小约4倍,运算速率提升5.3%,但准确率仅下降2%,并未影响正常的应用需求。这使网络模型部署到硬件设备上成为可能。

关键词:深度神经网络、剪枝、int8量化

Abstract

Deep learning improves the accuracy of classification or prediction by building multiple hidden layer neural network models and using a large amount of training data to learn valuable features in input information. It is widely used in other fields such as computer vision, speech recognition and natural language processing, and it is more closely related to people's lives. The deep learning is very powerful, it requires a large amount of computing resources and a large amount of memory, so it is difficult to deploy on embedded systems with limited power consumption and hardware resources. In order to make the deep neural network better applicable to hardware devices, it is necessary to optimize the compression of the trained neural network model, reducing memory requirements and increasing the running speed.In this thesis, we propose an algorithm for compressing and optimizing neural network models. The algorithm is divided into two stages: channel pruning for trained neural network models, and then int8 quantification of neural network model parameters. The face detection network mtcnn is tested. On the FDDB face dataset, the FDDB evaluation system is used to test and optimize the network performance after compression. Tests show that the size of the mtcnn network model can be reduced by 4 times, the operation rate is increased by 5.3%, and the accuracy rate is only reduced by 2%, which does not affect the normal application requirements. This makes it possible to deploy network models to hardware devices.

Keywords:Depth neural network、pruning、Int8 quantification

目录

第1章 绪论 6

1.1课题背景 6

1.2研究现状 7

1.3论文的主要内容 7

1.4论文的组织结构 8

第2章 深度学习神经网络概述 9

2.1 神经网络 9

2.2 深度学习神经网络 11

2.2.1深度神经网络 11

2.2.2卷积神经网络 11

2.2.3循环神经网络 14

2.3 MTCNN网络简介 14

2.4 Caffe框架简介 14

2.5本章小结 15

第3章 问题的提出与总体方案设计 16

3.1问题的提出 16

3.2总体算法的设计 16

3.3 本章小结 17

第4章 神经网络模型剪枝 18

4.1剪枝概述 18

4.2 数据集介绍及数据数据预处理 18

4.3通道剪枝的设计与实现 19

4.3.1通道剪枝算法原理 19

4.3.2通道剪枝算法实现 20

4.4 本章小结 22

第5章 网络模型参数量化 23

5.1 神经网络模型量化概述 23

5.2 神经网络模型Int8量化的设计与实现 24

5.2.1 Int8参数量化原理 24

5.2.2 Int8参数量化实现 24

5.3 本章小结 26

第6章 测试与分析 27

6.1测试流程 27

6.2神经网络性能测试 28

6.2.1测试数据集介绍 28

6.2.2测试结果分析 28

6.3本章小结 31

第7章 总结和展望 32

7.1 总结 32

7.2展望 32

参考文献 33

致谢 34

第1章 绪论

1.1课题背景

深度学习[[1]]的概念最开始来自于Hinton等人。在某种程度上来说这一概念属于人工神经网络的一个延展部分。而人工神经网络这一概念最开始则是由美国数学家W.Pitts和心理学家W.McCulloch提出的,并且对人工神经网络中的神经元进行数学建模,从此人工神经网络领域方面的研究便拉开了序幕。以下神经网络都是指人工神经网络。该概念受到生物神经网络的启发,并演变成一种数学模型,通过效仿生物神经网络行为的特点来处理信息。神经网络通过不断调整自身内部各层网络中大量节点之间的相互关系,以达到对输入信息的分析处理并得到有价值的信息的目的。

深度学习的巨大优势在于它可以使用用于学习特征信息和分层提取特征信息的有效算法来代替手动得到输入信息中的特征信息的原始方法。最近一些年来,深度神经网络在计算机的众多领域都有着出色的表现。但是在深度学习不断快速发展的同时,为了完成更加复杂的任务,满足更多的用户需求,深度神经网络的结构变得越来越复杂,网络层次越来越深,运行时的计算量和所需内存资源也都随之快速增加。例如,Alex Net Caffe模型的大小就超过了 200 MB,VGG-16网络还包括大概1.4亿个浮点参数。 假设每个参数都以32位浮点格式存储,整个神经网络模型需要超过500 MB的存储空间。手机、车载等移动端应用对深度神经网络的需求越来越多,而如此巨大的存储开销,使深度神经网络很难被部署到移动设备上以供应用。并且运行大型神经网络需要大量的内存带宽来获取权重参数, 还需要大量的计算, 这反过来又会消耗相当大的能量,而移动设备则会受到电池限制, 这使得深度神经网络等耗电的应用程序更加难以部署。

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

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

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