機器學習已經(jīng)成為一個重要的技術驅動力,在從汽車和工業(yè)控制到物聯(lián)網(wǎng)和空間系統(tǒng)技術,機器學習已經(jīng)在多個行業(yè)中取得了成果和創(chuàng)新。多數(shù)機器學習專注于具有后端服務器或應用處理器中的高端、計算量大的應用程序。盡管如此,將機器學習算法部署到微控制器的需求越來越大。
基于微控制器的機器學習用例
機器學習是否能應用于微控制器,取決于具體應用。例如,如果想要將自適應 ML 算法部署到微控制器,則超出了其處理能力。但是,對于基于微控制器的系統(tǒng),有幾個機器學習用例非常有趣,而且應用數(shù)量在不斷增長。
一個有趣的用例是關鍵字發(fā)現(xiàn)。語音正在成為一種高效的用戶接口,而微控制器可以提供實現(xiàn)。例如,低功耗微控制器可以運行機器學習推理來監(jiān)視單個關鍵字。檢測到關鍵字后,微控制器可以喚醒一個應用處理器,該處理器可以管理其他關鍵字和主應用程序。
另一個應用是預測性維護。當在許多工業(yè)和家庭應用中使用的機器出現(xiàn)故障時,維修可能會非常昂貴且不方便。在許多情況下,機器不會突然壞掉。相反,根據(jù)可檢測的數(shù)據(jù)點(如振動、氣流等),性能的輕微下降表明設備可能存在問題。簡單的機器學習模型可以檢測正常行為,并在系統(tǒng)需要維護時提醒用戶。提前維護而非停機可以節(jié)省資金、減少麻煩。
微控制器的機器學習技術
一旦確定了機器學習用例,我們需要使用合適的工具和技術來構建它。在微控制器領域,幫助開發(fā)人員實現(xiàn)機器學習工作的工具正在迅速增長。
開發(fā)人員可以利用多種工具為其應用程序訓練機器學習模型。Tensorflow Lite for Microcontrollers 在微控制器和只有幾千字節(jié)內存的設備上運行機器學習模型。其基本運行庫在Arm Cortex M3上占用16 KB,并且可以運行許多基本模型。它不需要操作系統(tǒng)、標準 C 或 C++ 庫或動態(tài)內存分配。
根據(jù)選擇的微控制器,開發(fā)人員還有利用相應微控制器的生態(tài)系統(tǒng)。例如,ST的X-CUBE-AI 插件允許開發(fā)人員導入機器學習模型、對其進行分析并優(yōu)化以在微控制器上運行。
邊緣構建低功耗 AI/IoT 的工具SensiML,支持數(shù)據(jù)集、模型管道版本控制和多會話數(shù)據(jù)集標注。SensiML允許幾乎沒有ML經(jīng)驗的軟件開發(fā)人員訓練機器學習模型并將其部署到微控制器。生成的模型會自動轉換為代碼,直接在目標設備上執(zhí)行實時推理。使智能應用運行得更快,需要更少的網(wǎng)絡性能,更加安全。
是否可以在微控制器端實現(xiàn)機器學習應用取決于最終用例。一些工具如SensiML可以支持微控制器的機器學習。將機器學習模型部署到微控制器時,可能需要在運行庫的內存占用及模型的準確性中做出權衡。
更多信息可以來這里獲取==>>電子技術應用-AET<<