<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          韓松團(tuán)隊(duì)新作 | MCUNet | IoT設(shè)備+微型機(jī)器學(xué)習(xí)時(shí)代已經(jīng)到來了

          共 3962字,需瀏覽 8分鐘

           ·

          2020-07-28 17:07


          點(diǎn)擊上方AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”

          重磅干貨,第一時(shí)間送達(dá)

          標(biāo)題&作者團(tuán)隊(duì)

          【Happy導(dǎo)語】MIT韓松團(tuán)隊(duì)提出了一種適用于IoT設(shè)備的模型設(shè)計(jì)方案,它將NAS與Engine進(jìn)行了協(xié)同設(shè)計(jì),從而確保了模型可以更好的在微型處理器上運(yùn)行,同時(shí)具有更高的精度。該文的研究成果將進(jìn)一步加速IoT設(shè)備端的AI應(yīng)用,這個(gè)方向具有非常大的市場(chǎng)前景,期待各位同學(xué)能在該領(lǐng)域取得更多的成果。

          Paper: https://arxiv.org/abs/2007.10319

          Abstract

          基于單片機(jī)(Microcontroller Units, MCU)的微型IoT設(shè)備上的機(jī)器學(xué)習(xí)應(yīng)用是非常有價(jià)值的,但同時(shí)也極具挑戰(zhàn):單片機(jī)的內(nèi)存要比手機(jī)內(nèi)存小的多(比如ARM Cortex-M7 MCU僅有320kb SRAM與1MB Flash存儲(chǔ))。

          作者提出了MCUNet,一種高效網(wǎng)絡(luò)架構(gòu)搜索(TinyNAS)與輕量推理引擎(TinyEngine)聯(lián)合設(shè)計(jì)的方案,它可以使得ImageNet級(jí)別的推理在微處理器上進(jìn)行運(yùn)行。TinyNAS采用了兩階段的網(wǎng)絡(luò)架構(gòu)索索,在第一階段優(yōu)化搜索空間以適配資源約束,在第二階段進(jìn)行網(wǎng)絡(luò)架構(gòu)搜索。TinyNAS可以在低搜索復(fù)雜度下自適應(yīng)處理不同的約束問題(比如設(shè)備、延遲、功耗以及內(nèi)存等),并與TinyEngine協(xié)同設(shè)計(jì)。TinyEngine是一種內(nèi)存高效的推理庫,它按照整體網(wǎng)絡(luò)采用了內(nèi)存機(jī)制設(shè)計(jì),而非傳統(tǒng)的layer模式,它可以降低2.7x的內(nèi)存占用并加速1.7-3.3x的推理速度(相比TF-Lite Micro與CMSIS-NN)。

          MCUNet是首個(gè)在現(xiàn)有微處理器產(chǎn)品上達(dá)到70%精度的模型(ImageNet數(shù)據(jù)),相比MobileNetV2與ResNet18,它的更低的SRAM(3.6x)和Flash占用(6.6x)。在視覺&語音喚醒任務(wù)上,MCUNet取得了SOTA精度,比MobileNetV2和ProxylessNAS快2.4-3.4x,同時(shí)具有更低的SRAM占用(2.2-2.6x)。該研究意味著:永遠(yuǎn)在線的IoT設(shè)備上微型機(jī)器學(xué)習(xí)時(shí)代已經(jīng)到來了

          Introduction

          在我們的生活中,IoT設(shè)備已變得非常常見(據(jù)統(tǒng)計(jì)已達(dá)250B),并用于方方面面(比如智能制造、個(gè)性化醫(yī)療、農(nóng)業(yè)生產(chǎn)、自助零售等等)。這種低成本、低功耗的微處理器也為微型機(jī)器學(xué)習(xí)的應(yīng)用帶來了新的機(jī)會(huì),如能在這類設(shè)備上運(yùn)行AI算法,那么我們可以在端上直接進(jìn)行數(shù)據(jù)分析,進(jìn)而擴(kuò)大了AI的應(yīng)用領(lǐng)域。

          然而,微處理器具有非常有限的資源負(fù)載,尤其是SRAM和Flash,要比手機(jī)端或者GPU的資源小的多,這也使得深度學(xué)習(xí)在IoT設(shè)備上的部署具有挑戰(zhàn)性。下圖對(duì)比了GPU、手機(jī)端以及微處理器的資源信息,很明顯在微處理器上運(yùn)行ResNet50、MobileNetV2是不可行的。峰值內(nèi)存占用遠(yuǎn)遠(yuǎn)超出微處理的最大內(nèi)存,兩者之間存在巨大的差距。

          注:SRAM可以進(jìn)行讀寫,約束了feature-map的大小;flash只可以進(jìn)行讀,約束了模型大小。

          image-20200721135847687

          不同于云端或者手機(jī)端設(shè)備,微處理器是一種“裸設(shè)備”,它不具有操作系統(tǒng)。所以需要同時(shí)進(jìn)行網(wǎng)絡(luò)架構(gòu)與推理庫的設(shè)計(jì)以更高效的管理有限的資源并是配合內(nèi)存與存儲(chǔ)負(fù)載。而現(xiàn)有的NAS或手工網(wǎng)絡(luò)架構(gòu)往往聚焦于GPU端或手機(jī)端,它們僅僅對(duì)FLOPs或者推理延遲進(jìn)行優(yōu)化,所得模型并不適合于微處理器。

          該文提出了一種系統(tǒng)-模型聯(lián)合設(shè)計(jì)的方案MCUNet,它可以在微處理器上處理ImageNet級(jí)別的任務(wù)。為解決微處理器上稀缺內(nèi)存問題,作者聯(lián)合優(yōu)化TinyNAS與TinyEngine以降低內(nèi)存占用。TinyNAS的設(shè)計(jì)基于這樣的一個(gè)假設(shè):a search space that can accommodate higher FLOPs under memory constraint can produce better model。為處理微處理器上非常緊張的資源約束,還需要設(shè)計(jì)一種內(nèi)存高效的推理庫以消除不必要的內(nèi)存占用。TinyEngine的改進(jìn)為:TinyEngine improves over the existing inference library with code generator-based compilation method to eliminate memory overhead。它可以降低2.7x的內(nèi)存占用并提升22%推理速度。

          Method

          下圖給出了作者所設(shè)計(jì)MCUNet聯(lián)合設(shè)計(jì)方案與傳統(tǒng)方案的對(duì)比示意圖,相比傳統(tǒng)方案,MCUNet可以更好的利用微處理器的資源。

          image-20200721141427380

          TinyNAS

          TinyNAS是一種兩階段的NAS方法,它首先優(yōu)化搜索空間以適配不同的資源約束,然后在優(yōu)化空間上進(jìn)行網(wǎng)絡(luò)架構(gòu)搜索。經(jīng)由該優(yōu)化空間,它可以顯著的提升最終模型的精度。在搜索空間方面,作者對(duì)輸入分辨率和網(wǎng)絡(luò)寬度方面進(jìn)行搜索。輸入分辨率范圍,網(wǎng)絡(luò)寬度因子為。大概有108個(gè)可能的搜索空間配置,每個(gè)搜索空間配置包含個(gè)子網(wǎng)絡(luò)。第一階段的目的是尋找具有最高精度且可以滿足資源約束的搜索空間。下圖給出了不同配置搜索空間的FLOPs與CDF示意圖。

          image-20200721142019222

          在完成搜索空間確認(rèn)后,第二階段的目的是進(jìn)行網(wǎng)絡(luò)架構(gòu)的搜索。采用采用one-shotNAS技術(shù)進(jìn)行網(wǎng)路架構(gòu)搜索。關(guān)于one-shot NAS部分建議各位同學(xué)去看一下Face++的《Single Path One-Shot Neural Architecture Search with Uniform Sampling》一文。

          TinyEngine

          研究人員往往假設(shè):不同的深度學(xué)習(xí)框架僅僅影響推理速度而不會(huì)影響模型精度。然而,對(duì)于TinyML而言,推理庫的高效性不僅影響推理速度,同時(shí)還會(huì)影響搜索到的模型精度。一個(gè)好的推理框架可以更充分的利用MUC的有效資源,避免內(nèi)存占用,從而允許更大的架構(gòu)設(shè)計(jì)空間,而更大的架構(gòu)設(shè)計(jì)空間也意味著更高精度模型。因此,作者將TinyNAS與TinyEngine進(jìn)行協(xié)同設(shè)計(jì),以獲得內(nèi)存高效的推理庫。

          image-20200721143314434

          上圖給出了TinyEngine與現(xiàn)有推理框架在不同維度的對(duì)比。現(xiàn)有的TF-Lite Micro與CMSIS-NN是解釋型推理框架,它們易于跨平臺(tái)部署,但同時(shí)需要額外的內(nèi)存(在MCU上內(nèi)存是最昂貴的資源)保存架構(gòu)的元信息(比如網(wǎng)絡(luò)架構(gòu)參數(shù));相反TinyEngine僅僅聚焦于MCU設(shè)備,采用code generator-based進(jìn)行編譯。它不僅避免了運(yùn)行時(shí)解釋耗時(shí),同時(shí)釋放了額外的內(nèi)存占用,從而允許更大的模型。相比CMSIS-NN,TinyEngine可以降低2.7x內(nèi)存占用,提升22%推理速度。

          與此同時(shí)TinyEngine的庫文件非常輕量,這使得其非常適合于MCU。不同于TF-Lite Micro需要準(zhǔn)備所有的操作(比如conv、softmax)以支持跨模型推理;而TinyEngine僅僅需要編譯必要的操作。下圖給出了TF-Lite Micro、CMSIS-NN與TinyEngien的大小對(duì)比。

          TinyEngine為不同層制作特定的核優(yōu)化方案:loops tiling is based on the kernel size and available memory; inner loop unrolling is also specialized for different kernel size。同時(shí),TinyEngine還進(jìn)行了操作合并,比如Conv+PAd+BN+ReLU。上述優(yōu)化方案可以為模型推理帶來22%的加速。

          Experiments

          在實(shí)驗(yàn)方面,作者選用了ImageNet、Visual Wake Word以及Speech Command三個(gè)數(shù)據(jù)集。ImageNet代表了大尺度圖像分類任務(wù),VWW用于判別是否有人存在,而SC代表了主流的微處理器應(yīng)用場(chǎng)景:語音喚醒。

          在模型部署方面,作者采用int8線性量化后部署。MCU選型為STM32F746,它具有320kb SRAM與1MB Flash。直接上結(jié)果咯。Table2的結(jié)果很震撼哦,最優(yōu)模型可達(dá)60.1%精度。

          image-20200721150233522
          image-20200721150253878
          image-20200721150308615
          image-20200721150453393

          好了,全文到底結(jié)束。上面已經(jīng)對(duì)該文的核心進(jìn)行了簡單的介紹。但美中不足的是:該文尚未開源。

          Conclusion

          作者提出了一種網(wǎng)絡(luò)架構(gòu)搜索與推理庫協(xié)同設(shè)計(jì)方案MCUNet,它可以使得深度學(xué)習(xí)在微型硬件設(shè)備(IoT)上運(yùn)行。所提方案在現(xiàn)有微處理器產(chǎn)品中取得前所未有了70.2%(ImageNet)的精度,同時(shí)具有更快的推理速度。該研究意味著:永遠(yuǎn)在線的IoT設(shè)備上微型機(jī)器學(xué)習(xí)時(shí)代已經(jīng)到來了


          最后的最后求一波分享!

          YOLOv4 trick相關(guān)論文已經(jīng)下載并放在公眾號(hào)后臺(tái)

          關(guān)注“AI算法與圖像處理”,回復(fù) “200714”獲取


          個(gè)人微信
          請(qǐng)注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱
          如果沒有備注不拉群!


          瀏覽 71
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲 小说区 图片区 | 色色综合网络 | 成人视频免费观看18 | caoporm超碰 | 国产亚洲大屌视频 |