基于统计分析的卷积神经网络模型压缩方法

 针对卷积神经网络中卷积层参数冗余, 运算效率低的问题, 从卷积神经网络训练过程中参数的统计特性出发, 提出了一种基于统计分析裁剪卷积核的卷积神经网络模型压缩方法, 在保证卷积神经网络处理信息能力的前提下, 通过裁剪卷积层中对整个模型影响较小的卷积核对已训练好的卷积神经网络模型进行压缩, 在尽可能不损失模型准确率的情况下减少卷积神经网络的参数, 降低运算量.


 Han 等人[16]通过裁剪、量化、压缩卷积神经网络模型参数, 大幅度减少模型的大小, 并且没有降低模型的准确率. 文献[17]指出非结构的稀疏无法利用现有的硬件进行加速, 提出了一种在目标函数上增加 group lasso 进行结构化稀疏的学习方式. 文献[18]通过一个训练好的较大的模型来训练一个较小的模型, 将较大的模型学到的知识迁移到较小的模型中. Network in Network[19]除了对卷积层进行了改进, 还提出了全局平均化的方法, 解决了全连接层参数数量多的问题, 并被 GoogleNet 和 ResNet等采用. 目前卷积层的卷积核大小、卷积核数量对于不同的数据集参数设置不同, 需要大量实验, 有一定经验成分, 卷积层用一般包含了足够多数目的卷积核, 存在冗余, 已有相关文献通过实验证明在裁剪部分不重要的卷积核后, 再训练整个卷积神经网络 (或者逐层裁剪、逐层训练) 可以在尽量不损失准的条件下对卷积神经网络进行压缩[20–22]. Wen[20]等人通过定义APoZ(Average Percentage of Zeros) 来统计每一个卷积核中激活为 0 的比例, 以为评估一个卷积核是否重要, 主要是用在最后一层卷积层, 以此减少全连接层的参数数量. 


由于文献[19]提出的全局平均池化在一定会程度上解决了传统卷积神经网络参数多的问题. 本文的主要解决的是卷积层的压缩, 在调研了卷积神经网络训练过程中的规律的基础上, 提出了基于卷积核的标准差作为卷积核重要性指标进行卷积核裁剪的方法。

 直到 2012 年 Hiton 及其学生Alex 构建的深度卷积神经网络 AlexNet 在 ImageNet上取得了显著的成绩, 主要原因是训练的改进, 在网络的训练中加入了权重衰减、Droupout[ 2 7 ]、BatchNormalization[28]等技术, 更关键的是计算机计算能力的提升, GPU 加速技术的发展, 使得在计算机可以高效地实现卷积的运算. 之后, 更复杂, 准确率更高的深度卷积神经网络被提出.



本文认为, 卷积神经网络通过训练, 标准差或者方差更大的卷积核学习到了更明显的局部特征, 因此提出了基于标准差的卷积核裁剪方法, 克服了文献[20,21]需要输入样本, 统计特征图各类参数需要额外大量计算量的缺点, 同时也避免了文献[22]只保留 L1 范数较大的卷积核, 而没有考虑到卷积核提取特征的能力与参数的分布有关. 本文了还将以卷积核标准差作为卷积核重要性指标与文献[22]提出的以卷积核 L1 范数作为卷积核重要性指标相结合, 即将卷积核的 L1 范数和标准差结合作为卷积核重要性的评价指标, 对卷积核进行裁剪



 裁剪标准差较小的卷积核能比裁剪标准较大的卷积核保留的准确率更高, 即标准差较大的卷积核比方差较小的卷积核更重要, 证实了本文的设想, 即标准差较大的卷积核在训练的过程中学到了更为重要的局部特征.


本文从卷积神经网络训练过程中参数的统计特征出发, 提出了一种基统计分析裁剪卷积核的卷积神经网络模型压缩方法. 通过在针对 MNIST 和 Cifar-10 所设计的两个卷积神经网络中进行裁剪实验, 本文提出的标准差较大的卷积学习到了更显著的局部特征的设想是正确的, 在与类似的裁剪方式的对比中, 本文提出的方法在裁剪较多的卷积核时保留更高的准确率, 根据裁剪的比例动态调整卷积核 L1 范数和标准差的相对重要程度, 可以使得裁剪的结果更稳定. 在后续的研究中, 将进一步研究卷积核通道间的裁剪和利用特征图使得裁剪结果最优.

你可能感兴趣的:(基于统计分析的卷积神经网络模型压缩方法)