吴卫贤,赵 鸣,黄晓丹
(长江大学 计算机科学学院,湖北 荆州 434023)
近年来,卷积神经网络已成为各种计算机视觉任务的主导方法,如图像分类、目标检测、语义分割。大规模数据集、高端现代GPU 和新的网络体系结构允许开发前所未有的大型CNN模型。例如,AlexNet[1]、VGGNet[2]、GoogleNet[3]和Resnet[4],目标检测任务中的Rcnn[5]、FastRcnn[6]、FasterRcnn[7],以及最近热门的YOLOv3[8]所使用的darknet 模型。图像网络分类的卷积神经网络模型已经从8 层发展到100 多层甚至更多层[9]。从一个大型的网络开始训练很重要,因为这种模型具有一定的高性能,可以安全地删除一组冗余参数而不会显著地损失准确率[10]。相比从头开始训练一个小的网络模型,这通常是一种更好的方法,因此目前常见的用于模式识别的卷积神经网络模型越来越大型化。在一个152 层卷积层的Resnet 模型中有6 000 万以上的参数,在输入一个224*224 的图像时,其计算量超过了20G FLOPs,这对于移动端和物联网设备应用是负担不起的[11]。因此,需要对这些大型卷积神经网络模型进行压缩,降低其体积和计算成本,并且在此基础上对其精度进行一定程度的提升。
卷积神经网络模型剪枝方法分为结构化和非结构化剪枝。结构化是修剪整个过滤器,非结构化剪枝则是直接对每层参数进行单独剪枝。为了解决卷积神经网络模型占用空间和计算量过大的问题,不少研究者想通过对神经网络进行剪枝以尽可能地压缩体积、提升速度。早期,Hassibi[12]利用二阶泰勒展开选择参数并进行剪枝,以改善训练和泛化能力;……