最初,具有所有“無限”功能的云計算似乎消除了邊緣設備擁有任何實質性智能的需求。然而,過去幾年出現了在邊緣設備中實施人工智能 (AI) 和機器學習 (ML) 的趨勢,以解決數據傳輸延遲、隱私和更大的設備自主性等問題。這為在邊緣設備中構建嵌入式系統帶來了一定的內存需求。本文探討了適用于邊緣設備的某些 ML 方案以及使它們成為可能的非易失性存儲器要求。
為什么要在邊緣設備上使用機器學習 (ML)
邊緣設備是生成 ML 數據的地方。物聯網、工業和消費領域的應用程序從他們自己的傳感器生成大量數據,并且需要能夠根據來自人機界面 (HMI) 的命令做出快速決策。傳感器融合技術使在邊緣設備上獲取數據更容易、更快、更準確。HMI 使人機交互更加用戶友好和自適應。自然,在 ML 計算引擎中處理更接近其來源的數據是有意義的。邊緣計算永遠不會取代云計算;但是,不必將數據傳輸到云端,可以更快地訓練機器,并且可以大大減少與云服務器的連接帶寬。
廣泛的物聯網應用程序可以從本地 AI 處理中受益。圖 1 顯示了 SensiML 的圖表,其中列出了邊緣設備上的 AI 處理示例。
當然,在邊緣設備上實施 ML 肯定會遇到挑戰。例如,邊緣設備可能依賴電池,因此能量預算有限。它們也可能具有有限的計算能力和/或存儲空間。然而,現代 MCU 技術正在邊緣設備上實現這一點。如圖 2 所示,根據 Barth Development 所做的研究,在過去的幾十年中,我們可以看到,雖然 MCU 功耗保持相對平穩,但晶體管數量、時鐘速度、并行內核數量都呈上升趨勢。隨著更多高性能、低功耗 MCU 的出現,邊緣計算可以幫助構建智能且用戶友好的系統。
圖 2:過去幾年的 MCU 研究(來源:Barth Development)
機器學習的不同方案
一般來說,機器學習可以分為兩大類:監督學習和無監督學習。監督學習是指使用“標記”的數據訓練機器,這意味著每個數據樣本都包含特征和答案。通過向機器提供這些標記數據,我們正在訓練它以找到特征和答案之間的相關性。訓練后,當我們為機器提供一組新的特征時,希望它會給出我們期望的正確答案。例如,可以訓練設備在由其視頻源(即相機)捕獲的圖像中查找文本和數字。為了以非常簡化的方式描述該過程,設備通過給出可能包含或不包含文本和數字的圖像以及正確答案(即“標簽”)來進行訓練。訓練結束后,
另一方面,無監督學習是指向機器輸入未“標記”的數據的方法,這意味著每組特征都沒有答案。無監督學習的目標是從所有這些數據中找到隱藏的信息,無論是對數據集進行聚類,還是找到它們之間的關聯。無監督學習的一個例子可能是在生產線末端執行質量控制,從所有其他產品中發現異常產品(即異常檢測)。該設備沒有給出“標記”的答案來指示哪些產品是異常的。通過分析每種產品的特征,該算法會自動從大多數好產品中識別出壞產品,因為設備經過訓練可以看到它們之間的差異。
在本文中,我們將嘗試更深入地研究可以部署在邊緣設備中的監督學習算法。我們將使用一些簡單的數學公式來解釋兩種學習算法之間的差異。
如上所述,監督學習將標記的數據集饋送到正在訓練的設備中。假設每個數據集包含許多特征 x 1 , x 2 。.. x n。接下來,為每個特征分配一個系數 q,并寫下函數。這稱為假設函數 h q (x):
h q (x) = q 0 + q 1 x 1 + q 2 x 2 + q 3 x 3 … + q n x n
訓練機器意味著找到一組適當的 q (q 0 , q 1 , q 2 , …, q n ),以使假設輸出 h q (x) 盡可能接近給定的答案(標簽)。訓練后,當出現一組新的特征 X (x 1 , x 2 , …, x n ) 時,假設函數將給出基于最優 q 集的輸出。
找到 q 的一種方法是使用帶有梯度下降的線性回歸。以下步驟是對該方法的簡化描述:
1.選擇一個初始集合… n。然后計算假設與給定答案 Y 之間的差異。這種差異通常稱為成本。
2.不斷向成本更小的方向轉變。每次重新計算成本。重復此步驟,直到成本不再降低。
3.如果成本不再降低,我們已經達到了一個最優集合,它為我們提供了所有給定樣本的最低成本。
4.如果給定一組新的X,現在這組可以用來預測輸出。
梯度下降這個名字來源于步驟 2 中改變 q 的方法。通過在梯度方向上更新 q,算法保證它會收斂到一個最優值。圖 3 顯示了梯度下降以達到最小成本函數 J(q 0 , q 1 ) 的圖形表示。
圖 3:梯度下降中的成本函數 J 與參數集 q
如果步驟 2 中的成本計算是在所有給定的數據樣本上完成的,則該方法稱為批量梯度下降。在每次更新 q 時,算法都會計算所有訓練數據樣本的成本。這種計算方式為如何改變 q 提供了更好的指導。但是,如果給定的訓練數據樣本集很大,計算所有樣本的成本需要大量的計算能力。此外,系統必須在訓練期間存儲所有數據樣本。
梯度下降的另一種方法是在數據樣本的子集上執行步驟 2。這種方法稱為隨機梯度下降。該算法在每次迭代時根據較小的數據樣本集更改 q。這種方法可能需要更多的迭代才能達到最佳 q,但它節省了大量的計算能力和潛在的時間,因為它不需要計算整個數據樣本集的成本。
使用隨機梯度下降法,用于計算成本的最小樣本數為 1。如果 ML 算法將 q 細化為可用的新數據樣本,我們可以將此 ML 算法視為基于連續數據樣本的持續行為更新。隨著每個可用的數據樣本進來,算法計算新的 q。因此,系統在每一步都動態更新假設函數。這種方法也稱為在線梯度下降或在線機器學習。
批量梯度下降與在線機器學習
在批量梯度下降和在線機器學習之間,后者具有一定的特點,適合在邊緣設備上使用。
1.無限數據樣本
如前所述,邊緣設備通常配備傳感器或 HMI,可以連續提供無窮無盡的數據樣本或人工反饋。因此,在線 ML 算法可以不斷地從數據變化中學習并改進假設。
2.計算能力
邊緣設備通常具有有限的計算能力。對大量數據樣本運行批量梯度下降算法可能不切實際。但是,通過一次計算一個數據樣本,就像在 Online ML 中一樣,MCU 不必具有巨大的計算能力。
3.非易失性(NV)內存
批量梯度下降算法要求系統存儲整個訓練集,該訓練集必須駐留在非易失性存儲中,而在線 ML 算法一次計算一個傳入數據樣本。在線 ML 算法可能會丟棄數據或僅存儲少量樣本以節省非易失性存儲。這特別適用于非易失性存儲器可能受限的邊緣設備。
4.適應性
想象一下在邊緣設備上執行語音識別的在線 ML 算法。通過通過新的數據樣本不斷地訓練算法,系統可以動態地適應特定的用戶和/或口音。
邊緣設備上機器學習的非易失性內存要求
除了 MCU,非易失性存儲器是設計進行 ML 處理的邊緣設備的另一個重要因素。如果 MCU 為應用軟件提供足夠的 e-flash,嵌入式閃存是一個明顯的選擇。然而,隨著 MCU 技術節點不斷縮小,e-flash 變得更加難以集成。簡而言之,應用軟件的容量超過了可用的 e-flash。在這種情況下,需要外部獨立 NV 閃存。考慮到各種 NV 閃存設備提供的可靠性、讀取吞吐量和就地執行功能,NOR 閃存通常是邊緣系統設計人員的首選。
要為 ML 構建安全可靠的邊緣設備,有許多設計考慮因素。以下是其中的一些,可幫助設計人員決定使用哪種 NV 存儲器(參見圖 4)。
1.安全啟動
所有嵌入式系統都必須安全啟動。對于邊緣設備,安全啟動尤其重要,因為它靠近人類訪問,因此存在潛在安全攻擊的風險。通常,對于使用 Store-N-Download (SnD) 代碼模型的設備,引導代碼存儲在非易失性存儲器中并下載到 RAM 以執行。如果非易失性存儲器不安全,黑客很容易更換或修改引導代碼進行惡意操作。因此,將引導代碼存儲在安全的非易失性存儲器中并在引導期間建立信任根是邊緣設備非常重要的考慮因素。
2.抵抗攻擊
考慮到它們的連通性,邊緣設備的攻擊面無疑是巨大的。即使是安全啟動,黑客也可能試圖通過各種攻擊方法從設備中竊取智能機密或隱私信息,例如被動監控、主動重放攻擊、側信道攻擊等。使用能夠抵抗這些攻擊的非易失性存儲器可以大大降低了系統暴露的風險。
3.重要AI參數安全存儲
ML 算法需要內存存儲參數,例如上面提到的參數集。這些參數是使用大量數據樣本集運行訓練的結果。人工智能算法本身可能對黑客不感興趣,但最終結果往往是。如果黑客可以從存儲中竊取最終結果,他們可以在不經過任何培訓的情況下模仿人工智能系統。這些參數,例如參數的集合,直接影響機器學習方案和系統的智能。因此,它們應該存儲在一個安全的存儲空間中,黑客不會無意或有意地更改它們。提供這種安全存儲能力的非易失性存儲器將非常適合需要存儲敏感信息的邊緣設備。
4.吞吐量快
盡管邊緣設備可能不需要強大的 MCU 來運行廣泛的 ML 算法,但它們可能仍需要快速訪問非易失性存儲器以實現快速安全啟動和良好的計算性能。
圖 4:使用機器學習的邊緣設備需要支持安全啟動、抵御惡意攻擊、安全存儲和快速吞吐量的非易失性內存,如此處所示的 Cypress Semper Secure NOR 閃存。
在邊緣設備中實現智能化,使用戶數據的處理更接近其源頭,是一種工業趨勢。許多人工智能應用程序可以部署在構建智能和用戶友好系統的邊緣設備上。機器學習算法之一,在線機器學習,不需要大量的計算能力,對變化的適應性很強,適用于邊緣設備。要在邊緣設備上構建智能且安全的系統,用戶可以選擇具有信任根能力、安全存儲、快速吞吐量和抵抗惡意攻擊的非易失性存儲器。
審核編輯:郭婷
-
存儲器
+關注
關注
38文章
7514瀏覽量
163990 -
機器學習
+關注
關注
66文章
8425瀏覽量
132766
發布評論請先 登錄
相關推薦
評論