<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 嵌入式人工智能技術(shù)開(kāi)發(fā)及應用

嵌入式人工智能技術(shù)開(kāi)發(fā)及應用

作者:畢盛 時(shí)間:2019-04-28 來(lái)源:電子產(chǎn)品世界 收藏

  Development and application of embedded AI technology

本文引用地址:http://dyxdggzs.com/article/201904/400008.htm

      作者/畢盛 華南理工大學(xué) 計算機科學(xué)與工程學(xué)院(廣東 廣州 510006)

  摘要:算法如何有效地運行在嵌入式智能終端(即邊緣計算)是近年研究的熱點(diǎn),本文從嵌入式技術(shù)研究的意義以及所面臨的問(wèn)題入手,并從硬件平臺、算法設計以及算法部署三個(gè)方面展開(kāi),闡述嵌入式技術(shù)開(kāi)發(fā)的思路,最后通過(guò)一個(gè)應用實(shí)例說(shuō)明此開(kāi)發(fā)過(guò)程。

  關(guān)鍵詞:邊緣計算;嵌入式系統;人工智能

  1 研究意義

  隨著(zhù)“AIoT(人工智能物聯(lián)網(wǎng))=AI(人工智能)+IoT(物聯(lián)網(wǎng))”的發(fā)展,若把算法都部署在云平臺上進(jìn)行,會(huì )給網(wǎng)絡(luò )通信帶來(lái)不小的壓力,并且會(huì )面臨數據傳輸的延遲性以及安全性等問(wèn)題,因此并不是所有的智能終端都需要利用云平臺來(lái)運行,因此如何在智能終端上直接運行算法的邊緣計算應運而生。

  邊緣計算相對于云平臺有如下優(yōu)勢:(1)實(shí)時(shí)性高,不需要傳輸數據從而減少反應延遲;(2)可靠性高,即使網(wǎng)絡(luò )斷開(kāi)也能正常工作;(3)安全性高,避免隱私數據被上傳;(4)部署靈活,可在各種終端靈活部署;(5)更加節能,嵌入式系統低功耗特性以及減少了傳輸過(guò)程的能耗等;(6)網(wǎng)絡(luò )流量低,有效抑制了網(wǎng)絡(luò )擁塞;(7)類(lèi)人化,人就是作為獨立的智能體生存在社會(huì )網(wǎng)絡(luò )中。

  當然邊緣計算不是為了代替云計算,而是作為云計算的一個(gè)補充。

  據IDC預測,到2020年將有超過(guò)500億的終端與設備聯(lián)網(wǎng),而有50%的物聯(lián)網(wǎng)網(wǎng)絡(luò )將面臨網(wǎng)絡(luò )帶寬的限制,40%的數據需要在網(wǎng)絡(luò )邊緣分析、處理與儲存。邊緣計算市場(chǎng)規模將超萬(wàn)億,成為與云計算平分秋色的新興市場(chǎng) [1] 。因此吸引越來(lái)越多的公司加入到邊緣計算開(kāi)發(fā)當中。

  2 邊緣計算的挑戰與機會(huì )

  邊緣計算就是在嵌入式平臺上能有效地運行各種智能算法,從而使終端具有類(lèi)似人一樣的智能。如圖1所示,智能算法大致可以歸為三類(lèi):(1)認知環(huán)境,其中包括物體識別、目標檢測、語(yǔ)義分割和特征提取功能,涉及了模式識別、機器學(xué)習和深度學(xué)習等技術(shù);(2)顯示場(chǎng)景,其中包括復原算法、三維點(diǎn)云展示和場(chǎng)景生成,涉及了最優(yōu)化、虛擬現實(shí)、深度學(xué)習GAN網(wǎng)絡(luò )等技術(shù);(3)控制機構,其中包括智能控制,涉及了強化學(xué)習、控制等技術(shù)。但是邊緣計算環(huán)境下嵌入式平臺的運算能力弱,因此如何能有效的運行各種智能算法是一個(gè)很挑戰的問(wèn)題。

