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