使用 Edge Impulse,可以創建嵌入微型機器學習和 DNN 模型的智能設備解決方案。基于云的解決方案抽象了現實世界傳感器數據收集和存儲、數據特征提取、ML 和 DNN 模型訓練和轉換為嵌入式代碼以及在 STM32 MCU 設備上部署模型的復雜性。無需安裝本地 AI 框架,工程師只需一次函數調用即可生成模型并將其導出到他們的 STM32 項目中。所有生成的神經網絡現在都充分利用 STM32Cube.AI以確保它們盡可能快速和節能地運行,并且可以使用STM32CubeMX完全定制固件。
在微控制器上部署機器學習 (ML) 模型是過去幾年最激動人心的發展之一,它允許小型電池供電設備檢測復雜運動、識別聲音、分類圖像或發現傳感器數據中的異常。為了讓每個嵌入式開發人員都可以構建和部署這些模型,STMicroelectronics 和 Edge Impulse 一直在合作,將對 STM32CubeMX 和 STM32Cube.AI 的支持集成到 Edge Impulse。Edge Impulse Cloud 現在能夠通過本地 STM32Cube.AI 引擎導出神經網絡,以確保將最佳效率導入與 STM32CubeMX 項目兼容的 CMSIS PACK。這為開發人員提供了一種簡單的方法來收集數據、構建模型并部署到任何 STM32 MCU。
小型設備的機器學習
嵌入式系統上的機器學習(通常稱為 TinyML)有可能允許創建無需將數據發送到云端就可以做出明智決策的小型設備——從效率和隱私的角度來看非常棒。為了在微控制器上運行深度學習模型(基于人工神經網絡),ST 推出了STM32Cube.AI。STM32Cube.AI 是一個軟件包,可以采用預先訓練的深度學習模型,并將它們轉換為可以在 STM32 MCU 上運行的高度優化的數學 C 代碼。提取正確的特征、構建質量數據集以及訓練模型以便將其部署到 STM32 上,這些都是構建基于 ML 的解決方案的關鍵步驟。
機器學習讓一切變得簡單
嵌入式開發人員可能天生對機器學習持懷疑態度。在嵌入式設備上分析傳感器數據并不是什么新鮮事。幾十年來,開發人員一直在使用信號處理從原始數據中提取有趣的特征。然后通過簡單的基于規則的系統解釋信號處理的結果,例如,當信號中的總能量超過閾值時發送消息。盡管這些系統運行良好,但很難檢測到復雜的事件,因為您需要針對系統的每個潛在狀態進行規劃。
Edge Impulse 有助于可視化特征以理解復雜的數據集
我們可以用機器學習做的是在更細粒度的問題中找到這些邊界和閾值。例如,在異常檢測中,您可以訓練一個機器學習模型(經典或神經網絡)來查看數據集中的所有數據,根據信號處理管道的輸出對它們進行聚類(仍然與您使用的 DSP 指令相同)總是),然后將新數據與集群進行比較。監督模型學習數據中的所有潛在變化,并創建比手動構建更精確和細粒度的閾值。
學習集群的小型機器學習模型。藍點代表訓練數據,藍色圓圈是機器學習模型學習的集群。橙色點是傳入的新數據。由于數據在任何已知集群之外,這是一個異常現象。
而且由于這些閾值可以在如此細粒度的問題中自動計算,因此可以檢測到更復雜的事件。編寫檢測麥克風何時拾取高于 100dB 的聲音的代碼相對容易,但檢測一個人是否說“是”或“否”則非常復雜。機器學習確實在那里大放異彩。
不是黑匣子
但是將控制權交給機器學習模型可能會很可怕。如果您在數百萬臺設備中部署模型,您希望確保該模型確實有效,并且您沒有錯過任何邊緣情況。為了解決這個問題,Edge Impulse 傾向于傳統的信號處理管道與小型 ML 模型搭配,而不是深度 ML“黑盒類型”模型;它有許多可視化工具來幫助確定數據集的質量,根據當前模型分析新數據,并在真實設備上快速測試模型。特征瀏覽器根據 3D 圖形中所有生成的窗口繪制提取的特征,允許開發人員探索數據集并了解這些特征是否可以輕松地被模型分離。
在 Edge Impulse 中可視化口語關鍵字。每個點代表 1 秒的音頻。可以快速查看異常值,您可以單擊一個點來收聽關鍵字。
使用 STM32Cube.AI 在頂部添加神經網絡模型
例如,在為分類或回歸任務構建神經網絡時,優化目標微控制器的模型占用空間和執行時間至關重要。Developers automatically benefit from all STM32Cube.AI optimizations as the tool is automatically called in the Cloud when the STM32Cube.AI CMSIS-PACK export option is selected.
STM32Cube.AI 執行模型量化和其他優化,允許以最小的性能下降進行壓縮,并為所有 STM32 微控制器生成優化的 C 代碼。
STM32Cube.AI CMSIS-PACK 部署將整個模型打包,包括所有信號處理代碼和機器學習模型,并創建一個與 STM32CubeIDE 集成的 CMSIS-PACK。此包可在任何 Cortex-M4F、Cortex-M7 或 Cortex-M33 STM32 MCU 上運行。
要將 CMSIS-PACK 添加到您的 STM32 項目中,請按照分步指南進行操作。然后,您可以為在 STM32Cube 環境中嵌入機器學習模型的任何基于 STM32 的產品開發自定義固件。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7492瀏覽量
151074 -
神經網絡
+關注
關注
42文章
4765瀏覽量
100550 -
機器學習
+關注
關注
66文章
8381瀏覽量
132428
發布評論請先 登錄
相關推薦
評論