1.為什么需要神經網絡模型壓縮?
神經網絡已經成為解決復雜機器學習問題的強大工具。然而,這種能力往往伴隨著模型規模和計算復雜度的增加。當輸入維度較大(例如長時序窗口、高分辨率特征空間)時,模型需要更多參數、每次推理需要更多算術運算,使其難以部署在嵌入式硬件上。
對于嵌入式系統而言,資源極其有限。內存空間受限,因此在桌面或云平臺上輕松運行的模型可能無法放入芯片內的閃存。此外,較高的運算量(MACs/FLOPs)和推理延遲要求往往超出低功耗MCU或邊緣設備所能承受的范圍。
我們要解決的核心挑戰是:如何在保持模型性能的前提下,大幅壓縮神經網絡模型,降低模型大小、推理時間和計算成本,從而實現其在資源受限的嵌入式系統上的部署。
2.神經網絡模型壓縮是如何工作的?
神經網絡模型往往比實際需要的更大。在訓練和驗證之前,我們很難準確判斷架構規模是否合理。模型壓縮的目標就是識別模型中的冗余和未充分利用的權重并將其移除。
我們使用專有的數學方法來尋找并壓縮這些冗余,對網絡進行重新整理,使其更加簡潔、小巧和高效。同時,我們會嚴格控制精度損失,確保不會丟棄過多關鍵信息。
3.實例:緊急尖叫聲檢測(Emergency Scream Detection)
為了更直觀地解釋這一挑戰,我們以“緊急尖叫聲檢測(ESD)”演示為例。ESD系統是一種機器學習模型,用于區分求救尖叫聲和其他環境聲音。該任務是一個二分類問題:Scream vs Not Scream。
模型使用Google’s Audioset database公共數據集中的音頻信號進行訓練。訓練數據集規模大且多樣化,而驗證數據集由團隊采集的小規模現場錄音構成。模型在訓練集的k-fold驗證中表現中等,但在新的現場數據上表現非常好。
基線模型性能:
我們使用基于全連接層的神經網絡,并以STFT頻譜圖作為輸入特征。該模型取得了最佳效果,達到:
· k-fold驗證精度:82%
· 現場數據測試精度:98%
從性能角度看,該模型表現優秀。然而,它有一個關鍵問題:
· ROM占用:552kB
該大小超過目標嵌入式平臺(Voice RA6E1)的內存限制,導致無法部署。
壓縮模型性能:
為了解決這一問題,我們應用了Renesas為嵌入式部署優化的專有神經網絡壓縮技術。
壓縮結果非常顯著:
· 模型大小從552kB降至117kB(減少約79%)
· k-fold驗證精度保持82%
· 現場測試精度保持98%
· MAC從129,68 降至21,001(降低83%)

Figure 1: Comparing baseline and compressed model on RealityAI


也就是說,在幾乎不影響模型性能的前提下,顯著減少了模型規模和計算成本。
圖1–5展示了該對比的詳細信息。圖1顯示AI Explore?的對比結果;圖2和圖3的混淆矩陣確認精度保持一致;圖4和圖5的紅框部分(Flash Parameters)展示了模型大小和復雜度的核心差異,該數值反映了實際編譯后部署的模型,比Explore頁面上的估算更準確。
4.更多成功案例
表1匯總了其他示例模型的結果——其中,資產移動跟蹤模型使用加速度計數據來識別設備或包裹的搬運與移動狀態;吸塵器地面類型檢測模型通過電機信號判斷清掃對象的地面材質;電機啟動負載檢測模型能夠在開環控制下快速判斷電機的啟動負載,從而幫助控制器實現節能優化。
從這些實驗結果可以看到,模型在壓縮后的準確率基本得以保持。兩個項目在壓縮前后完全沒有精度損失(緊急尖叫檢測:98% → 98%,電機啟動負載:99% → 99%),其余兩個項目的變化也僅為1%的輕微下降(資產移動:92% → 91%,吸塵器地面類型:96% → 95%)。
在保持精度幾乎不變的同時,模型體積顯著減小。尤其是較大的基線模型,ROM 使用量減少超過75%。同時,MAC(Multiply-Accumulate)運算量也呈現同等幅度的下降,與 ROM 節省情況高度一致。
Table 1: Comparison of baseline and compressed models
5.使用 Reality AI Tools ? 進行模型壓縮
在Reality AITools ? 中,對神經網絡模型進行壓縮、重新訓練、使用新數據進行測試以及部署到目標板上,都非常簡單。事實上,在AI Explore?階段,工具會自動完成模型壓縮——你甚至不需要額外關注這一步驟。
下面是一段精簡的流程說明,展示你將會看到的主要步驟。
(1)首先,在Data→Curate模塊中創建你的訓練集和測試集。
(2)在AI Explore?頁面中訓練模型,并探索不同的特征空間與決策結構。點擊“Start Explore”后,系統會自動訓練和測試多種模型,并根據性能對它們進行排序。在Explore的結果中,你會同時看到部分模型的基線版本與壓縮版本。當某個基線模型在不降低準確率的情況下可以進一步縮小體積時,工具會自動生成其壓縮版本。壓縮模型會使用一個特殊符號標記
(如圖7中紅色箭頭所示)。相反,沒有該符號的則是未壓縮的原始基線模型。

