邊緣設備上的人工智慧(AI)正憑藉其直接在低功耗設備上實現先進的運算能力,徹底改變嵌入式電子設備領域… The post 利用TinyML在MCU上部署神經網路 appeared first on 電子工程專輯.邊緣設備上的人工智慧(AI)正憑藉其直接在低功耗設備上實現先進的運算能力,徹底改變嵌入式電子設備領域… The post 利用TinyML在MCU上部署神經網路 appeared first on 電子工程專輯.

利用TinyML在MCU上部署神經網路

傳統上,神經網路需要強大的硬體和豐富的資源,但隨著TinyML等技術的發展,即使運算資源有限,也能直接在設備上進行推理。在微控制器(MCU)上部署神經網路可以降低延遲、增強資料隱私並提高能效,而無需依賴昂貴且集中的雲端基礎設施。

TinyML與邊緣AI

TinyML為嵌入式系統帶來了革命性的進步,使得在僅有數十KB RAM的設備上也能直接部署機器學習模型。其應用涵蓋語音分析、影像辨識,以及基於訊號處理的異常檢測等多個領域。借助適用於MCU的TensorFlow Lite等優化框架,神經網路可以在如STM32、ESP32或nRF52等MCU上運作,而無需使用複雜的作業系統。

採用TinyML的一個有趣方面是模型優化。神經網路通常為高效能硬體設計,必須縮小尺寸並降低功耗才能在嵌入式設備上運行。量化和剪枝等技術可最大限度地減少記憶體佔用並加快推理速度,使實施在廉價的低功耗MCU上成為可能。

圖1:TinyML——AI與嵌入式系統的交集。

(來源:t4.ftcdn.net)

為MCU優化AI模型

神經網路訓練通常在資源充足的電腦上進行,然後將其轉換為與嵌入式設備相容的格式。第一步是選擇合適的模型。羽量級網路(例如MobileNet)或基於低複雜度卷積神經網路(CNN)的模型非常適合此類應用。訓練完成後,模型將以TensorFlow Lite (TFLite)格式匯出,從而減小模型大小並提高在資源受限的硬體上的效能。為了進一步優化模型,量化是最有效的技術之一。

透過將網路權重從32位元浮點數轉換為8位元整數格式,不僅能在不影響精度的前提下大幅減少記憶體佔用,還能顯著提升運算效率。另一方面,剪枝則可以消除冗餘的神經元連接,從而在不改變網路行為的情況下減輕其負擔。這兩個過程都可以使用TensorFlow模型優化工具包等工具執行,然後將模型編譯為可在MCU上運行的格式。

在MCU上部署AI模型

模型優化完成後,下一步就是整合到相容的MCU上。一個實際案例是使用ESP32和適用於MCU的TensorFlow Lite。這款MCU支持Wi-Fi和藍牙,非常適合傳輸處理後的資料,因此特別適合邊緣機器學習。實現過程首先是將量化模型轉換為位元組陣列,然後將其包含在韌體程式碼中。

透過TensorFlow Lite Micro庫,模型被載入到MCU的RAM中,並可用於即時推理。典型的執行流程包括從感測器捕獲資料、進行預處理,然後將其傳遞給神經網路進行預測,例如語音辨識就是一個常見的應用。連接到MCU的麥克風會採集音訊樣本,並使用梅爾頻率倒譜係數(MFCC)等特徵提取技術進行處理。然後將預處理後的資料傳遞給神經網路模型,以辨識特定的關鍵字。推理過程僅需幾毫秒,使系統無需連接到外部伺服器即可回應。

MCU上TinyML的實際應用案例

TinyML的應用已在多個產業產生影響。在農業領域,基於TinyML的感測器可以監控土壤濕度和溫度等環境參數,從而優化用水並提高作物產量。微軟(Microsoft) FarmBeats開發了一項極具創新性的專案,利用整合TinyML的節能感測器收集土壤狀況資料,以優化灌溉管理,在不浪費水資源的前提下提升作物產量。這些設備可在無網路覆蓋的偏遠地區運行,因為它們可在本地處理資料,從而無需持續連接雲端。

