论文部分内容阅读
近年来,随着深度学习算法的快速发展,深度神经网络(Deep Neural Networks,DNNs)在图像分类,语音识别,物体检测等一系列机器学习任务中取得了最先进的成果。然而,DNNs的密集型计算与存储需求使其很难部署到只有有限资源的嵌入式设备当中,如何使DNNs能够很好的移植到嵌入式设备当中已经成为当今深度学习研究的一大热点内容。本文的主要目的是构建实时的嵌入式深度学习系统,该系统主要包含DNNs的模型存储压缩研究以及基于ARMV7嵌入式平台的计算加速研究两个方面,具体的工作如下:(1):本文对于深度神经网络结构的基本组成做出了简单的介绍,分析了网络的传播算法与相关优化算法,同时描述了 ARMV7嵌入式平台下基于SIMD指令集的计算优化方法,为后续的研究提供技术支持。(2):在嵌入式深度学习系统的模型压缩研究当中,针对DNNs的密集型存储需求,本文提出了一种非对称三元权重量化方法实现DNNs模型的存储压缩。在训练过程中,量化方法将网络每一层权重都量化到{+α1,0,-α2}三元值当中,实现权重的离散化处理,训练完成之后采用2-bit编码方式进行压缩存储,相比于传统的浮点型网络,可以获得16倍的模型压缩比,大大降低了 DNNs对硬件存储空间的需求。实验结果表明,经过量化之后的网络在CIFAR-10数据集上的分类识别率比传统的浮点型网络提高了 0.33%,而在ImageNet数据集上的分类识别率仅仅降低了 0.63%,非对称三元权重量化方法并没有对网络的准确率产生较大的影响。(3):针对嵌入式系统当中缺乏如GPU这样的快速计算设备,本文采用NEON向量化指令实现了 8-bit定点矩阵乘法,加速了 DNNs的前向传播过程。在每一层网络处理过程中,首先将传统的32-bit浮点型权重转变为8-bit定点整数,利用8-bit定点矩阵乘法具有较低的数据带宽与较快的计算速度实现网络层的快速计算,最后将定点计算的结果还原成浮点型数值用于后续层的计算和传输。实验结果表明,经过8-bit定点矩阵乘法优化之后的DNNs前向传输速度相比于传统的浮点型矩阵计算提升了 2-3倍,有效的降低了 DNNs在嵌入式设备中的运行时间。