轻量级卷积神经网络的硬件加速方法
2024-03-21吕文浩支小莉童维勤
吕文浩,支小莉,2+,童维勤,2
(1.上海大学 计算机工程与科学学院,上海 200444;2.上海智能计算系统工程技术研究中心 研发部,上海 200444)
0 引 言
过去几年间,卷积神经网络(convolutional neural network,CNN)的应用范围从服务器集群上的图像处理服务逐渐扩展到了对延迟更敏感的边缘端实时应用[1,2]中。为了能够适配资源受限的计算环境,轻量级CNN[2]往往会成为这类应用的最优选择。
目前,关于轻量级CNN的硬件加速方法的研究工作还比较少,大致可分为两类。一类是优化深度可分离卷积等不便于硬件部署的轻量级操作,Yifan等使用1×1卷积和移位操作代替了深度可分离卷积[3];另一类是保留模型完整结构的同时优化计算单元的架构设计,Di等为深度可分离卷积和标准卷积设计了两个专用计算单元来提高计算效率[4],Ming等设计了加速架构SparkNoC,将所有层以流水线的方式同步部署到现场可编程门阵列(field programmable gate array,FPGA)上[5]。
但关于轻量级CNN的硬件加速方案主要的目标依然是根据网络结构特性对硬件架构进行针对性的优化,没有很好地结合软件进行协同优化,在模型修改灵活性和模型性能改善方面尚有很大研究空间,基于软硬件协同优化思想设计的轻量级CNN的硬件加速方法研究尚不成熟。Lu等以软硬件协同优化的方法设计了FPGA加速器,将移位量化算法与FPGA相结合[6],但是他们提出的架构是基于传统CNN模型进行设计的,对于轻量级卷积神经网络模型则无法适用。
因此,本文选择最典型的轻量级卷积神经网络MobileNetV2[7]作为目标模型,以软硬件协同优化为指导思想,针对基于轻量级卷积神经网络的FPGA加速策略展开了研究。……
