列表多圖
上一頁(yè) 1 下一頁(yè)

人工智能和機(jī)器學(xué)習(xí)在嵌入式系統(tǒng)中的實(shí)際應(yīng)用

   嵌入式開(kāi)發(fā)通常是由部署高度優(yōu)化和高效系統(tǒng)的需要驅(qū)動(dòng)的。人工智能的定位是通過(guò)啟用解決復(fù)雜問(wèn)題的新方法或威脅整個(gè)業(yè)務(wù)部門或工作類型的現(xiàn)狀來(lái)破壞業(yè)務(wù)。

定義和基本原則

人工智能是一門計(jì)算機(jī)科學(xué)學(xué)科,研究如何使用計(jì)算機(jī)來(lái)模仿人類智能。自20世紀(jì)計(jì)算誕生之初,人工智能就已經(jīng)存在,當(dāng)時(shí)艾倫·圖靈等先驅(qū)預(yù)見(jiàn)了計(jì)算機(jī)以與人類類似的方式解決問(wèn)題的可能性。

經(jīng)典計(jì)算機(jī)編程通過(guò)在代碼中明確編碼算法、引導(dǎo)計(jì)算機(jī)執(zhí)行邏輯來(lái)處理數(shù)據(jù)并計(jì)算輸出來(lái)解決問(wèn)題。相比之下,機(jī)器學(xué)習(xí)(ML)是一種AI方法,旨在尋找數(shù)據(jù)中的模式,基于數(shù)據(jù)進(jìn)行有效學(xué)習(xí)。有很多方法可以實(shí)現(xiàn)這一點(diǎn),包括預(yù)先標(biāo)記數(shù)據(jù)(或不標(biāo)記)、強(qiáng)化學(xué)習(xí)來(lái)指導(dǎo)算法開(kāi)發(fā)、通過(guò)統(tǒng)計(jì)分析(或其他一些方法)提取特征,然后根據(jù)這個(gè)經(jīng)過(guò)訓(xùn)練的數(shù)據(jù)集對(duì)輸入數(shù)據(jù)進(jìn)行分類以規(guī)定的置信度確定輸出。

深度學(xué)習(xí)(DL)ML的一個(gè)子集,它使用多層神經(jīng)網(wǎng)絡(luò)從大數(shù)據(jù)集迭代地訓(xùn)練模型。訓(xùn)練完成后,模型可以查看新數(shù)據(jù)集以對(duì)新數(shù)據(jù)進(jìn)行推斷。這種方法最近獲得了很多關(guān)注,并已應(yīng)用于各種問(wèn)題,如圖像處理和語(yǔ)音識(shí)別或金融資產(chǎn)建模。我們認(rèn)為這種方法也會(huì)對(duì)未來(lái)的關(guān)鍵基礎(chǔ)設(shè)施和設(shè)備產(chǎn)生重大影響。

在嵌入式系統(tǒng)中應(yīng)用 ML/DL

由于創(chuàng)建精確模型需要大量數(shù)據(jù)集,并且訓(xùn)練模型需要大量計(jì)算能力,因此訓(xùn)練通常在云或高性能計(jì)算環(huán)境中進(jìn)行。相比之下,推理通常應(yīng)用于靠近數(shù)據(jù)源的設(shè)備。盡管分布式或邊緣訓(xùn)練是一個(gè)非常有趣的話題,但這并不是當(dāng)今大多數(shù)ML系統(tǒng)的部署方式。為簡(jiǎn)單起見(jiàn),我們假設(shè)訓(xùn)練在云端進(jìn)行,推理將在邊緣或設(shè)備內(nèi)進(jìn)行。

正如我們所描述的,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)是以數(shù)據(jù)為中心的學(xué)科。因此,創(chuàng)建和訓(xùn)練模型需要訪問(wèn)大型數(shù)據(jù)集,以及為數(shù)據(jù)操作提供豐富環(huán)境的工具和環(huán)境。使用簡(jiǎn)化數(shù)據(jù)操作并實(shí)現(xiàn)復(fù)雜數(shù)學(xué)庫(kù)和統(tǒng)計(jì)分析的框架和語(yǔ)言。通常這些是語(yǔ)言框架,例如Python,然后在其上構(gòu)建ML框架。有很多這樣的框架,但一些常見(jiàn)的框架包括TensorFlowCaffe PyTorch

         ML框架可用于模型開(kāi)發(fā)和訓(xùn)練,也可用于在邊緣使用經(jīng)過(guò)訓(xùn)練的模型運(yùn)行推理引擎。因此,一個(gè)簡(jiǎn)單的部署場(chǎng)景是在設(shè)備中部署TensorFlow等框架。由于這些需要豐富的運(yùn)行時(shí)環(huán)境(例如Python),因此它們最適合Linux上的通用計(jì)算工作負(fù)載。由于需要在移動(dòng)設(shè)備中運(yùn)行ML,我們看到許多輕量級(jí)推理引擎(TensorFlow LitePyTorch mobile)開(kāi)始開(kāi)發(fā),它們需要更少的資源,但這些引擎尚未廣泛可用或成熟作為他們?nèi)δ艿母改浮?/span>

