最初,云計算及其所有“無限”功能似乎消除了邊緣設(shè)備具有任何實質(zhì)性智能的需求。然而,在過去幾年中,有一種趨勢是在邊緣設(shè)備中實施人工智能(AI)和機器學(xué)習(xí)(ML),以解決數(shù)據(jù)傳輸延遲,隱私和更大的設(shè)備自主性等問題。這為在邊緣設(shè)備中構(gòu)建嵌入式系統(tǒng)帶來了一定的內(nèi)存要求。本文探討了適用于邊緣設(shè)備的某些 ML 方案,以及使其成為可能的非易失性內(nèi)存要求。
為什么在邊緣設(shè)備上使用機器學(xué)習(xí) (ML)
邊緣設(shè)備是生成 ML 數(shù)據(jù)的位置。物聯(lián)網(wǎng)、工業(yè)和消費領(lǐng)域的應(yīng)用從自己的傳感器生成大量數(shù)據(jù),并且需要能夠根據(jù)人機界面 (HMI) 的命令快速做出決策。傳感器融合技術(shù)使獲取邊緣設(shè)備上的數(shù)據(jù)變得更容易、更快、更準(zhǔn)確。HMI使人際互動更加用戶友好和適應(yīng)性強。當(dāng)然,在ML計算引擎中處理更接近其來源的數(shù)據(jù)是有意義的。邊緣計算永遠(yuǎn)不會取代云計算;但是,不必將數(shù)據(jù)傳輸?shù)皆?,可以更快地?xùn)練機器,并且可以大大減少與云服務(wù)器的連接帶寬。
廣泛的物聯(lián)網(wǎng)應(yīng)用程序可以從本地AI處理中受益。圖 1 顯示了 SensiML 中的一個圖表,其中列出了在邊緣設(shè)備上進(jìn)行 AI 處理的示例。
圖 1:可以從本地 AI 處理中受益的示例應(yīng)用程序(來源:SensiML)
當(dāng)然,在邊緣設(shè)備上實現(xiàn) ML 肯定存在挑戰(zhàn)。例如,邊緣設(shè)備可能依賴于電池,因此具有有限的能量預(yù)算。它們也可能具有有限的計算容量和/或內(nèi)存空間。然而,現(xiàn)代MCU技術(shù)正在使邊緣設(shè)備上實現(xiàn)這一目標(biāo)。如圖2所示,從Barth Development所做的研究中,在過去的幾十年里,我們可以看到,雖然MCU的功耗保持相對平穩(wěn),但晶體管的數(shù)量、時鐘速度、并聯(lián)內(nèi)核的數(shù)量都在上升。隨著更多高性能、低功耗MCU的出現(xiàn),邊緣計算可以幫助構(gòu)建智能且用戶友好的系統(tǒng)。
圖2:過去幾年的MCU研究(來源:巴特發(fā)展)
機器學(xué)習(xí)的不同方案
一般來說,ML可以分為兩大類:監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。監(jiān)督學(xué)習(xí)是指使用“標(biāo)記”的數(shù)據(jù)訓(xùn)練機器,這意味著每個數(shù)據(jù)樣本都包含特征和答案。通過向機器提供這些標(biāo)記數(shù)據(jù),我們正在訓(xùn)練它找到特征和答案之間的相關(guān)性。經(jīng)過培訓(xùn)后,當(dāng)我們?yōu)闄C器提供一組新功能時,希望它能得出我們期望的正確答案。例如,可以訓(xùn)練設(shè)備在其視頻源(即攝像機)捕獲的圖像中查找文本和數(shù)字。為了以非常簡化的方式描述該過程,通過給定可能包含或不包含文本和數(shù)字的圖像以及正確答案(即“標(biāo)簽”)來訓(xùn)練設(shè)備。訓(xùn)練后,該設(shè)備可以在任何給定的新圖像中查找文本和數(shù)字。
另一方面,無監(jiān)督學(xué)習(xí)是指一種方法,其中機器被饋送未“標(biāo)記”的數(shù)據(jù),這意味著每組特征都沒有答案。無監(jiān)督學(xué)習(xí)的目標(biāo)是從所有這些數(shù)據(jù)中找到隱藏的信息,無論是對數(shù)據(jù)集進(jìn)行聚類化,還是查找它們之間的關(guān)聯(lián)。無監(jiān)督學(xué)習(xí)的一個例子可能是在生產(chǎn)線末端進(jìn)行質(zhì)量控制,從所有其他產(chǎn)品中發(fā)現(xiàn)異常產(chǎn)品(即異常檢測)。設(shè)備不會給出“標(biāo)記”答案來指示哪些產(chǎn)品異常。通過分析每個產(chǎn)品中的特征,該算法會自動從大多數(shù)好產(chǎn)品中識別不良產(chǎn)品,因為設(shè)備經(jīng)過訓(xùn)練以查看它們之間的差異。
在本文中,我們將嘗試更深入地了解可以部署在邊緣設(shè)備中的監(jiān)督學(xué)習(xí)算法。我們將使用一些簡單的數(shù)學(xué)公式來解釋兩種學(xué)習(xí)算法之間的差異。
如上所述,監(jiān)督學(xué)習(xí)將標(biāo)記的數(shù)據(jù)集饋送到正在訓(xùn)練的設(shè)備中。假設(shè)每個數(shù)據(jù)集包含許多特征 x1,x2.。.xn.接下來,為每個特征分配一個系數(shù) q,并記下該函數(shù)。這稱為假設(shè)函數(shù),hq(x):
hq(x) = q0* P1x1* P2x2* P3x3.。. + qnxn
訓(xùn)練機器意味著一組適當(dāng)?shù)?q (q0- P1- P2, 。.., qn) 被找到,以便假設(shè)輸出 hq(x)盡可能接近給定的答案(標(biāo)簽)。訓(xùn)練后,當(dāng)一組新特征 X (x1,x2, 。.., xn)提出時,假設(shè)函數(shù)將給出基于 q 的最優(yōu)集合的輸出。
查找 q 的一種方法是使用具有梯度下降的線性回歸。以下步驟是此方法的簡化說明:
1.選擇一組初始。..n.然后計算假設(shè)與給定答案 Y 之間的差值。這種差異通常稱為成本。
2.不斷向成本更低的方向發(fā)展。每次重新計算成本。重復(fù)此步驟,直到成本不再降低。
3.如果成本不再降低,我們已經(jīng)達(dá)到了一個最佳集合,該集合為我們提供了所有給定樣品的最低成本。
4.現(xiàn)在,如果給定一組新的X,則此集合可用于預(yù)測輸出。
梯度下降的名稱來自步驟 2 中更改 q 的方法。通過在梯度方向上更新 q,該算法保證它將收斂到最優(yōu)值。圖 3 顯示了梯度下降的圖形表示,以得到最小成本函數(shù) J(q0- P1)。
圖 3:梯度下降中的成本函數(shù) J 與參數(shù)集 q
如果步驟 2 中的成本計算是對所有給定的數(shù)據(jù)樣本完成的,則該方法稱為批量梯度下降。每次更新 q 時,該算法都會計算所有訓(xùn)練數(shù)據(jù)樣本的成本。這種計算方式為如何更改 q 提供了更好的方向。但是,如果給定的訓(xùn)練數(shù)據(jù)樣本集很大,則計算所有樣本的成本需要大量的計算能力。此外,系統(tǒng)必須在訓(xùn)練期間存儲所有數(shù)據(jù)樣本。
梯度下降的另一種方法是對數(shù)據(jù)樣本的子集執(zhí)行步驟 2。這種方法稱為隨機梯度下降。該算法在每次迭代時根據(jù)較小的數(shù)據(jù)樣本集更改 q。此方法可能需要更多迭代才能達(dá)到最佳 q,但它節(jié)省了大量的計算能力和潛在的時間,因為它不需要計算整個數(shù)據(jù)樣本集的成本。
使用隨機梯度下降方法,用于計算成本的最小樣本數(shù)為 1。如果 ML 算法在新數(shù)據(jù)樣本可用時優(yōu)化 q,我們可以將此 ML 算法視為基于順序數(shù)據(jù)樣本更新的持續(xù)行為。當(dāng)每個可用的數(shù)據(jù)樣本進(jìn)入時,算法會計算新的 q。因此,系統(tǒng)在每一步動態(tài)更新假設(shè)函數(shù)。此方法也稱為在線梯度下降或在線機器學(xué)習(xí)。
批量梯度下降與在線機器學(xué)習(xí)
在批量梯度下降和在線機器學(xué)習(xí)之間,后者具有適用于邊緣設(shè)備的某些特征。
1.無限的數(shù)據(jù)樣本
如前所述,邊緣設(shè)備通常配備傳感器或HMI,可以連續(xù)提供無窮無盡的數(shù)據(jù)樣本或人類反饋。因此,在線ML算法可以不斷從數(shù)據(jù)變化中學(xué)習(xí)并改進(jìn)假設(shè)。
2.計算能力
邊緣設(shè)備通常具有有限的計算能力。對大量數(shù)據(jù)樣本運行批量梯度下降算法可能不切實際。但是,通過一次計算一個數(shù)據(jù)樣本,就像在線ML一樣,MCU不必具有巨大的計算能力。
3.非易失性(NV)存儲器
Batch 梯度下降算法要求系統(tǒng)存儲整個訓(xùn)練集,該訓(xùn)練集必須駐留在非易失性存儲中,而在線 ML 算法則一次計算一個傳入的數(shù)據(jù)樣本。在線 ML 算法可能會丟棄數(shù)據(jù)或僅存儲一小組樣本,以節(jié)省非易失性存儲。這特別適用于非易失性存儲器可能受到限制的邊緣設(shè)備。
4.適應(yīng)性
想象一下,在線 ML 算法在邊緣設(shè)備上執(zhí)行語音識別。通過新的數(shù)據(jù)樣本不斷訓(xùn)練算法,系統(tǒng)可以動態(tài)地適應(yīng)特定的用戶和/或口音。
邊緣設(shè)備上 ML 的非易失性內(nèi)存要求
除MCU外,非易失性存儲器是設(shè)計執(zhí)行ML處理的邊緣設(shè)備的另一個重要因素。如果MCU為應(yīng)用軟件提供足夠的電子閃存,則嵌入式閃存是一個顯而易見的選擇。然而,隨著MCU技術(shù)節(jié)點的不斷縮小,電子閃存變得越來越難以集成。簡而言之,應(yīng)用軟件的增長超過了可用的電子閃存。在這種情況下,外部獨立NV閃存變得必要??紤]到不同類型NV閃存設(shè)備提供的可靠性、讀取吞吐量和就地執(zhí)行功能,NOR閃存通常是邊緣系統(tǒng)設(shè)計人員的首選。
要為 ML 構(gòu)建安全可靠的邊緣設(shè)備,有許多設(shè)計注意事項。以下是其中的幾個,可幫助設(shè)計人員決定使用哪種NV存儲器(參見圖4)。
1.安全啟動
所有嵌入式系統(tǒng)必須安全啟動。對于邊緣設(shè)備,安全啟動尤其重要,因為靠近人類訪問,因此存在潛在的安全攻擊風(fēng)險。通常,對于使用存儲下載 (SnD) 代碼模型的設(shè)備,啟動代碼存儲在非易失性內(nèi)存中,并下載到 RAM 中以執(zhí)行。如果非易失性存儲器不安全,黑客很容易替換或修改引導(dǎo)代碼以執(zhí)行惡意操作。因此,將引導(dǎo)代碼存儲在安全的非易失性存儲器中并在引導(dǎo)期間建立信任根是邊緣設(shè)備非常重要的考慮因素。
2.抗攻擊性
鑒于邊緣設(shè)備的連接性,邊緣設(shè)備的攻擊面無疑是巨大的。即使使用安全啟動,黑客也可能試圖通過各種攻擊方法從設(shè)備中竊取智能機密或隱私信息,例如被動監(jiān)控,主動重放攻擊,側(cè)信道攻擊等。使用能夠抵抗這些攻擊的非易失性存儲器可以大大降低系統(tǒng)暴露的風(fēng)險。
3.重要AI參數(shù)的安全存儲
ML 算法需要存儲參數(shù)的內(nèi)存,例如上面提到的參數(shù)集。這些參數(shù)是使用大量數(shù)據(jù)樣本集運行訓(xùn)練的結(jié)果。黑客可能對AI算法本身不感興趣,但最終結(jié)果往往是。如果黑客可以從存儲中竊取最終結(jié)果,他們就可以在不經(jīng)過任何訓(xùn)練的情況下模仿AI系統(tǒng)。這些參數(shù)(如參數(shù)集)直接影響 ML 方案和系統(tǒng)的智能。因此,它們應(yīng)存儲在黑客無意或故意更改的安全存儲中。提供這種安全存儲能力的非易失性存儲器將非常適合需要存儲敏感信息的邊緣設(shè)備。
4.快速吞吐量
雖然邊緣設(shè)備可能不需要功能強大的MCU來運行廣泛的ML算法,但它們可能仍然需要快速訪問非易失性存儲器,以實現(xiàn)快速安全啟動和良好的計算性能。
圖 4:使用機器學(xué)習(xí)的邊緣設(shè)備需要非易失性內(nèi)存,以支持安全啟動、抵御惡意攻擊、安全存儲和快速吞吐量,如此處所示的 Cypress Semper 安全 NOR 閃存。
在邊緣設(shè)備中實現(xiàn)智能化,使用戶數(shù)據(jù)的處理更接近其來源,這是一種工業(yè)趨勢。許多AI應(yīng)用程序可以部署在構(gòu)建智能和用戶友好系統(tǒng)的邊緣設(shè)備上。其中一種機器學(xué)習(xí)算法,在線機器學(xué)習(xí),不需要廣泛的計算能力,對變化有很大的適應(yīng)性,適用于邊緣設(shè)備。要在邊緣設(shè)備上構(gòu)建智能和安全的系統(tǒng),用戶可以選擇非易失性存儲器,這些存儲器提供信任根功能、安全存儲、快速吞吐量和抗惡意攻擊能力。
審核編輯:郭婷
-
mcu
+關(guān)注
關(guān)注
146文章
17847瀏覽量
360633 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8492瀏覽量
134118
發(fā)布評論請先 登錄
智聚邊緣 創(chuàng)見未來 貿(mào)澤電子2025技術(shù)創(chuàng)新論壇探討“邊緣AI與機器學(xué)習(xí)”新紀(jì)元
《RK3588核心板:AIoT邊緣計算的革命性引擎,能否解鎖智能物聯(lián)新范式?》
華邦電子安全閃存關(guān)鍵知識點
嵌入式機器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境

AI模型部署邊緣設(shè)備的奇妙之旅:邊緣端設(shè)備的局域網(wǎng)視頻流傳輸方案

傳統(tǒng)機器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

在邊緣設(shè)備上設(shè)計和部署深度神經(jīng)網(wǎng)絡(luò)的實用框架
如何在低功耗MCU上實現(xiàn)人工智能和機器學(xué)習(xí)
AI模型部署邊緣設(shè)備的奇妙之旅:如何在邊緣端部署OpenCV
邊緣計算網(wǎng)關(guān)可以采集什么設(shè)備數(shù)據(jù)

使用機器學(xué)習(xí)和NVIDIA Jetson邊緣AI和機器人平臺打造機器人導(dǎo)盲犬
邊緣計算與邊緣設(shè)備的關(guān)系
AI引擎機器學(xué)習(xí)陣列指南

用于控制邊緣設(shè)備的工業(yè)以太網(wǎng)到IO-link網(wǎng)關(guān)

評論