中文引用格式: 項浩斌,楊瑞敏,吳文濤,等. 基于動態自適應計算引擎的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網絡的加速。首先,設計了局部區域感知卷積的流水線硬件推理架構,通過對局部區域進行感知,更加精確地定位和處理卷積操作,減少計算量和數據傳輸。其次,提出了高度可配置的動態自適應計算引擎,可以根據模型結構和計算需求進行靈活的優化和配置,以提高計算引擎的利用率和效率,避免了固定配置下的資源浪費和性能瓶頸。最后,采用全局自適應的點卷積方法,減少內存訪問次數,提高計算效率,減少數據傳輸和處理的開銷。
本文詳細內容請下載:
http://m.viuna.cn/resource/share/2000006275
作者信息:
項浩斌1,楊瑞敏1,吳文濤1,李春雷1,董燕1,2
(1.中原工學院 信息與通信工程學院,河南 鄭州 450007;
2.電子科技大學 自動化工程學院,四川 成都 610000)