由于計算機體系結(jié)構(gòu)的革命性發(fā)展以及人工智能和機器學(xué)習(xí)應(yīng)用的突破性進展,嵌入式開發(fā)中的嵌入式系統(tǒng)技術(shù)正在經(jīng)歷一個轉(zhuǎn)型時期。
根據(jù)設(shè)計,機器學(xué)習(xí)模型使用大量資源,并需要強大的計算機基礎(chǔ)設(shè)施。因此,它們通常是具有更多資源的運行設(shè)備,如PC或云服務(wù)器,在這些設(shè)備上數(shù)據(jù)處理是高效的。由于機器學(xué)習(xí)和高級算法的最新發(fā)展,機器學(xué)習(xí)應(yīng)用程序、ML框架和處理器計算能力現(xiàn)在可以直接部署在嵌入式設(shè)備上。這被稱為嵌入式機器學(xué)習(xí)(E-ML)。
使用嵌入式機器學(xué)習(xí)技術(shù),處理過程更接近傳感器收集數(shù)據(jù)的邊緣。這有助于消除帶寬和連接問題、通過互聯(lián)網(wǎng)傳輸數(shù)據(jù)的安全漏洞以及數(shù)據(jù)傳輸功耗等障礙。此外,它支持使用神經(jīng)網(wǎng)絡(luò)和其他機器學(xué)習(xí)框架,以及信號處理服務(wù)、模型構(gòu)建、手勢識別等。根據(jù)最大化市場研究小組的報告,2021至2026年間,嵌入式人工智能的全球市場預(yù)計將以5.4%的復(fù)合年增長率擴張,達到約388.7億美元。
1.嵌入式機器學(xué)習(xí)的基本概念
今天,在嵌入式開發(fā)中,嵌入式計算系統(tǒng)正在迅速擴展到人類事業(yè)的各個領(lǐng)域,在可穿戴健康監(jiān)控系統(tǒng)、無線監(jiān)控系統(tǒng)、物聯(lián)網(wǎng)(IoT)網(wǎng)絡(luò)系統(tǒng)、家庭自動化智能設(shè)備以及汽車防抱死制動系統(tǒng)等領(lǐng)域都有實際應(yīng)用。
用于嵌入式平臺的常見ML技術(shù)包括SVM(支持向量機)、CNN(卷積神經(jīng)網(wǎng)絡(luò))、DNN(深度神經(jīng)網(wǎng)絡(luò)),k-NNs(k-Nearest Neighbour)和Naive Bayes。使用這些技術(shù)進行有效的訓(xùn)練和推理需要大量的處理和存儲資源。即使有深度緩存內(nèi)存結(jié)構(gòu)、多核改進等,通用CPU也無法處理深度學(xué)習(xí)模型的高計算需求??梢酝ㄟ^利用諸如GPU和TPU處理器的資源來克服這些限制。這主要是因為復(fù)雜的線性代數(shù)計算(如矩陣和向量運算)是非平凡的深度學(xué)習(xí)應(yīng)用程序的組成部分。深度學(xué)習(xí)算法可以在GPU和TPU上非常有效和快速地運行,這使它們成為理想的計算平臺。
在嵌入式硬件上運行機器學(xué)習(xí)模型被稱為嵌入式機器學(xué)習(xí)。后者根據(jù)以下基本原則工作:當模型執(zhí)行和推理過程發(fā)生在嵌入式設(shè)備上時,ML模型(如神經(jīng)網(wǎng)絡(luò))的訓(xùn)練發(fā)生在計算集群或云中。與普遍的觀點相反,事實證明,深度學(xué)習(xí)矩陣運算可以在CPU能力受限的硬件上,甚至在16位/32位微控制器上有效執(zhí)行。在嵌入式開發(fā)中,使用極小硬件(如超低功耗微控制器)運行ML模型的嵌入式機器學(xué)習(xí)類型稱為TinyML。
機器學(xué)習(xí)方法可分為三大類:強化學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和監(jiān)督學(xué)習(xí)。在監(jiān)督學(xué)習(xí)中,可以學(xué)習(xí)標記數(shù)據(jù);在無監(jiān)督學(xué)習(xí)中,可以發(fā)現(xiàn)未標記數(shù)據(jù)中的隱藏模式;在強化學(xué)習(xí)中,系統(tǒng)可以通過試錯方法從其直接環(huán)境中學(xué)習(xí)。學(xué)習(xí)過程被稱為模型的“訓(xùn)練階段”,它經(jīng)常利用具有大量處理能力的計算機架構(gòu)(如幾個GPU)來執(zhí)行。然后將訓(xùn)練后的模型應(yīng)用于新數(shù)據(jù),以在學(xué)習(xí)后做出智能決策。實現(xiàn)的推理階段被稱為這個過程。物聯(lián)網(wǎng)和移動計算設(shè)備,以及處理資源有限的其他用戶設(shè)備,通常用于進行推斷。
2.機器學(xué)習(xí)技術(shù)
嵌入式機器學(xué)習(xí)的應(yīng)用領(lǐng)域
智能傳感器系統(tǒng)
機器學(xué)習(xí)技術(shù)在嵌入式傳感器網(wǎng)絡(luò)系統(tǒng)中的有效應(yīng)用引起了極大的興趣。許多機器學(xué)習(xí)算法,包括GMM(高斯混合模型)、SVM和DNN,正在移動自組織網(wǎng)絡(luò)、智能穿戴系統(tǒng)和智能傳感器網(wǎng)絡(luò)等重要領(lǐng)域得到了實際應(yīng)用。
異構(gòu)計算系統(tǒng)
包含多種類型處理核心的計算機系統(tǒng)被稱為異構(gòu)計算系統(tǒng)。在嵌入式開發(fā)中,大多數(shù)異構(gòu)計算系統(tǒng)被用作加速單元,以將計算要求較高的任務(wù)從CPU轉(zhuǎn)移并加快系統(tǒng)速度。異構(gòu)多核架構(gòu)是一個應(yīng)用領(lǐng)域,在該領(lǐng)域中,為了加快計算成本高昂的機器學(xué)習(xí)技術(shù),中間件平臺將GPU加速器集成到現(xiàn)有的基于CPU的架構(gòu)中,從而提高ML數(shù)據(jù)模型集的處理效率。
嵌入式FPGA
由于其低成本、高性能、能源經(jīng)濟性和靈活性,FPGA在計算行業(yè)中越來越受歡迎。它們經(jīng)常用于預(yù)實現(xiàn)ASIC架構(gòu)和設(shè)計加速單元。使用FPGA和基于OpenCL的FPGA硬件加速的CNN優(yōu)化是FPGA架構(gòu)用于加速機器學(xué)習(xí)模型執(zhí)行的應(yīng)用領(lǐng)域。
3.優(yōu)勢
高效的網(wǎng)絡(luò)帶寬和功耗
在嵌入式硬件上運行的機器學(xué)習(xí)模型使直接從數(shù)據(jù)源提取特征和見解成為可能。因此,不再需要將相關(guān)數(shù)據(jù)傳輸?shù)竭吘壔蛟品?wù)器,從而節(jié)省了帶寬和系統(tǒng)資源。微控制器是許多節(jié)能嵌入式系統(tǒng)中的一種,它們可以在不充電的情況下長時間運行。與在消耗大量電力的移動計算系統(tǒng)上執(zhí)行的機器學(xué)習(xí)應(yīng)用程序相比,TinyML可以在更大程度上提高嵌入式平臺的機器學(xué)習(xí)應(yīng)用的電力自主性。
全面隱私
在嵌入式開發(fā)中,嵌入式機器學(xué)習(xí)無需在云服務(wù)器上進行數(shù)據(jù)傳輸和存儲。這降低了數(shù)據(jù)泄露和隱私泄露的可能性,這對于處理個人信息、醫(yī)療數(shù)據(jù)、知識產(chǎn)權(quán)(IP)信息和機密信息等敏感數(shù)據(jù)的應(yīng)用程序至關(guān)重要。
低延遲
嵌入式ML支持低延遲操作,因為它消除了向云傳輸大量數(shù)據(jù)的需求。因此,當涉及到在各種工業(yè)場景中實現(xiàn)現(xiàn)場驅(qū)動和控制等實時用例時,嵌入式機器學(xué)習(xí)是一個很好的選擇。
嵌入式機器學(xué)習(xí)應(yīng)用程序是使用能夠在資源有限的節(jié)點上創(chuàng)建和部署機器學(xué)習(xí)模型的方法和工具構(gòu)建的。在嵌入式開發(fā)中,它們?yōu)橄M畲蠡瘮?shù)據(jù)價值的企業(yè)提供了大量創(chuàng)新機會,它還幫助優(yōu)化其機器學(xué)習(xí)應(yīng)用程序的帶寬、空間和延遲。