1556600108272703.png

  隨著(zhù)人們對人工智能越來(lái)越深入的研究,邊緣計算也有了一系列發(fā)展的機會(huì ):(1)目前通用的計算機體系硬件體系結構并不符合人腦的結構構成,所以計算效能還有很大的提升潛力,因此這為邊緣計算平臺提供了彎道超車(chē)的可能性;(2)當前的智能算法還有很大改進(jìn)的空間,例如通過(guò)深度學(xué)習訓練出的特征往往優(yōu)于人們傳統認識的特征(例如邊緣和角點(diǎn)特征等),因此這為邊緣計算在算法改進(jìn)上提供了很大空間;(3)邊緣計算平臺即嵌入式系統往往是實(shí)現某種特定的應用,因此可以根據需求對算法進(jìn)行各種簡(jiǎn)化,并且可提出合適的部署方案。

  結合邊緣計算所面臨的挑戰和機會(huì ),本文從硬件架構、算法設計和算法部署三個(gè)方面展開(kāi)邊緣計算的開(kāi)發(fā)和應用。

  3 邊緣計算環(huán)境下的硬件架構

  人工智能(AI)從云端走向邊緣端,需要嵌入式硬件有較好的運算能力,因此各芯片廠(chǎng)家在芯片內部集成了便于加速運算的硬件模塊,其中包括如下。

 ?。?)多核處理架構。其中異構多核架構即結合兩種或多種不同類(lèi)型的芯片內核架構,使其能夠提供適合各種應用的處理器性能,以及更有效功耗和更少的物理空間,近年來(lái)在嵌入式領(lǐng)域得到了大范圍推廣,例如現在推出的高性能ARM核芯片瑞芯微RK3399等是基于異構多核架構的。

 ?。?)嵌入式GPU。嵌入式芯片內部集成GPU,從而提高顯示處理能力,并在邊緣計算環(huán)境下實(shí)現并行加速計算,主要有兩種類(lèi)型:堆核,如ARM芯片采用的Mali GPU;大核,如高通公司采用的Adreno GPU。

 ?。?)處理器(NPU)。采用“數據驅動(dòng)并行計算”架構,顛覆了傳統馮·諾依曼計算機架構,從而可以加速深度學(xué)習算法,如瑞芯微RK3399Pro、寒武紀MLU100、華為麒麟980和高通驍龍855等芯片。

 ?。?)數字信號處理DSP。DSP內部集成了硬件乘法器、多總線(xiàn)和信號處理單元,通過(guò)DSP指令集可實(shí)現算法的硬件加速,例如TI、ADI等公司專(zhuān)用的DSP芯片,Xilinx公司、英特爾可編程解決方案事業(yè)部(注:英收購的Altera公司)的FPGA集成了DSP單元。

 ?。?)基于算法定制化的ASIC——XPU和DLA。

  根據需求設計特定人工智能算法芯片“xPU”,例如APU、BPU等,以及Google公司推出的張量處理器TPU。 英偉達提供了的DLA(深度學(xué)習加速器),并進(jìn)行開(kāi)源,瞄準了嵌入式和 IoT 市場(chǎng)。

 ?。?)芯片內核加速單元—ARM核NEON。ARMNEON是單指令多數據流(SIMD)技術(shù),可用于加速多媒體和信號處理算法,例如一些針對ARM芯片的前端部署方案諸如NCNN [2] 采用NEON對深度學(xué)習的卷積運算進(jìn)行加速。

 ?。?)類(lèi)人腦芯片。例如IBM公司的TrueNorth(真北),模擬人腦設計的64芯片系統,數據處理能力已經(jīng)相當于包含6400萬(wàn)個(gè)神經(jīng)細胞和160億個(gè)神經(jīng)突觸的類(lèi)腦功能。

  4 邊緣計算算法設計

  設計適合于邊緣計算環(huán)境下運行的算法,如圖2所示,主要從以下幾方面進(jìn)行考慮:

1557132382249868.jpg

 ?。?)在對外界環(huán)境認知過(guò)程中,如何有效地提取特征很重要,從邊緣特征提取方法到壓縮感知理論以及到基于深度學(xué)習的特征提取方法,都是在研究一種有效特征提取方法,因此可以針對嵌入式平臺研究一種在精度和速度上相互兼顧的方法。

 ?。?)嵌入式系統往往是針對一個(gè)具體的應用,而算法研究要考慮到普適性,所以在邊緣計算環(huán)境下可以結合具體的應用對算法進(jìn)行改進(jìn),從而減少計算量提高運算速度,例如可以把面向未知場(chǎng)景的全局優(yōu)化搜索問(wèn)題轉為針對某個(gè)具體場(chǎng)景的局部?jì)?yōu)化問(wèn)題。

 ?。?)利用傳感器直接采集數據代替算法對此信息的估計過(guò)程,從而降低算法運算量。例如單獨根據視覺(jué)計算出相機的位姿,可以通過(guò)結合慣性傳感器(IMU)來(lái)降低計算量使其適合于邊緣計算環(huán)境下運行。

 ?。?)在深度學(xué)習過(guò)程中,需要對網(wǎng)絡(luò )進(jìn)行簡(jiǎn)化,主要包括:1) 刪除對模型性能影響不大的卷積核;2)深度可分離卷積和1×1卷積代替普通卷積;3)浮點(diǎn)數進(jìn)行整形量化,二值化網(wǎng)絡(luò )中參數用1位來(lái)表示;4)精簡(jiǎn)模型學(xué)習復雜模型的輸出。例如Google公司的MobileNet [3] 、伯克利與斯坦福大學(xué)的SqueezeNet [4] 和Face++公司的ShuffleNet [5] 等,采用了輕量級的網(wǎng)絡(luò )結構,且保持了較為實(shí)用的準確率。


1557132400471583.jpg