某些模型無(wú)需完整的ML框架即可解釋和運(yùn)行。例如,OpenCV是一種包含深度/卷積神經(jīng)網(wǎng)絡(luò)(DNN/CNN) 庫(kù)的計(jì)算機(jī)視覺(jué)框架,可以從TensorFlow和其他框架中讀取模型。OpenCV DNN庫(kù)可用于許多不支持更復(fù)雜或功能齊全的ML框架的緊湊型操作環(huán)境,因此第二個(gè)部署選項(xiàng)是使用OpenCV等框架部署推理引擎。

ML是高度計(jì)算密集型的,早期部署(例如在自動(dòng)駕駛汽車中)依賴于專用硬件加速器,例如GPUFPGA或?qū)S蒙窠?jīng)網(wǎng)絡(luò)。隨著這些加速器在SoC中變得越來(lái)越普遍,我們可以期待看到在受限設(shè)備中運(yùn)行DL模型的高效引擎。發(fā)生這種情況時(shí),另一個(gè)部署選項(xiàng)將是編譯經(jīng)過(guò)訓(xùn)練的模型,以便在DNN加速器上進(jìn)行優(yōu)化部署。一些此類工具已經(jīng)存在,并且需要現(xiàn)代編譯器框架(例如 LLVM)來(lái)針對(duì)模型前端和硬件加速器后端。

對(duì)嵌入式開(kāi)發(fā)的影響

嵌入式開(kāi)發(fā)通常是由部署高度優(yōu)化和高效系統(tǒng)的需要驅(qū)動(dòng)的。經(jīng)典的開(kāi)發(fā)方法是從非常受限的硬件和軟件環(huán)境開(kāi)始,并僅在需要時(shí)添加功能。這是RTOS應(yīng)用程序的典型領(lǐng)域。

隨著技術(shù)的快速變化,我們看到開(kāi)發(fā)方法從使復(fù)雜的系統(tǒng)工作開(kāi)始,然后在后期優(yōu)化部署。與軟件的許多重大進(jìn)步一樣,開(kāi)源社區(qū)是我們?cè)?/span>ML中看到的創(chuàng)新步伐和規(guī)模的重要驅(qū)動(dòng)力。采用源自開(kāi)源并通常從Linux開(kāi)發(fā)開(kāi)始的工具和框架正迅速成為主要的創(chuàng)新途徑。因此,同時(shí)使用實(shí)時(shí)操作系統(tǒng)(RTOS)Linux,或?qū)㈤_(kāi)源從Linux遷移到RTOS,是必須支持的重要開(kāi)發(fā)人員旅程。

  無(wú)論公司是剛剛開(kāi)始還是準(zhǔn)備部署優(yōu)化的機(jī)器學(xué)習(xí)解決方案,他們都必須構(gòu)建基礎(chǔ)技術(shù)和豐富的開(kāi)發(fā)環(huán)境來(lái)抽象復(fù)雜性并支持異構(gòu)運(yùn)行時(shí)環(huán)境。


0755-88879880
QQ聯(lián)系方式:52609913
地址:深圳市南山區(qū)西麗龍珠三路光前工業(yè)區(qū)21棟4、5樓


深圳市朗銳智科實(shí)業(yè)有限公司專注于工業(yè)主板、嵌入式主板、工控機(jī)、圖像采集卡的方案實(shí)施,高效地硬件開(kāi)發(fā)能力,提供從云到端的全流程產(chǎn)品研發(fā)和生產(chǎn)服 務(wù),硬件設(shè)計(jì)涵蓋單片機(jī)、armx86DSP等平臺(tái),應(yīng)用技術(shù)從數(shù)據(jù)采集 ,工業(yè)通訊,自動(dòng)化控制到機(jī)器視覺(jué)等,服務(wù)領(lǐng)域從電梯安全、油田監(jiān) 控、環(huán)保監(jiān)測(cè)、鐵路安全、現(xiàn)代化農(nóng)業(yè)到醫(yī)療健康等。

——————
熱線電話
0755-88879880
18929376664
微信在線客服