TinyML的實際應用正在改變在MCU上直接收集和處理資料的方式,使系統無需持續連接至網路即可運行。在許多應用的開發過程中,開發人員可使用的工具包括廣為人知的適用於MCU的TensorFlow Lite,該工具允許在資源有限的設備上執行深度學習模型,而Edge Impulse則簡化了訓練資料的收集和管理。Arduino Nano 33 BLE Sense和Raspberry Pi Pico等開發板為實際解決方案的實施提供了絕佳的硬體平台。

在工業監控領域,搭載機器學習模型的MCU可用於檢測機器異常、分析振動和雜訊,並實施預測性維護,從而降低成本並防止突發故障。例如,可以在製造工廠中部署一個基於TinyML的馬達控制系統,該系統在本地處理MEMS感測器採集的資料,並在檢測到異常振動時觸發干預警報。

在安防領域,整合AI的MCU可用於辨識可疑動作或檢測異常聲音,並觸發即時通知,而無需將敏感性資料發送到外部伺服器。Arduino與博世(Bosch)合作開發了一個具體的應用:基於Arduino Nano 33 BLE Sense的TinyML系統透過分析陀螺儀和加速度計數據辨識突發運動,適用於家庭安防系統或貴重物品的監控。利用這種方式,無需將敏感性資料發送到外部伺服器即可觸發即時通知,從而確保隱私和安全。

邊緣AI (Edge AI)的一個實際應用案例是建構用於控制家居設備的語音辨識系統。該系統基於Arduino Nano 33 BLE Sense開發板實現,並透過Edge Impulse進行訓練,形成一個超低功耗的語音助手,可在無網路連接的情況下辨識「開燈」或「開門」等簡單命令。該系統特別適用於行動不便、希望獨立操作家用設備的使用者。

另一個基於Arduino Nano 33 BLE Sense的有趣項目是室內空氣品質監控。該設備使用整合在開發板中的HTS221感測器來檢測環境的溫度和濕度。項目實現的第一步是透過USB將MCU連接到電腦進行程式設計,完成此初始步驟後,需要安裝相應的庫檔,例如Arduino_HTS221,以存取環境資料。

圖2:Arduino Nano 33 BLE Sense Rev2。

(來源:Arduino)

圖3:Arduino Nano 33 BLE Sense上的HTS221感測器。

(來源:Arduino)

如果還想包括揮發性有機化合物的檢測,可以將附加感測器,如盛思銳(Sensirion) SGP40及其相應的庫檔整合到專案中,並查閱資料手冊。

圖4:Sensirion  SGP40感測器。

(來源:Sensirion)

環境資料收集可透過Edge Impulse實現,記錄不同條件下的溫度和濕度值,用於訓練一個能夠辨識可能預示異常狀況變化模式的機器學習模型。訓練完成後,該模型將透過適用於MCU的TensorFlow Lite上傳到Arduino Nano 33 BLE Sense開發板。程式設計草圖讀取感測器資料並執行模型,以即時分析環境。若檢測到異常,系統可觸發相應動作,如點亮警告LED或向外部設備發送藍牙訊號。

以下是讀取HTS221感測器資料並將其顯示在串口監視器上的示例程式碼:

在空氣品質監控項目中,提供的程式碼允許從整合在Arduino Nano 33 BLE Sense中的HTS221感測器讀取資料,以檢測環境的溫度和濕度。在setup()函數中,初始化串列通信並驗證感測器初始化是否成功。如果感測器未被正確檢測到,程式將進入無限巡迴,並透過串列監視器報告錯誤。

在loop()函數中,程式碼分別使用readTemperature()和readHumidity()方法從感測器讀取溫度和濕度值。隨後,將獲取的值列印在串列監視器上,以即時顯示環境條件。資料每2秒讀取一次,這是透過delay(2000)函數實現,從而實現定期更新。這種基本結構可輕鬆監控環境條件,並可將系統適配於其他應用,例如異常檢測或與機器學習模型整合,以分析並做出智慧資料驅動的決策。