一旦你確定了需要進一步評估與部署的模型,可以從該模型創建一個Base Tool,以便繼續開展后續工作。此時,壓縮后的模型即可用于重新訓練、測試、優化以及部署,使用方式與原始基線模型完全一致。
對于用戶來說,使用壓縮模型是完全透明的。它在系統中會像其他任何Trained Tool模型一樣工作,不需要額外步驟或特殊處理。

(3)你可以在Test & Optimize→Try New Data區域測試壓縮后的模型。選擇壓縮版本的Trained Tool模型以及所需的測試數據集,然后運行Accuracy Test(準確率測試),即可評估該模型在未見過的數據上的表現。
(4)部署同樣非常簡單。在驗證壓縮模型并確認其性能符合預期后,你可以進入Deploy→Embedded完成部署流程。選擇已經訓練好的壓縮模型,并根據目標嵌入式系統的約束條件創建新的部署包。隨后,下載生成的可導出模型包,并將其部署到目標硬件板上。與Reality AI Tools ? 中其他模型的部署方式完全一致,使用壓縮模型無需任何額外步驟或特殊處理。
Figure 9: Export compressed model
結論
在部署機器學習模型時,僅有高準確率還遠遠不夠。模型還必須滿足嚴格的內存預算,并在資源受限的環境中高效運行。我們先進的神經網絡模型壓縮技術,使開發階段的高性能模型能夠輕松過渡為可部署于邊緣設備的輕量化AI解決方案。
如需了解更多信息,請訪問我們的官方網站www.renesas.com,或聯系您當地的代表。
如需進一步了解詳情、獲取支持,或正式啟動項目開發,您可以通過以下方式與我們聯系:
· 申請Reality AI演示:Reality AI Request for Demo,體驗完整功能與實際應用場景,幫助您快速評估技術可行性。
· 從Reality AI Explorer Tier開始為期一個月的試用,立即上手平臺工具,進行數據處理、模型訓練、壓縮與部署的全流程體驗。
-
嵌入式
+關注
關注
5198文章
20438瀏覽量
333955 -
神經網絡
+關注
關注
42文章
4838瀏覽量
107739 -
AI
+關注
關注
91文章
39736瀏覽量
301337 -
機器學習
+關注
關注
66文章
8553瀏覽量
136925
發布評論請先 登錄
嵌入式神經網絡有哪些挑戰
嵌入式中的人工神經網絡的相關資料分享
輕量化神經網絡的相關資料下載
基于深度神經網絡的激光雷達物體識別系統
如何實現開發嵌入式神經網絡
卷積神經網絡一維卷積的處理過程
卷積神經網絡模型發展及應用
如何使用TensorFlow將神經網絡模型部署到移動或嵌入式設備上
深度神經網絡的壓縮和正則化剖析
面向“邊緣”應用的卷積神經網絡如何進行量化與壓縮詳細方法
深度神經網絡模型的壓縮和優化綜述
面向嵌入式部署的神經網絡優化:模型壓縮深度解析
評論