论文部分内容阅读
深度卷积神经网络(CNN)是人工神经网络模型与基于图像处理的计算机视觉任务的融合。深度卷积神经网络作为深度学习领域的代表算法,自诞生以来便在各种视觉识别任务中取得大幅领先传统方法的识别效果。随着近几年深度卷积网络模型的不断发展,各种视觉识别任务的图片数据集不断拓展,针对并行计算的高性能图形计算处理器(GPU)运算能力不断提升,深度卷积网络的性能逐渐赶上甚至在部分领域超过了受训人类的识别能力。对深度卷积神经网络的研究成为受到计算机视觉、机器学习、人工智能等领域内研究者广泛关注的热点话题。深度卷积网络发展到今天,其模型性能的提升越来越多地依赖于网络深度的提升和计算资源的堆叠,由此带来的是网络模型的复杂度逐渐增加,模型的参数量变得越发庞大,对高性能计算资源的依赖也越发严重。另一方面,视觉识别的各个领域中对深度卷积网络的应用需求也在不断提升,其中不乏大量的存储和计算资源受限的应用场景。深度卷积网络巨大的参数量和计算量极大地限制了其在此类场景中的应用,这成为深度卷积网络的一个重要缺陷。此外,从深度卷积网络的原理出发,对一个深度卷积网络模型进行压缩与优化也是可行的,并且是深度学习进一步的发展方向。卷积神经层具有参数共享和局部感知等特点,在全连接神经网络的基础上降低了参数量和运算量,但其进行特征提取的方式依然包含大量的参数冗余和计算冗余。这种冗余特性在许多相关工作中得到证实,部分网络所具有的结构特征和训练方法也是为了抵抗这种冗余带来的过拟合(Overfitting)等问题。冗余是深度学习模型所具备的一个固有特性,消除这种冗余并保留与任务有关的信息便成为了卷积神经网络模型的发展方向。本文以此为出发点,围绕消除卷积网络中的冗余特性为主题,从不同的角度提出对深度卷积网络的权重参数进行精简,运算流程进行优化的算法,并尝试将字典学习引入深度学习框架,最后提出了在硬件资源受限的场景中运行深度卷积网络解决视觉识别问题的应用方案。具体而言,本文的主要工作包括:1)提出基于卷积核线性表示的网络压缩算法本文首先分析了深度卷积网络卷积核权重间的相关性,认为相关性是网络模型冗余性的体现,由此提出采用线性表示的方法,使用一个小数量的模板卷积核表示全部的大数量卷积核,实现卷积网络模型在参数量上的压缩。模板提取过程采用无监督聚类的方式实现,并在完成表示过程后对卷积核的表示系数进行微调来降低精度损失。本文通过在不同的网络结构和数据集上广泛的运行实验以验证本方法的有效性。2)提出基于欠完备字典稀疏重构的网络优化算法在上一方法中存在仅对模型的参数压缩而无法为运算进行加速的缺点,为解决这一问题,本文进一步提出将字典学习引入卷积神经网络模型,通过字典学习的稀疏性和原子正交性消除权重参数间的冗余特性,具体策略为将卷积层内的卷积体用一个欠完备字典进行稀疏重构以实现参数压缩,并在重构之后将卷积运算与稀疏表示运算的顺序交换以实现运算加速。本文还提出参数重分布的策略在微调之前调整字典原子的权重分布。本方法将字典学习具有的稀疏性、正交性、模型可解释性的特点引入网络压缩优化问题,达到了优化网络模型的目的,并在多种视觉识别任务和模型上得到了验证。3)提出基于模型压缩优化的微型计算机视觉识别系统在以上工作的基础上,本文实现了对大型卷积网络的参数量和运算量进行优化的有效算法,因而本文进一步考虑如何将深度卷积网络实际应用在对硬件资源存在限制的视觉识别系统中,并提出采用将优化后的卷积网络模型运行在微型计算机平台上,实现了视觉识别任务的低功耗低计算资源消耗高精度实时运行,并在多个此类视觉识别任务的案例上进行了验证。这一结果大大提升了视觉识别任务的实际完成性能并拓展了深度卷积网络的应用场景。