為確保系統的可靠性,必須在不同的環境條件下進行測試,驗證模型的準確性,並盡可能優化檢測閾值以減少誤報。該專案的進一步擴展包括與行動應用程式的整合,借助低功耗藍牙(BLE)技術,可實現空氣品質的即時監控。開發簡潔的使用者介面可借助MIT App Inventor或Flutter等工具實現,這些工具提供了在智慧手機上直接視覺化資料的實用解決方案。

要深入瞭解開發此專案所需的資源,可查閱Arduino_HTS221庫的官方文檔,Arduino論壇是解決各種技術問題的有效支持管道。Edge Impulse提供了針對嵌入式設備收集和訓練機器學習模型的分步教程,而適用於MCU的TensorFlow Lite則提供了在低功耗MCU上實施機器學習的指南。

資源管理與效能優化

在MCU上執行AI模型會對可用資源的管理提出嚴格要求,這需要對記憶體、運算能力和能效進行仔細的優化。其中一個最關鍵的方面是記憶體的管理,而MCU中的記憶體通常極其有限,因此,必須採用避免浪費的記憶體分配策略,並盡可能使用靜態緩衝區。

此外,使用AI模型量化技術有助於減小神經網路的規模,從而減少記憶體消耗並提高效能,而使用硬體加速器(如果可用的話)則代表著提高處理速度的機會。一些先進的MCU整合了專門用於處理神經網路的數位訊號處理器(DSP),從而可減輕主CPU的運算負擔,並更快、更高效地執行推理。此外,使用修剪技術可以減少所需的運算次數,在不影響模型準確性的情況下提高效能。

關於能效,尤其是對於電池供電的設備,可透過使用低功耗模式(例如深度睡眠模式),以及根據操作需求動態調整模型執行頻率來降低​​非活動期間的功耗。此外,採用觸發事件是一種有效的策略,僅在特定刺激下觸發推理,從而減少活動處理時間並優化運算資源的使用。

精心選擇AI模型架構也會影響其在MCU上的實現效率:羽量級神經網路專為資源受限的環境而設計,能夠在準確性和運算消耗之間取得良好的平衡。這些技術的整合使我們能建構兼具高效能與高效率的AI模型,足以應對MCU在資源上的限制。

總結與展望

TinyML在嵌入式系統中的應用為在資源受限的設備上實現AI開闢了新的可能性。直接在MCU上執行推理的能力可實現更快、更安全、更節能的應用。隨著優化技術的發展和專用硬體的改進,邊緣設備上的機器學習將繼續擴展,為家庭自動化、安防和環境監控等領域帶來創新。

將AI整合到嵌入式系統中已不再是遙不可及的夢想,而是人人皆可實現的現實,即使使用廉價硬體也是如此。借助正確的優化技術和精心的資源管理,智慧解決方案可直接在MCU上實現,從而催生新一代自主互聯的設備。

(參考原文:Deploying Neural Networks on Microcontrollers with TinyML,by Giordana Francesca Brescia,EE Times China Franklin編譯)

本文同步刊登於EE Times China 2025年8月號雜誌

The post 利用TinyML在MCU上部署神經網路 appeared first on 電子工程專輯.

市場機遇
Sleepless AI 圖標
Sleepless AI實時價格 (AI)
$0.04028
$0.04028$0.04028
+1.76%
USD
Sleepless AI (AI) 實時價格圖表
免責聲明: 本網站轉載的文章均來源於公開平台,僅供參考。這些文章不代表 MEXC 的觀點或意見。所有版權歸原作者所有。如果您認為任何轉載文章侵犯了第三方權利,請聯絡 service@support.mexc.com 以便將其刪除。MEXC 不對轉載文章的及時性、準確性或完整性作出任何陳述或保證,並且不對基於此類內容所採取的任何行動或決定承擔責任。轉載材料僅供參考,不構成任何商業、金融、法律和/或稅務決策的建議、認可或依據。