到底什麼是嵌入式ML?



到底什麼是嵌入式ML?


機器學習(ML)是一種編寫計算機程序的方式。具體地說,這是一種編寫處理原始數據並將其轉換為對應用程序有意義的信息的程序的方式。

例如,可以設計一個ML程序,根據來自各種傳感器的讀數來確定工業機器何時發生故障,從而可以警告操作員。另一個ML程序可能會從麥克風獲取原始音頻數據,並確定是否說過一個字,因此它可以激活智能家居設備。

與普通計算機程序不同,ML程序的規則不是由開發人員確定的。取而代之的是,機器學習使用專門的算法從數據中學習規則(稱為培訓)。

在傳統的軟件中,工程師設計一種算法,該算法接受輸入,應用各種規則並返回輸出。該算法的內部操作由工程師規劃,並通過代碼行明確實現。為了預測工業機器中的故障,工程師將需要了解數據中的哪些測量值指示問題,並編寫代碼來仔細檢查它們。

這種方法適用於許多問題。例如,我們知道水在海平面上會在100°C沸騰,因此很容易編寫一個程序,該程序可以根據其當前溫度和高度來預測水是否在沸騰。但是在許多情況下,可能很難知道預測給定狀態的因素的確切組合。繼續我們的工業機器示例,生產率,溫度和振動水平可能會有各種不同的組合,這些組合可能表明存在問題,但從數據中無法立即看出來。

要創建ML程序,工程師首先要收集大量的訓練數據。然後他們將這些數據輸入一種特殊的算法中,然後讓算法發現規則。這意味著作為ML工程師,我們可以創建基於複雜數據進行預測的程序,而不必自己瞭解所有複雜性。

在訓練過程中,機器學習算法會根據我們提供的數據建立系統模型。我們通過這個模型運行數據,以稱為推理的過程進行預測。

機器學習在哪裡可以提供幫助?

機器學習是解決涉及模式識別的問題的出色工具,尤其是那些複雜且人類觀察者可能難以識別的模式。ML算法擅長將凌亂的高帶寬原始數據轉換為可用信號,尤其是與常規信號處理結合使用時。

例如,在十個密集,嘈雜的傳感器數據流中,普通人可能難以識別機器故障的跡象。但是,機器學習算法通常可以學習發現差異。

但是ML並不總是工作的最佳工具。如果系統的規則定義明確,並且可以用硬編碼邏輯輕鬆表達,那麼以這種方式工作通常會更有效。

機器學習的侷限性

機器學習算法是功能強大的工具,但它們可能具有以下缺點:

· 他們輸出估計值和近似值,而不是確切的答案

· ML模型的運算量可能很高

· 培訓數據的獲取既耗時又昂貴

在任何地方嘗試應用ML都是很誘人的-但是,如果沒有ML就可以解決問題,通常這樣做會更好。

什麼是嵌入式ML?

微處理器體系結構和算法設計的最新進展使得即使在最小的微控制器上也可以運行復雜的機器學習工作負載。嵌入式機器學習,也稱為TinyML,是應用於諸如此類的嵌入式系統時的機器學習領域。

在嵌入式設備上部署ML有一些主要優點。Jeff Bier創造的不幸的縮寫BLERP巧妙地表達了關鍵優勢。他們是:

帶寬-邊緣設備上的ML算法可以從數據中提取有意義的信息,否則由於帶寬限制,這些信息將無法訪問。

延遲-設備上的ML模型可以實時響應輸入,從而啟用了諸如自動駕駛汽車之類的應用程序,如果依賴於網絡延遲,該應用程序將不可行。

經濟性—通過在設備上處理數據,嵌入式ML系統避免了通過網絡傳輸數據並在雲中進行處理的成本。

可靠性-由設備上模型控制的系統從本質上比依賴於雲連接的系統更可靠。

隱私權-當數據在嵌入式系統上處理並且從不傳輸到雲時,用戶隱私權得到保護,濫用機會更少。


分享到:


相關文章: