Skip to main content
QUICK REVIEW

[论文解读] Multi-Objective Pruning for CNNs Using Genetic Algorithm

Chuanguang Yang, Zhulin An|arXiv (Cornell University)|Jun 2, 2019
Advanced Neural Network Applications参考文献 9被引用 4
一句话总结

该论文提出了一种多目标遗传算法(GA),用于剪枝卷积神经网络(CNNs),以同时优化准确率、计算效率和模型稀疏性。通过使用加权适应度函数并结合迭代剪枝与微调,该方法在LeNet/MNIST上实现了95.42%的参数减少和16倍的卷积层加速,同时准确率损失极小,优于现有最先进方法在计算减少方面的表现,且可通过超参数调优实现可定制的权衡。

ABSTRACT

In this work, we propose a heuristic genetic algorithm (GA) for pruning convolutional neural networks (CNNs) according to the multi-objective trade-off among error, computation and sparsity. In our experiments, we apply our approach to prune pre-trained LeNet across the MNIST dataset, which reduces 95.42% parameter size and achieves 16$ imes$ speedups of convolutional layer computation with tiny accuracy loss by laying emphasis on sparsity and computation, respectively. Our empirical study suggests that GA is an alternative pruning approach for obtaining a competitive compression performance. Additionally, compared with state-of-the-art approaches, GA is capable of automatically pruning CNNs based on the multi-objective importance by a pre-defined fitness function.

研究动机与目标

  • 为解决现有剪枝方法在实际视觉应用中未考虑多目标权衡的局限性。
  • 开发一种剪枝框架,同时优化误差率、计算成本(FLOPs)和模型稀疏性。
  • 通过可配置的适应度函数调整各项目标的相对重要性,实现可定制的压缩结果。
  • 证明进化计算——特别是遗传算法——在结构化多目标CNN剪枝中的有效性。
  • 提供一种两步迭代框架,结合剪枝、微调和种群重初始化,以提升收敛性和性能。

提出的方法

  • 该方法将CNN编码为包含M个参数基因的基因组,其中每个基因代表一层的权重(卷积层为4D张量,全连接层为2D张量)。
  • 最小化适应度函数 f = λ₁e + λ₂c + λ₃(1−s),其中e为误差率,c为剩余计算量比率,s为稀疏性,λ₁、λ₂、λ₃为可调权重,总和为1。
  • 该算法采用两步迭代过程:(1) 对剪枝网络种群执行遗传操作(选择、交叉、变异);(2) 对精英网络进行微调,并以之为基础重新初始化种群。
  • 变异在卷积层中以滤波器级别进行(粗粒度),在全连接层中以连接级别进行(细粒度),受变异率P_mc和P_mf控制。
  • 交叉采用微生物交叉:更具适应度的基因组(胜者)以50%概率将基因传递给适应度较低的基因组(败者),从而保留精英解。
  • 选择采用截断选择法,选取适应度最低的前K个基因组用于繁殖,确保快速收敛。

实验结果

研究问题

  • RQ1遗传算法能否有效平衡CNN剪枝中多个相互冲突的目标——准确率、计算成本与稀疏性?
  • RQ2所提出的具有可调权重的多目标适应度函数如何实现针对不同部署场景的可定制压缩结果?
  • RQ3与单次剪枝或非微调方法相比,所提出的两步迭代剪枝与微调框架是否能提升收敛性与性能?
  • RQ4在卷积层中采用粗粒度剪枝、在全连接层中采用细粒度剪枝,能否共同实现高稀疏性与显著的FLOP减少,同时不牺牲准确率?
  • RQ5与现有最先进方法相比,该基于GA的剪枝方法在稀疏性、计算减少与准确率稳定性方面表现如何?

主要发现

  • 所提出的GA在LeNet/MNIST上实现了95.42%的参数减少和卷积层计算16倍加速,误差率仅为0.89%,准确率损失极小。
  • 当设置λ₁=0.5,λ₂=0,λ₃=0.5时,方法实现了最大稀疏性(95.42%),同时保持了较强的计算减少效果(剩余9.00% FLOPs)。
  • 当λ₁=0.5,λ₂=0.5,λ₃=0时,方法优先考虑计算减少,实现仅6.10% FLOPs剩余,显著优于其他方法在该指标上的表现。
  • 在平衡目标下(λ₁=0.3,λ₂=0.4,λ₃=0.3),方法实现了94.30%的稀疏性与6.22%的FLOPs剩余,计算效率优于大多数基线方法。
  • 该方法支持灵活、面向应用的压缩:通过调节λ₁、λ₂、λ₃,用户可按需优先考虑准确率、速度或模型大小。
  • 与现有最先进方法相比,该基于GA的方法在计算减少方面表现更优,尽管并非始终达到最高稀疏性,充分证明了粗粒度剪枝在FLOP减少方面的有效性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。