TinyML很強大是因為它幫助微型設備基于大量數據采集制定決策方法,而不會浪費時間和精力傳輸數據。假設你正在追蹤非洲大草原的動物行為,你想知道獅子在一天中不同時間咆哮的頻率。
你可以選擇以下方法收集數據:
?躲在草叢中,用記事本和鉛筆記錄每次聽到的吼聲。
?用設置好的帶電池的錄音機記錄,每隔幾星期去更換存儲卡。
以上所有方法都有以下缺點:
?將人員留在現場是非常昂貴的,同時還需考慮他們的安全問題
?駕車去收集存儲卡需要耗費時間和錢,而且每隔幾周才可以獲得新數據。
?傳輸數據會消耗大量能量和錢,并且大部分地區的網絡帶寬也受到限制。這種方法可能會更快地獲得數據,但仍需定期開車去更換電池。
除了這些缺點以外,在錄音中數出獅子的吼聲真的很無聊,而且還需要花費寶貴的資金。訓練機器學習模型來識別錄音中的獅子吼聲并自動計數可以減輕這一煩惱。為此需要先收集一組帶標簽的數據輸入到算法中,然后創建一個模型來識別音頻中的吼叫聲。
這將解決需要花費數小時收聽Savanna音頻的問題。但是這樣仍然保留了上述缺點。
在過去,機器學習模型只能存在于強大的大型硬件上,導致它們大多數時候只能在實驗室的服務器上運行。但是近年來機器學習算法和低功耗硬件已經發展到可以在嵌入式設備上運行復雜模型的階段。
如果我們采用獅吼計數模型應用在嵌入式設備中并部署到野外,我們會獲得以下優勢:
?我們的設備無需通過昂貴的高帶寬網絡來發送記錄到的音頻,而是可以當場計算聽到的吼聲數量,并發送極低功率的遠程無線電,像LoRa那樣。
?獲得咆哮聲的數量就夠了,所以不需要存儲音頻以及收集存儲卡。
?此設備很便宜且功耗極低,僅用一個電池即可運行數年。
?沒有人需要聽100小時的野生動植物混合錄音帶了。
這聽起來是一個很好的解決方案。我們解決了一些實際問題,并獲得了比以前更便宜更可靠的解決方案。
但是機器學習是一個令人生畏的主題。它技術性很強并涉及許多新概念,它也存在很多陷阱,可以很容易地訓練一個看似有用但無法工作的模型。
更重要的是,在嵌入式設備上運行機器學習代碼非常困難。除了需要了解機器學習和信號處理算法的知識外,通常還會受制于硬件性能的限制,可能要運用書中的所有技巧才能發揮給定類型芯片的全部性能。
當我們寫《TinyML》這本書時,我意識到盡管任何人都可以輕松地開始學習基于嵌入式設備的機器學習。但想要構建出可用于生產的東西卻會困難得多。對于專注解決實際問題的普通工程師來說,一天中沒有足夠的時間來學習機器學習,更不用說要為特定的微控制器架構優化底層ML代碼了。機器學習聽起來是一個不錯的解決方案,但是它需要大量的投入來學習和使用。
這就是為什么我對Edge Impulse感到非常感興趣的原因(事實上我因為太感興趣而加入了這個團隊)。它是一組用于處理機器學習中繁瑣部分的工具,使開發人員可以專注于他們要解決的問題。Edge Impulse讓收集數據集,選擇正確的機器學習算法,訓練生產級模型以及測試的過程變得容易。然后它將整個內容導出為可以輕松放入項目中的高效,高度優化的C ++庫。
使用Edge Impulse創建咆哮計數模型的步驟很簡單:
1.收集少量音頻數據,給他們標記為“吼”或“非吼”,整個過程只需幾分鐘就可以完成。
2.使用Edge Impulse CLI將數據上傳到Edge Impulse。
3.按照說明訓練簡單模型。
4.添加更多數據并調整模型的設置直到獲得所需的精準度。
5.將模型導出為C ++庫,并將其添加到嵌入式項目中去。
整個過程可以在幾分鐘內完成,你不必親自參觀非洲大草原。
由于現實中沒有獅子,所以本教程訓練了一個可以識別家庭聲音的模型:即水龍頭發出的自來水聲。 要訓練的模型大小約為18Kb并且體積小巧,卻可以運用在復雜應用的同時為應用程序代碼留出大量空間。
如果你有一個基于Arm Cortex-M4的STM32 IoT Node Discovery Kit套件開發板,就可以通過WiFi或串行捕獲自己的數據集。如果你沒有或者正在等待一個板子,可以下載我從Sunnyvale公寓收集的數據集。Edge Impulse構建了一個可以內置到任何Cortex-M或Cortex-A設備中緊湊獨立的C ++庫。我們自動使用FPU,矢量擴展,CMSIS-DSP和CMSIS-NN來優化性能,并最大程度地減少RAM和閃存的使用。
除獅子和水龍頭外,TinyML還有很多不同應用。想象一下可以識別語音命令的微型設備:當機器出現故障時進行識別,根據周圍的聲音了解房屋中發生的活動。它最大的優點是借助設備上的推理功能可以保護用戶隱私-無需將任何音頻發送到云上。
通過使用Edge Impulse任何開發人員都可以輕松構建ML應用程序,Edge Impulse為所有想把驚人想法應用在硬件領域的人實現了夢想。我們隨著技術的發展不斷改進我們的平臺,因此每個人都將從最新的算法和技術中受益。
審核編輯:劉清
-
微控制器
+關注
關注
48文章
7570瀏覽量
151628 -
RAM
+關注
關注
8文章
1369瀏覽量
114774 -
Cortex-M4
+關注
關注
6文章
89瀏覽量
46562
發布評論請先 登錄
相關推薦
評論