[论文解读] Quantized Guided Pruning for Efficient Hardware Implementations of Convolutional Neural Networks
本文提出量化引导剪枝(Quantized Guided Pruning),一种将结构化剪枝与二值权重量化相结合的方法,可显著降低卷积神经网络的计算和内存开销。通过用低成本多路复用器替代完整卷积运算,该方法在CIFAR10、CIFAR100和SVHN数据集上实现了接近最先进水平的精度,同时实现了极低延迟和功耗的高效硬件部署。
Convolutional Neural Networks (CNNs) are state-of-the-art in numerous computer vision tasks such as object classification and detection. However, the large amount of parameters they contain leads to a high computational complexity and strongly limits their usability in budget-constrained devices such as embedded devices. In this paper, we propose a combination of a new pruning technique and a quantization scheme that effectively reduce the complexity and memory usage of convolutional layers of CNNs, and replace the complex convolutional operation by a low-cost multiplexer. We perform experiments on the CIFAR10, CIFAR100 and SVHN and show that the proposed method achieves almost state-of-the-art accuracy, while drastically reducing the computational and memory footprints. We also propose an efficient hardware architecture to accelerate CNN operations. The proposed hardware architecture is a pipeline and accommodates multiple layers working at the same time to speed up the inference process.
研究动机与目标
- 解决资源受限嵌入式系统中CNN的高计算与内存需求问题。
- 在不损失精度的前提下,降低卷积层的复杂度与内存占用。
- 通过基于多路复用器的简单运算,实现剪枝与二值化CNN的高效硬件映射。
- 设计一种流水线化、低功耗的FPGA架构,实现多层并行推理加速。
- 证明结构化剪枝与权重二值化相结合可生成紧凑且高性能的CNN,适用于边缘设备部署。
提出的方法
- 该方法对卷积层应用确定性的结构化剪枝方案,基于幅度准则移除整个滤波器或特征图。
- 将剪枝与二值权重量化相结合,将权重限制为±1,同时通过每核可学习的缩放因子保持模型精度。
- 生成的稀疏二值卷积层通过多路复用器映射至硬件,利用选择性加法或减法实现特征图向量的加权和。
- 设计了流水线化FPGA架构,实现多层并行处理,使用BRAM暂存特征图以减少内存访问延迟。
- 硬件采用三阶段时钟周期模型:第一级BRAM到第二级BRAM的数据传输,利用多路复用器并行计算输出向量,以及将结果写回下一层的内存块。
- 通过多路复用器选择偶数或奇数索引,支持可变步长,可推广至任意步长值。
实验结果
研究问题
- RQ1对卷积层进行结构化剪枝是否能显著降低模型复杂度,同时保持高精度?
- RQ2将剪枝与二值权重量化结合,在降低内存与计算开销方面效果如何?
- RQ3基于多路复用器的硬件设计是否能以极小的面积与延迟开销替代标准卷积运算?
- RQ4流水线化FPGA架构在多层并行推理中能实现多大程度的加速?
- RQ5所提方法是否能在CIFAR10、CIFAR100和SVHN等标准视觉基准上实现接近最先进性能?
主要发现
- 所提方法在CIFAR10、CIFAR100和SVHN数据集上实现了接近最先进水平的精度,与全精度模型相比精度损失极小。
- FPGA上的硬件实现功耗仅几瓦,适用于低功耗嵌入式应用。
- 与先前工作相比,使用CIFAR10输入尺寸(j_max = 32)时,流水线架构将延迟降低了96倍,潜在加速比可达3Lj_max(L为层数)。
- 单层所需时钟周期数减少至j_max*k_max + (j_max*k_max*ℓ_max)/P + j_max*ℓ_max,远低于先前方法所需的3j_max²*k_max*ℓ_max/P。
- 由于流水线设计,实现高吞吐量,支持多层并行处理。
- 该架构具有可扩展性,未来可扩展用于处理不同卷积核形状及更大数据集(如ImageNet)。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。