Skip to main content
QUICK REVIEW

[论文解读] Channel Gating Neural Networks

Weizhe Hua, Yuan Zhou|arXiv (Cornell University)|May 29, 2018
Neural Networks and Applications参考文献 31被引用 98
一句话总结

通道门控在卷积神经网络中引入了一种动态、细粒度的剪枝机制,它在每层使用基础路径和条件路径来跳过对信息量较少的输入通道的计算,实现在极少精度损失的前提下显著降低 FLOP,并便于硬件实现。

ABSTRACT

This paper introduces channel gating, a dynamic, fine-grained, and hardware-efficient pruning scheme to reduce the computation cost for convolutional neural networks (CNNs). Channel gating identifies regions in the features that contribute less to the classification result, and skips the computation on a subset of the input channels for these ineffective regions. Unlike static network pruning, channel gating optimizes CNN inference at run-time by exploiting input-specific characteristics, which allows substantially reducing the compute cost with almost no accuracy loss. We experimentally show that applying channel gating in state-of-the-art networks achieves 2.7-8.0$ imes$ reduction in floating-point operations (FLOPs) and 2.0-4.4$ imes$ reduction in off-chip memory accesses with a minimal accuracy loss on CIFAR-10. Combining our method with knowledge distillation reduces the compute cost of ResNet-18 by 2.6$ imes$ without accuracy drop on ImageNet. We further demonstrate that channel gating can be realized in hardware efficiently. Our approach exhibits sparsity patterns that are well-suited to dense systolic arrays with minimal additional hardware. We have designed an accelerator for channel gating networks, which can be implemented using either FPGAs or ASICs. Running a quantized ResNet-18 model for ImageNet, our accelerator achieves an encouraging speedup of 2.4$ imes$ on average, with a theoretical FLOP reduction of 2.8$ imes$.

研究动机与目标

  • 激发并量化动态、细粒度的剪枝以降低 CNN 推理成本。
  • 提出 CGNet,使其能在一次前向传播中端到端地学习按激活的门控策略。
  • 引入通道分组以防止权重更新产生偏差并维持准确性。
  • 展示 CGNet 在加速器上的硬件友好性及潜在的加速效果。
  • 探索架构设计空间和训练技巧(包括知识蒸馏 KD)。

提出的方法

  • 将 CNN 层输入分成基础路径(x_p)和剩余路径(x_r),并给出相应的权重(W_p、W_r)。
  • 使用 x_p 和 W_p 计算部分和;使用门控 s 来决定是否为每个输出激活开启条件路径。
  • 门控函数使用每个输出通道可学习的阈值 Δ 和针对激活的形式(如 ReLU)来将激活在基础路径或条件路径之间路由。
  • 采用通道分组以确保通道选择无偏且权重之间的更新频率相同;可选地应用通道洗牌以改善跨组信息流。
  • 用可微近似的门控、稀疏性诱导(目标阈值 T)及可选的知识蒸馏(KD)对 CGNet 进行端到端训练。
  • 用逐通道门控扩展门控,以减少权重内存访问;在推理时将批量归一化与门控合并以提高效率。

实验结果

研究问题

  • RQ1通道门控是否能够实现比静态剪枝更高的 FLOP 下降,同时保持或提高在不同 CNN 架构上的准确性?
  • RQ2带可学习阈值的逐输出通道门控是否能够在运行时有效识别并跳过无效激活?
  • RQ3通道分组如何影响训练稳定性和准确性,是否能够消除权重更新中的偏差?
  • RQ4通道门控的内存和硬件影响是什么,是否能够在密集型 systolic-array 类加速器上高效实现?
  • RQ5知识蒸馏是否能在 CGNet 中以相同或更高的 FLOP 下降进一步提高准确性?

主要发现

  • 在 CIFAR-10 上对 ResNet-18、VGG、二值化 VGG 和 MobileNet 变体,CGNet 将计算量降低了 2.7–8.0×,且精度损失很小。
  • 通道门控在 CIFAR-10 实验中也将片上外存访问降低了 2.0–4.4×。
  • 在 ImageNet 上使用 KD,ResNet-18 实现 2.6× 的计算量下降且不损失准确性(在某些设置下甚至提高准确性)。
  • 硬件评估显示 CGNet 加速器在平均水平上较基线实现 2.4× 的加速,同时理论上可实现 2.8× 的 FLOP 减少;与 CPU/GPU 基线相比,能效提升显著。
  • 通道分组可减少权重更新中的偏差,当与通道洗牌结合时,改善跨组的信息流和准确性。
  • 逐通道门控进一步减少权重访问,内存带宽最多降低到 4.4×,对准确性的影响较小。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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