1557132400403949.jpg

  5 邊緣計算前端部署

  邊緣計算算法可以借助硬件加速來(lái)提高運行效率,例如瑞芯微RK3399、高通驍龍855或華為麒麟980芯片都是基于A(yíng)RM核,采用了多核、Mali GPU以及支持ARM NEON加速。其中在異構多核處理器調度方面,針對優(yōu)化目標分別從滿(mǎn)足性能、功耗優(yōu)化、滿(mǎn)足公平性和并發(fā)程序瓶頸優(yōu)化等方面進(jìn)行優(yōu)化部署,除了利用多核特性實(shí)現對算法的整體調度優(yōu)化外,深度學(xué)習等智能算法也需要硬件加速,如圖3所示,可以利用ARM NEON單元實(shí)現卷積運算的加速。每次1x1卷積操作時(shí),將輸出特征圖按照8個(gè)每組使用OpenMP平分給設備可調用的每個(gè)CPU以充分利用硬件資源。之后針對每8個(gè)輸出特征圖,會(huì )以1x8的小塊為單位同時(shí)進(jìn)行8個(gè)輸出特征圖的計算。

  一些公司也開(kāi)發(fā)了前端部署方案,例如ARM公司OPEN AI LAB的Tengine框架 [6] 、Google公司的TensorFlow Lite [7] 、騰訊公司的NCNN框架 [2] ,小米公司的MACE框架 [8] 和百度公司的Mobile-deep-learning [9] 、亞馬遜公司的TVM [10]和美國高通公司的 SNPE [11] 等,都是通過(guò)借助多核和加速單元實(shí)現卷積的快速計算,從而在移動(dòng)設備上有效的實(shí)現深度學(xué)習算法。

  同時(shí)針對具體硬件平臺,ARM公司OPENAI LAB開(kāi)發(fā)了基于RK3399芯片的EAIDK開(kāi)發(fā)套件 [6] 、中科創(chuàng )達公司開(kāi)發(fā)了基于高通驍龍845芯片Thundercomm TurboX AI Kit開(kāi)發(fā)套件 [12] 、NVIDIA Jetson Nano開(kāi)發(fā)套件等 [13] 。

  6 邊緣計算實(shí)例

  本實(shí)驗室的張英杰、張粵和李智豪三位同學(xué)在邊緣計算環(huán)境Thundercomm AI Kit平臺上實(shí)現了結合自然語(yǔ)言理解和環(huán)境認知的智能服務(wù)系統,用于機器人結合場(chǎng)景的對話(huà)系統中,如圖4所示。例如人問(wèn)機器人“瓶子在哪里”,機器人通過(guò)自然語(yǔ)言處理得到語(yǔ)義文本信息;與此同時(shí),機器人對視覺(jué)圖片也在進(jìn)行目標檢測,根據訓練樣本集VOC的物體類(lèi)別,在圖片中可以識別出“瓶子”和“顯示器”并框選出來(lái);接著(zhù)通過(guò)相似度的評價(jià)方法對語(yǔ)言理解語(yǔ)義和視覺(jué)認知的物體名稱(chēng)進(jìn)行匹配,并根據物體的坐標信息,可得出“瓶子在顯示器右側”。

  整個(gè)過(guò)程主要包括:(1)自然語(yǔ)言理解,由于語(yǔ)音數據量不大,同時(shí)有較多的基于云端的商業(yè)解決方案,因此借助訊飛公司的語(yǔ)音識別SDK實(shí)現語(yǔ)音處理,獲得語(yǔ)義文本;(2)物體目標檢測采用深度學(xué)習的思路實(shí)現,但傳統的深度網(wǎng)絡(luò )計算量大,不能在邊緣端運行,因此需要對網(wǎng)絡(luò )輕量化并選取合適的前端硬件部署方案,本項目利用VOC數據集在Caffe框架下訓練MobileNet-SSD輕量級深度網(wǎng)絡(luò ),并利用NCNN框架實(shí)現在硬件上的部署;(3)利用相似度評價(jià)方法實(shí)現文本語(yǔ)義和物體指稱(chēng)的匹配,最終確定出物體的相對位置。

  相對于傳統的非場(chǎng)景對話(huà)系統,本系統人機交互程度高,可用于人與機器人協(xié)作過(guò)程中,同時(shí)整個(gè)系統在嵌入式平臺上進(jìn)行了實(shí)現并成功部署。本系統參加了2018年中科創(chuàng )達技術(shù)大會(huì )并進(jìn)行了現場(chǎng)實(shí)物演示,獲得了一等獎。

  參考文獻

  [1]胡又文 (ID:axzqjsj),華爾街見(jiàn)聞專(zhuān)欄作者,邊緣計算,5G時(shí)代新風(fēng)口,https://wallstreetcn.com/articles/3487892,2019.03.05

  [2] NCNN[eb/ol], https://github.com/Tencent/ncnn

  [3] Howard A G, Zhu M, Chen B, et al. MobileNets: Efficient Convolutional Neural Networks forMobile Vision Applications[J/OL]. https://arxiv.org/pdf/1704.04861.pdf, 2017.

  [4] Iandola F N, Moskewicz M W, Ashraf K, et al. SqueezeNet: AlexNet-level accuracy with 50xfewer parameters and <1MB model size[J/OL]. https://arxiv.org/pdf/1602.07360.pdf, 2016.

  [5] Zhang X, Zhou X, Lin M, et al. ShuffleNet: An Extremely Efficient Convolutional NeuralNetwork for Mobile Devices[J/OL]. https://arxiv.org/pdf/1707.01083.pdf, 2017.

  [6] Tengine[eb/ol], http://www.openailab.com/, 2019,2019.04.10

  [7] TensorFlow Lite[eb/ol],https://tensorflow.google.cn/lite/, 2019.04.10

  [8] MACE[eb/ol], https://github.com/XiaoMi/mace/blob/master/README_zh.md, 2019.04.10

  [9] Mobile-deep-learning[eb/ol], https://github.com/PaddlePaddle/paddle-mobile, 2019.04.10

  [10] TVM[eb/ol], https://tvm.ai/,2019.04.10

  [11] SNPE[eb/ol] , https://developer.qualcomm.com/docs/snpe/overview.html,2019.04.10

  [12] Thundercomm TurboX AI Kit[eb/ol],https://www.thundercomm.com/app_zh/product/1536844968290219,2019.04.10

  [13] NVIDIA Jetson Nano[eb/ol], https://www.nvidia.cn/autonomous-machines/embedded-systems/jetson-nano/,2019.04.10

  作者簡(jiǎn)介

  畢盛(1978-),男,博士,副教授,主要從事智能機器人、FPGA快速處理算法、嵌入式智能終端及智能手機研究和開(kāi)發(fā)工作。

  本文來(lái)源于科技期刊《電子產(chǎn)品世界》2019年第5期第14頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>