论文部分内容阅读
近几年,以卷积神经网络为代表的深度学习技术在计算机视觉、自然语言处理、推荐系统等场景中表现出优异的性能。与此同时,训练卷积神经网络方法的革新和计算机算力的提高使得深度卷积神经网络被广泛地使用和部署。然而,在深度卷积网络优异的性能背后是其高昂的计算代价。深度卷积网络主要由多层卷积层级联而成,这种结构导致了其模型本身拥有大量的参数且模型的运行也需要大量的计算,这阻碍了其在低算力、低功耗、低储存设备上的运用。针对深度卷积神经网络的模型压缩方法可以减少部署深度卷积神经网络模型的参数量和计算量,从而使得其在资源有限的设备上的部署成为可能。本文针对深度卷积神经网络的模型压缩方法展开研究,主要工作贡献如下:(1)针对深度卷积神经网络中网络层数多、计算效率低等问题提出了一种基于知识蒸馏与模型量化相结合的模型压缩方法。该方法使用一个未训练的深度卷积神经网络作为教师网络,将一个未训练的浅层三值卷积神经网络作为学生网络,通过同步的知识蒸馏方法进行师生网络的训练。在训练过程中,教师网络从训练集所学到的知识被传给浅层三值学生网络以指导学生网络的训练。训练后的结果表明,在这种同步知识蒸馏与模型压缩相结合的方法训练后的浅层三值学生网络能够很好地学习到教师网络的任务能力。相较于庞大的教师网络,浅层三值网络的模型参数和部署所需的计算量大大减少。(2)针对深度卷积神经网络中卷积核所占用的计算资源大,计算效率低等问题提出了一种基于主次网络模型的剪枝方法。该方法使用一个未训练的深度卷积神经网络作为待剪枝的主网络,使用一个与主网络结构相同但是网络中参数是三值量化的卷积神经网络作为次网络。主次网络同时用相同的训练数据进行训练,在训练过程中,主网络中某一位置参数被其次网络中对应位置的参数调整或裁剪。训练完成后,主网络的卷积核中大量无用的参数将被裁剪,其运行所需的存储空间和计算量降低,网络准确度基本不变。(3)在多个公开的数据集上对本文所提的两种模型压缩算法进行了验证,实验结果表明了本文所提方法能够有效地对深度卷积神经网络进行压缩。综上所述,本文为减少深度卷积网络部署所需的参数量和计算量,提出了几种模型压缩的算法,并开展了实验验证和结果分析。