论文部分内容阅读
深度神经网络一直是人工智能方面研究的热点,它通过对低层次的特征进行组合,进而形成更加抽象的高层次的特征表示。随着深度学习技术的不断发展以及计算机硬件系统的不断更新升级,近年来,很多问题,如图像识别、目标检测、语义分割、图像检索等已经采用深度神经网络,并取得了广泛成功。强大的计算机硬件使得更深层的网络得以容易的训练,而深层的神经网络显而易见会有更好的识别精度。随着社会经济的发展,人们对于移动设备的使用也越来越频繁,如手机、平板电脑、行车记录仪等。人们开始思考把深度神经网络部署在这些移动设备上,以便使得移动设备的功能更加强大。显而易见,在移动设备上运行深度神经网络有很多好处,如更好的实时处理等。但由于复杂的神经网络十分庞大,它们大量的权重参数会消耗相当大的存储空间、内存带宽以及计算资源,这就阻止了深度神经网络在移动应用上的运行。为此,本文基于TensorFlow框架对当前主流的深度神经网络模型进行了压缩,以便把深度模型部署到移动设备上,本文的主要工作包括:(1)在保持神经网络的精度不变的前提下,对网络连接进行修剪,删除冗余的连接,只保留阈值以内的有效连接,以便减少神经网络所需的存储空间。之后对修剪过的网络进行稀疏训练,以便剩余的连接可以弥补被剪枝的连接,保持精度。(2)将存储权重参数的稀疏矩阵转化为CSR(Compressed Sparse Row)表示,并以存储有效权重的相对索引来代替绝对位置。而后利用K-Means聚类算法对网络的权重和其梯度进行量化,再通过使多个连接共享相同的权重来限制我们需要存储的有效权重的数量,以进一步压缩。(3)运用哈夫曼编码技术对网络进行压缩。对网络中的权重参数,根据其出现概率大小,对不同编码长度的参数用较少的bit表示,从而解决了因编码长短不一而带来的冗余问题。(4)基于Android的图像分类手机APP的实现。将压缩后的网络模型移植到移动端,并在此基础上开发一个手机应用,以实现用卷积神经网络在移动端对图像进行分类的目的。