來(lái)源:Digi-Key 作者:Jacob Beningo 機器學(xué)習 (ML) 已經(jīng)進(jìn)入云計算的許多領(lǐng)域,并且已經(jīng)在運行 Linux 的相對強大的處理器上找到通往邊緣的道路。在這些系統上運行傳統 ML 的問(wèn)題是,因其功率配置文件太大,既無(wú)法“斷開(kāi)”,也無(wú)法用作電池供電型邊緣設備執行工作任務(wù)。邊緣 ML 的發(fā)展趨勢及未來(lái)就是使用 tinyML。TinyML 的目的是在資源受限的設備上實(shí)現 ML 算法,如基于 Arm Cortex-M 處理器的微控制器。 在本篇博客中,我們將探討最常見(jiàn)的 tinyML用例。在這些用例中,充分發(fā)揮了在基于微控制器的設備上、用在邊緣處的 tinyML 的作用。 用例 #1:關(guān)鍵詞識別 逐漸被人們熟知的第一種 tinyML 用例是關(guān)鍵詞識別。關(guān)鍵詞識別是指設備識別諸如“嗨,Siri”、“Alexa”、“你好”之類(lèi)關(guān)鍵詞的能力。關(guān)鍵字識別對邊緣設備來(lái)說(shuō)有許多用途。例如,人們可能想用低功率處理器來(lái)觀(guān)察一個(gè)關(guān)鍵詞,以喚醒一個(gè)更強大的處理器。另一種用例可能是控制嵌入式系統或機器人。我曾見(jiàn)過(guò)這樣的例子,微控制器用來(lái)解碼“前進(jìn)”、“后退”、“停止”、“向右”和“向左”等關(guān)鍵詞, 從而控制機器人的運動(dòng)。 用 tinyML 識別關(guān)鍵詞通常是通過(guò)麥克風(fēng)來(lái)捕捉語(yǔ)音輸入信號。語(yǔ)音信號被記錄為隨時(shí)間變化的電壓,然后通過(guò)數字信號處理將其轉換為光譜圖。這種光譜圖是一個(gè)與輸入信號頻率相對應的時(shí)間序列?蓪㈩l譜圖送入神經(jīng)網(wǎng)絡(luò ) (NN),用來(lái)訓練微小的 ML 算法來(lái)識別特定的單詞。這個(gè)過(guò)程如圖 1 所示。 ![]() 圖 1:對輸入語(yǔ)音信號進(jìn)行數字處理,以生成一種用于訓練 NN 來(lái)檢測關(guān)鍵詞的光譜圖。(圖片來(lái)源:Arm) 典型的實(shí)現方式是將固定的語(yǔ)音窗口輸入 NN 中。然后,該網(wǎng)絡(luò )將評估某個(gè)所需關(guān)鍵詞被說(shuō)出來(lái)的概率。例如,如果有人說(shuō)“是”,NN 可能會(huì )報告說(shuō)它有 91% 的把握是“是”,有 2% 的可能性是“不是”,有 1% 的可能性是“在”。 通過(guò)語(yǔ)音控制機器的能力是許多設備制造商正在仔細審查的用例,他們希望在未來(lái)幾年內增強其設備。 用例 #2:圖像識別 tinyML 的第二種用例是圖像識別。對于能夠進(jìn)行圖像識別的邊緣設備,有相當多的用例。能夠檢測門(mén)旁邊是否有人、包裹或什么都沒(méi)有,這種用例大家可能已經(jīng)熟悉。當然還有很多其他應用,包括監測舊的模擬儀表,檢測草坪長(cháng)勢,甚至用于統計鳥(niǎo)的數量。 圖像識別似乎是一個(gè)可以參與其中的復雜領(lǐng)域。然而,有幾個(gè)低成本的平臺可以幫助開(kāi)發(fā)者啟動(dòng)和運行。我最喜歡的,也是我用來(lái)快速完成工作的一個(gè)平臺就是 OpenMV。 OpenMV 是一個(gè)開(kāi)放式機器視覺(jué)平臺,包括一個(gè)集成開(kāi)發(fā)環(huán)境 (IDE)、一個(gè)用 Python 編寫(xiě)的庫框架以及一個(gè)來(lái)自 Seeed Technology 的相機模塊,可幫助開(kāi)發(fā)者創(chuàng )建機器視覺(jué)應用(圖 2)。 ![]() 圖 2:OpenMV 相機模塊可用于圖像識別,在簡(jiǎn)單的 IDE 環(huán)境下使用 Python 就可以完成開(kāi)發(fā)。(圖片來(lái)源:Beningo Embedded Group) 該相機模塊基于 STMicroelectronics 的 STM32H7 Cortex-M7 處理器。該硬件可以通過(guò)其板上的擴展針座進(jìn)行擴展。該硬件可采用電池供電,甚至可以更換相機模塊。你可能會(huì )發(fā)現了一個(gè)有趣的入門(mén)用例,即如何使用 CIFAR-10 數據集和 Arm CMSIS-NN 庫進(jìn)行圖像識別。你可在 YouTube 上找到這個(gè)用例:https://www.youtube.com/watch?v=PdWi_fvY9Og。 用例 #3:預見(jiàn)性維護 我們將討論 tinyML 的最后一種用例是預見(jiàn)性維護。預見(jiàn)性維護使用諸如統計分析和 ML等工具來(lái)預測設備狀態(tài),其依據如下: · 異常情況檢測 · 分類(lèi)算法 · 預測模型 例如,一個(gè)工廠(chǎng)可能有一系列電機、風(fēng)扇和用于產(chǎn)品生產(chǎn)的機器人設備。公司希望盡量減少停機時(shí)間,以最大限度地提高產(chǎn)量。如果設備有傳感器,可以使用 ML 和上面提到的其他技術(shù)進(jìn)行解釋?zhuān)麄兛梢詸z測到設備何時(shí)會(huì )接近故障狀態(tài)。這樣的設置可能看起來(lái)如圖 3 所示。 ![]() 圖 3:tinyML 的第三種常見(jiàn)用例是用于預見(jiàn)性維護的智能傳感器。(圖片來(lái)源:STMicroelectronics) 將智能傳感器連接到使用 tinyML 的低功耗微控制器,可以構建許多種有用的應用。例如,可以用來(lái)監測暖通空調設備、檢查空氣過(guò)濾器以及檢測不規則的電機振動(dòng)等等。預防性維護可以變得更有條理,從而有希望將公司從各種昂貴的應對措施中拯救出來(lái),確保采用更優(yōu)化的維護計劃。 結語(yǔ) TinyML 在邊緣有很多潛在的應用和用例。我們已經(jīng)探討了目前常見(jiàn)的東西,但其用例幾乎是無(wú)限的。TinyML 可用于手勢檢測、引導和控制等應用。隨著(zhù)邊緣設備開(kāi)始使用 tinyML,問(wèn)題實(shí)際上就變成了“你 在邊緣使用 tinyML 做什么?”。 |