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