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

Figure 1: Comparing baseline and compressed model on RealityAI


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

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

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