嵌入式人工智能是計(jì)算機(jī)視覺的一個(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ò)條件差,或者沒有網(wǎng)絡(luò),也需要能夠正常工作。為了解決這些問題,深度學(xué)習(xí)必須在前端有限的計(jì)算資源和功耗下運(yùn)行。
然而嵌入式人工智能深度學(xué)習(xí)算法,計(jì)算量非常大,通常需要運(yùn)行在高性能的服務(wù)器上,對(duì)于在前端運(yùn)行提出了非常高的要求。這些正是嵌入式視覺的機(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)存訪問。一些不同的算法如果放在不同的線程中去跑,對(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ì)開發(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)行快速訪問并計(jì)算。
純CPU方案
與前面說(shuō)的四種優(yōu)化方式相比,它的場(chǎng)景非常大,對(duì)于我們來(lái)說(shuō)更多注重的是它優(yōu)化的方向。因?yàn)樗蟹桨咐锩娑际怯蠧PU的,它是一個(gè)必不可少的方案,如果在CPU上做的很快,那么在一些硬件、協(xié)處理器的情況下,速度會(huì)更加提升。
嵌入式人工智能前端設(shè)備智能化前景廣闊。嵌入式人工智能硬件+算法一體化的解決方案,以最優(yōu)的性價(jià)比提供給客戶,才是嵌入式視覺解決方案的核心競(jìng)爭(zhēng)力。