摘要
卷积神经网络在智能安防、智慧交通和机器人等领域得到了广泛应用,基于该网络的图像分类或识别相比传统图像处理算法能够取得更高的精度,甚至具有超过人类水平的分类性能。然而为了获得更高的模型精度,通常需要采用更大更深的网络架构,这会导致计算成本和内存需求随着模型大小和参数数量的增加而增加,从而使其不适合在资源受限和低功耗的平台上部署应用。此外,传统计算平台上的推理架构很难在有限的功耗、时延和物理尺寸的限制下满足实际应用要求。 针对上述问题,本文选用应用较为广泛的MobileNetV2为目标网络模型,利用神经网络的冗余性对其进行模型压缩和硬件加速。本文的主要工作如下:(1)权衡稀疏后模型精度和硬件加速性能,针对网络中参数量和运算量占比最大的逐点卷积操作设计了分组细粒度剪枝算法。在精度降低0.28%的情况下,实现了2.09倍的参数量压缩率,并设计了相应的稀疏后模型存储方案,有效缓解硬件平台计算资源和存储资源不足的问题。(2)综合分析权重参数的分布特点,采用训练后静态量化方案将32bit浮点型格式的权重数据和特征图数据量化为8bit定点整数,进一步减少网络参数在硬件平台的资源占用,并且将推理过程的浮点数运算转化为定点数运算,提高推理速度。经过剪枝、量化后的模型精度下降了2.03%,获得了8.34倍的模型压缩率。(3)在硬件资源受限的条件下,通过优化内存交互方式减少数据传输时延,并根据目标网络不同类型层的计算特点设计了卷积并行展开方案,基于上述加速策略完成了二维卷积、深度卷积、逐点卷积和后处理(包含平均池化和全连接)共四种专用计算模块的设计。(4)在上述工作的基础上,在Vivado和VitisIDE中完成了系统的软硬件设计,最终在Zybo-z2平台上实现了对目标网络的加速,在Vivado开发环境下的硬件仿真表明,片上总功耗仅为2.62W。通过验证,本文所设计的加速器能效比为7.05GOPS/W,处理速度为61.54FPS,相比于CPU实现了3.26倍的加速,能够满足嵌入式应用的基本需求。