









摘要:隨著移動互聯網、物聯網的蓬勃發展,大量智能終端設備產生了海量數據,這需要在網絡邊緣進行實時的智能分析和處理。因此,研究輕量級神經網絡的硬件優化方案,以實現邊緣智能成為當下的研究熱點。文章闡述了基于模型壓縮與量化、定點計算替代浮點計算、數據流優化、存儲優化與并行計算等方面的輕量級網絡硬件設計與優化策略,在FPGA實現方面,采用流水線并行與BRAM利用提升了MobileNetV2的執行效率。結果表明,與原始模型相比,優化后的模型參數量、內存占用等資源利用指標顯著降低,CPU利用率、推理速度等性能指標明顯提升。實驗研究驗證了文章所提的各項優化方法,為將深度神經網絡部署到邊緣設備提供了參考。
關鍵詞:邊緣計算;輕量級網絡;模型壓縮;硬件優化
中圖分類號:TN915.07" 文獻標志碼:A
0 引言
隨著移動互聯網、物聯網的蓬勃發展,各類智能終端和傳感設備產生了海量的數據,這些數據往往需要在網絡邊緣獲得實時的智能分析和處理,以實現快速響應、省電和減少帶寬壓力等效果。但是,將云計算中的AI模型原封不動地移植到邊緣設備上存在明顯的困難,純軟件的模型優化和壓縮已經很難進一步提升邊緣AI的運算效率,需要借助硬件手段來實現算法和芯片的協同優化設計。輕量級網絡通過模型壓縮算法及特殊網絡結構設計,可以大幅降低參數量和計算量,非常適合資源受限的邊緣設備。通過定制化的存儲系統、數據流設計、并行計算組織等硬件手段,針對不同的輕量級網絡模型進行優化,以獲得更高的性能與效率。
1 邊緣計算概述
邊緣計算是指在靠近數據來源的網絡邊緣位置就近進行數據處理和分析的一種新型網絡部署架構,也被稱為邊緣智能或霧計算(Fog Computing)。邊緣計算的提出是為了解決云計算模式下大量數據傳輸導致的網絡帶寬壓力問題,能夠在網絡邊緣解析和處理海量數據,僅將精簡過后的分析結果傳送到云端,從而大幅減少原始數據的上傳和下載次數,有效減輕網絡負載。邊緣計算節點通常部署在移動基站、路由器、企業門戶網站等網絡接入點附近,其計算和存儲資源雖相對有限,但遠強于終端設備[1]。
2 輕量級網絡算法及模型
針對移動終端和邊緣設備等資源受限的部署環境,深度學習社區近年來持續開展輕量級神經網絡的研究,以在保證模型精度的前提下,通過算法和網絡結構設計的方式極大地減少模型的參數量,降低計算的復雜度[2]。學術和產業界經過不斷的探索,已經提出和發展了MobileNet、ShuffleNet、SqueezeNet等一系列典型的輕量級神經網絡模型。MobileNet模型通過采用深度可分離卷積以及逐層減少通道數的策略,構建出一個可縮放的輕量級網絡結構。
3 輕量級網絡硬件優化設計
3.1 模型壓縮和量化
在實際部署預訓練的大規模神經網絡模型時,邊緣設備的計算能力和存儲空間非常有限,直接部署會嚴重超出其資源限制,必須利用模型壓縮和網絡量化技術對預訓練模型進行優化。
3.1.1 參數修剪
參數修剪會根據權重magnitude大小,將低于特定閾值τ的小權重置零,從而獲得壓縮后的稀疏模型,可以表示為:
3.1.2 知識蒸餾
知識蒸餾是使用小型“學生”模型去模擬大型“教師”模型的輸出,以取得更好的學習效果,目標函數如下:
其中,α為平衡參數,y和y~為真實標簽,p和p~為softmax輸出。網絡量化指將模型權重和激活從32位浮點表示降低比特精度到低比特定點表示,定點化過程為:
其中,x為原始的浮點數權重或激活值,s為定點比例因子,用于調整數值范圍以便在低比特精度下表示。round(x/s)表示將x除以比例因子s后四舍五入到最近的整數。
3.2 定點運算替代浮點運算
相比浮點數運算,定點數運算可以顯著提升硬件運算效率,節省芯片面積。定點數采用固定進制點表示:
其中,xf是小數部分,xe是指數部分。定點數運算避免了浮點數運算的規格化與非規格化判斷。將神經網絡從浮點域移植到定點域,需要確定整數位數Qin和小數位數Qfrac,常見方法有:
Qin=log2(max|x|),Qfrac=-log2(min|x|)
其中,x是層輸入。
為控制量化誤差,可針對激活函數設計量化方法,如:
其中,round(·)為四舍五入函數。
3.3 自定義數據流設計
為更好地匹配神經網絡的計算模式,可以自定義數據流來優化硬件執行效率。以卷積層為例,標準的計算流程為:
其中,n、h、w、c分別為批處理維、高維、寬維、通道維。針對特定模型,優化調整循環順序,改寫為:
將批處理維和通道維打包處理:
定制數據流可以充分利用存儲層次結構,優化數據移動,減少存儲器訪問時間,對于提升邊緣計算效率非常關鍵[3]。
3.4 存儲優化
神經網絡模型在硬件實現中的存儲優化主要涉及降低參數冗余和減少數據寬度2個核心方面。參數冗余通常是通過模型壓縮技術來減小的。例如,低秩分解技術可以將權重矩陣W分解成2個較小的矩陣的乘積,表示為:
W=AB
這里,A∈Rm×r,B∈Rr×n,其中rmin(m,n)。通過這種方式,模型的參數數量大幅減少,相應地降低了存儲需求。在數據寬度壓縮方面,采用向量化優化,將參數表示為碼本(codebook)中向量的索引,這樣可以進一步壓縮模型大小,表示為:
其中,C是向量碼本,ci是碼本中的第i個碼字。通過在編譯時確定網絡的形狀,可以采用自定義存儲格式代替通用的稠密矩陣格式,以減少存儲上的冗余。
4 FPGA實現案例
4.1 使用FPGA實現指定輕量級網絡
為驗證所提出的邊緣計算優化方法,本文選擇了MobileNet-V2作為具體實現的輕量級卷積神經網絡。MobileNet-V2使用了深度可分離卷積和殘差連接等模塊來建立一個較小且高效的網絡結構。其中,第l層的深度可分離卷積運算為:
Yl=δ(W1,l*δ(W0,l*Xl))
在這里,Xl是第l層的輸入特征圖,W0,l是該層的逐通道卷積核,*表示卷積運算,δ是激活函數(如ReLU),W1,l是逐點卷積核。
殘差塊的計算:
Yl=Xl+F(Xl,Wl)
這里,F表示殘差函數,也是一個卷積運算。殘差結構有助于避免深度網絡在訓練過程中出現的梯度消失問題。
那么,整個MobileNet-V2的前向計算可以表示為:
Y=f(X;W)=(…(f1(f0(X;W0);W1)…)+X)
其中,f0、f1等表示網絡的不同層運算。
4.2 模型訓練與預測流程
本研究選擇了當前圖像分類領域主流的卷積神經網絡模型VGG16作為教師模型,該模型由多層連續的卷積和池化層堆疊構成,約有138萬個參數,步驟如下:(1)使用包含10類常見物體如貓、狗、汽車等圖像的CIFAR-10數據集進行訓練,數據集包含5萬張RGB彩色圖片;(2)使用Stochastic Gradient Descent算法,以交叉熵損失函數訓練了300個epochs后,教師模型在測試集上達到了90%的分類準確率;(3)構建一個輕量級學生模型MobileNetV2,使用深度可分離卷積來減少參數量和計算量,將教師模型VGG16的softmax輸出作為MobileNetV2的監督信號;(4)使用基于L1正則化的裁剪算法Pruning以及量化aware訓練對MobileNetV2進行模型壓縮,將參數表示從32bit浮點降低到8bit定點,同時裁剪掉冗余連接,壓縮后的模型縮小了8倍,只有300 K參數,但分類準確率略微下降到84%;(5)在樹莓派等資源受限的邊緣設備上部署這個壓縮后的MobileNetV2模型,并使用NEON指令集進行優化,使分類預測速度可以達到每秒7幅圖像,滿足了實時應用需求。
4.3 資源利用和性能分析
在針對模型作了硬件優化后,本文比較了優化前后的模型在邊緣設備上的資源利用率和性能指標,具體結果如表1所示。
從表中可以看出,使用輕量級網絡結構后各項指標明顯改善,特別是隨著參數量的變化,內存占用指數級降低,MobileNetV2原始模型相比VGG16的內存占用減小了90%,壓縮模型參數量至1.7MB時內存占用進一步降低了88%,驗證了可分離卷積等輕量化結構的顯著效果,計算性能也有明顯提升。這與采用可分離卷積等結構降低模型復雜度的方法是一致的。進一步壓縮模型后,參數和存儲繼續減小,運算速度也得以大幅提升,推斷其得益于裁剪、量化等方式降低參數冗余性的優化方案。準確率雖然有輕微下降,但仍處于可接受的范圍內。
5 結語
智能邊緣計算作為一種新興的網絡計算架構,近年來受到廣泛關注。本研究針對邊緣設備的資源受限問題,通過算法和硬件的共同優化,實現了輕量級神經網絡的高效執行。研究采用了模型壓縮、網絡量化、定點計算等算法手段,結合流水線、存儲優化、并行計算等硬件設計策略,在FPGA平臺上實現了MobileNetV2等典型輕量級網絡。后續,筆者還將繼續改進算法與硬件的匹配適配性,以進一步提高邊緣計算的效率。相信隨著研究的深入,智能邊緣計算必將向著更實用與高效的方向發展。
參考文獻
[1]金建軍,郭熙,李欠江,等.一種結合機器學習的移動邊緣計算的切換預測方法[J].計算技術與自動化,2023(3):136-140.
[2]高紅亮,程睿遠,趙金鳳,等.邊緣計算場景下基于神經網絡的可信評估機制分析[J].電子技術,2023(9):16-19.
[3]劉敏.基于深度強化學習的網絡邊緣計算多級卸載模型研究[J].保山學院學報,2023(5):67-74.
Design of lightweight network hardware optimization considering edge computing
Abstract: "With the booming development of mobile internet and the Internet of Things, a large number of intelligent terminal devices have generated massive amounts of data, which requires real-time intelligent analysis and processing at the edge of the network. Therefore, researching hardware optimization solutions for lightweight neural networks to achieve edge intelligence has become a current research hotspot. This article focuses on the design and optimization strategies of lightweight network hardware based on model compression and quantization, fixed-point computing replacing floating-point computing, data flow optimization, storage optimization, and parallel computing. In terms of FPGA implementation, the use of pipeline parallelism and BRAM improves the execution efficiency of MobileNetV2. The results show that compared to the original model,the optimized model significantly reduces resource utilization indicators such as parameter count and memory usage, while performance indicators such as CPU utilization and inference speed are significantly improved. The study validated the proposed optimization methods and provided a reference for deploying deep neural networks to edge devices.
Key words: edge computing; lightweight network; model compression; hardware optimization