中文引用格式: 项浩斌,杨瑞敏,吴文涛,等. 基于动态自适应计算引擎的MobileNetV3网络加速器设计[J]. 电子技术应用,2025,51(1):8-17.
英文引用格式: Xiang Haobin,Yang Ruimin,Wu Wentao,et al. Design of MobileNetV3 network accelerator based on dynamic adaptive computing engine[J]. Application of Electronic Technique,2025,51(1):8-17.
引言
近年来,卷积神经网络(Convolutional Neural Network,CNN)在图像分类[1]、目标检测[2]、立体视觉[3]等方面得到应用。为了追求更高的分类精度,CNN结构变得越来越复杂,导致密集的计算和频繁的内存访问,因此将CNN部署在功耗和资源有限的边缘设备上面临着巨大挑战[4-5]。
最近研究表明,大规模CNN具有高度的误差弹性,模型参数和操作具有相当大的冗余[6-7]。因此,为了部署在资源受限的边缘设备上,相关学者提出模型轻量化的技术,如轻量化网络设计、剪枝[8]和量化[9]等,在保持精度的前提下降低计算复杂度。其中,MobileNetV3是一种特征提取能力较强的轻量化网络,它用深度可分离卷积(Depthwise Separable Convolution,DSC)取代传统的计算密集型标准卷积(Standard Convolution,SC),通过解耦通道维度和空间维度之间的相关性,显著减少模型的参数量,但是针对高速实时任务,仍需进一步优化。
为了应对这一挑战,基于图形处理单元(Graphics Processing Unit,GPU)、现场可编程门阵列(Field Programmable Gate Array,FPGA)和专用集成电路(Application Specific Integrated Circuit,ASIC)的专用神经网络加速器已经成为研究热点[10]。尽管ASIC加速器在性能方面具有优势,但设计和实现时间较长。FPGA在执行相同计算负载时能耗较低,比传统的中央处理器(Central Processing Unit,CPU)和GPU更具节能优势。因此,近年来FPGA在实现CNN硬件加速器[11-15]方面得到广泛应用。然而,MobileNetV3基于DSC的架构在内存带宽方面的瓶颈限制了加速器的性能,导致基于DSC的加速器处理单元(Processing Element,PE)效率较低。为了实现DSC进一步加速,Liu等人[16]设计了深度卷积(Depthwise Convolution,DWC)和点卷积(Pointwise Convolution,PWC)两种模式的动态DSC加速器。但该研究中PE配置极其复杂,并需要对逐层数据流进行大量的内存访问,导致加速效果有限。Light-OPU[17]开发了高效的软硬件协同加速系统,在轻量级和标准卷积运算之间共享计算引擎,同时在DSC层计算时,保持较低资源利用率。现有的大多数基于DSC的加速器都采用了平铺策略来适应芯片上存储有限的许多特征映射。然而在推理过程中,这种策略产生大量的片外数据传输和数据处理,导致延迟和能耗的增加[18-19] 。
此外,为了有效实现基于DSC的CNN的算法,人们提出了许多特定的硬件加速器。Shao等人[20]和Xie等人[21]利用层间特征压缩技术或模型网络的稀疏性来减少片上存储的消耗,而Hsieh 等人[22]和Mrazek等人[23]则通过减少片上存储的消耗来减轻计算资源的压力。然而这些加速器大多只关注可重构性和灵活性有限的标准卷积层,这使得它们不能在不同的应用程序和场景中使用新出现的卷积变体。目前基于DSC的加速器采用统一的引擎架构,实现层间和层内并行的灵活控制[24-25],但是这些设计对硬件要求极高,不适用于大型网络和资源受限的嵌入式平台。
为了解决上述问题,本文提出一种基于动态自适应计算引擎硬件加速器,旨在优化和改进基于DSC卷积神经网络,从而实现对MobileNetV3网络的加速。首先,设计了局部区域感知卷积的流水线硬件推理架构,通过对局部区域进行感知,更加精确地定位和处理卷积操作,减少计算量和数据传输。其次,提出了高度可配置的动态自适应计算引擎,可以根据模型结构和计算需求进行灵活的优化和配置,以提高计算引擎的利用率和效率,避免了固定配置下的资源浪费和性能瓶颈。最后,采用全局自适应的点卷积方法,减少内存访问次数,提高计算效率,减少数据传输和处理的开销。
本文详细内容请下载:
https://www.chinaaet.com/resource/share/2000006275
作者信息:
项浩斌1,杨瑞敏1,吴文涛1,李春雷1,董燕1,2
(1.中原工学院 信息与通信工程学院,河南 郑州 450007;
2.电子科技大学 自动化工程学院,四川 成都 610000)