嵌入式人工智能是計(jì)算機(jī)視覺(jué)的一個(gè)方向,,隨著深度學(xué)習(xí)的興起,,在算法層面的準(zhǔn)確度也相應(yīng)提高,,與之前相比,嵌入式人工智能的視頻分析就是把云端或本地服務(wù)器的處理能力放到嵌入式系統(tǒng)上,,使得它能夠非常低功耗和實(shí)時(shí)的進(jìn)行本地處理,。
嵌入式人工智能顧名思義就是機(jī)器和人的交互。目前來(lái)看,,我們身邊許多嵌入式人工智能設(shè)備,,如攝像頭、機(jī)器人等,,它們都需要強(qiáng)大的本地實(shí)時(shí)交互,、計(jì)算的能力,這也意味著前端設(shè)備上需要有智能化的能力,。
嵌入式人工智能環(huán)境感知方面,,需要實(shí)時(shí)的理解和響應(yīng),即使網(wǎng)絡(luò)條件差,,或者沒(méi)有網(wǎng)絡(luò),,也需要能夠正常工作。為了解決這些問(wèn)題,深度學(xué)習(xí)必須在前端有限的計(jì)算資源和功耗下運(yùn)行,。
然而嵌入式人工智能深度學(xué)習(xí)算法,,計(jì)算量非常大,通常需要運(yùn)行在高性能的服務(wù)器上,,對(duì)于在前端運(yùn)行提出了非常高的要求,。這些正是嵌入式視覺(jué)的機(jī)遇與挑戰(zhàn)。
深度學(xué)習(xí)針對(duì)嵌入式人工智能方面的優(yōu)化,,主要有網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化,模型壓縮,,定點(diǎn)化,,二值化,結(jié)合SIMD,,緩存,,多線程,異構(gòu)計(jì)算的優(yōu)化,。
網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化
基于一個(gè)初始版本,,對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,某些層的修改,,參數(shù)的調(diào)整,,使得它能夠在不降低精度的情況下速度更快。
模型壓縮剪枝
把一些不必要的分支給砍掉,,在進(jìn)行一個(gè)預(yù)測(cè)的時(shí)候,,計(jì)算量相對(duì)會(huì)減少一些,速度變快,。
定點(diǎn)化,,二值化
深度學(xué)習(xí)模型的參數(shù)都是浮點(diǎn)數(shù),相對(duì)來(lái)說(shuō)它的計(jì)算比整數(shù)要復(fù)雜一些,,特別在一些低端的芯片,,乘法器都不夠多的情況下,浮點(diǎn)的性能就會(huì)比較差,。如果把它轉(zhuǎn)成定點(diǎn)整數(shù)運(yùn)算,,那么在精度下降1%的情況下,它的速度將會(huì)帶來(lái)幾倍的提升,。
二值化比定點(diǎn)化更進(jìn)一步,,一個(gè)權(quán)重值只占用一個(gè)比特,并且可以將乘法運(yùn)行轉(zhuǎn)換為異或操作,,在特定硬件上并行性會(huì)更高,,執(zhí)行速度會(huì)更快,非常適合在低端芯片上使用。
SIMD,,緩存,,多線程
SIMD,單指令多數(shù)據(jù),一次一條指令做多個(gè)操作,,增加緩存命中,,減少內(nèi)存訪問(wèn)。一些不同的算法如果放在不同的線程中去跑,,對(duì)外提供的整體組合的效果會(huì)非常的快,。
異構(gòu)計(jì)算
與硬件相關(guān)比較大,根據(jù)我選擇的不同的硬件,、不同的方案,、定制化指令的不同,硬件選擇都會(huì)接觸到異構(gòu)計(jì)算,。
將高性能服務(wù)器上運(yùn)行的算法,,遷移到嵌入式平臺(tái)實(shí)時(shí)運(yùn)行,其難度非常大,,除了算法軟件層面的優(yōu)化,,還需要充分利用硬件提供的計(jì)算能力。在硬件選擇方面,,更是需要選取最適合的方案才能搭配出最優(yōu)的性價(jià)比,。
硬件選擇
ASIC專用芯片
在人工智能早期,只有少數(shù)公司用到這個(gè)方案,,所以它的受眾并不會(huì)特別大,。
基于GPU的方案
GPU中有多核并發(fā)的優(yōu)勢(shì),在上面運(yùn)行深度學(xué)習(xí)的復(fù)雜運(yùn)算時(shí),,可以進(jìn)行并行運(yùn)算,。同時(shí),GPU本身支持定點(diǎn),、,、浮點(diǎn)的操作,用GPU方案,,相對(duì)來(lái)說(shuō)能達(dá)到一個(gè)幾倍的加速,。
基于FPGA的方案
FPGA對(duì)開(kāi)發(fā)人員的要求非常高,首先要對(duì)軟件很熟悉,,又要非常熟悉硬件,,現(xiàn)在有些公司提供的一些解決方案,相當(dāng)于能夠直接將深度學(xué)習(xí)的模型導(dǎo)到他們做的FPGA方案上去,,然而,,他們并不知道內(nèi)部是如何優(yōu)化的,,整個(gè)FPGA方案的成本會(huì)非常高。
基于DSP的方案
伴隨著一些大公司如高通,、CEVA等廠商的使用,,它的出貨量變得非常大,所以單片的成本非常低,。DSP可以進(jìn)行數(shù)字信號(hào)處理,,以圖像來(lái)說(shuō),它有專門的并行操作可以對(duì)圖像進(jìn)行快速訪問(wèn)并計(jì)算,。
純CPU方案
與前面說(shuō)的四種優(yōu)化方式相比,,它的場(chǎng)景非常大,對(duì)于我們來(lái)說(shuō)更多注重的是它優(yōu)化的方向,。因?yàn)樗蟹桨咐锩娑际怯蠧PU的,,它是一個(gè)必不可少的方案,如果在CPU上做的很快,那么在一些硬件,、協(xié)處理器的情況下,速度會(huì)更加提升,。
嵌入式人工智能前端設(shè)備智能化前景廣闊,。嵌入式人工智能硬件+算法一體化的解決方案,以最優(yōu)的性價(jià)比提供給客戶,,才是嵌入式視覺(jué)解決方案的核心競(jìng)爭(zhēng)力,。