MIT開發(fā)出輕量級(jí)MCU神經(jīng)網(wǎng)絡(luò)系統(tǒng)MCUNet

導(dǎo)讀:深度學(xué)習(xí)無處不在。人工智能的這一分支可以管理你的社交媒體并為谷歌搜索結(jié)果提供最準(zhǔn)確的服務(wù)。很快,深度學(xué)習(xí)還可以檢查你的生命體征或設(shè)置你的恒溫器。麻省理工學(xué)院的研究人員開發(fā)了一種系統(tǒng),可以將深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)帶到新的、小得多的地方,比如可穿...

深度學(xué)習(xí)無處不在。人工智能的這一分支可以管理你的社交媒體并為谷歌搜索結(jié)果提供最準(zhǔn)確的服務(wù)。很快,深度學(xué)習(xí)還可以檢查你的生命體征或設(shè)置你的恒溫器。麻省理工學(xué)院的研究人員開發(fā)了一種系統(tǒng),可以將深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)帶到新的、小得多的地方,比如可穿戴醫(yī)療設(shè)備、家用電器中的微型計(jì)算機(jī)芯片,以及構(gòu)成“物聯(lián)網(wǎng)”(IoT)的2500億個(gè)物體。

蕪湖網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

這個(gè)名為MCUNet的系統(tǒng)設(shè)計(jì)了緊湊的神經(jīng)網(wǎng)絡(luò),盡管內(nèi)存和處理能力有限,但它為物聯(lián)網(wǎng)設(shè)備上的深度學(xué)習(xí)提供了前所未有的速度和精度。這項(xiàng)技術(shù)可以促進(jìn)物聯(lián)網(wǎng)領(lǐng)域的擴(kuò)展,同時(shí)節(jié)約能源和提高數(shù)據(jù)安全性。

這項(xiàng)研究將在下個(gè)月的神經(jīng)信息處理系統(tǒng)會(huì)議(Conference on Neural Information Processing Systems)上發(fā)表。本文的主要作者是Lin Ji,他是麻省理工學(xué)院電子工程和計(jì)算機(jī)科學(xué)系韓松實(shí)驗(yàn)室的博士生。合著者包括麻省理工學(xué)院的韓松和Lin Yu Jun,麻省理工學(xué)院和臺(tái)灣國(guó)立大學(xué)的Chen Wei Ming,以及麻省理工-IBM沃森人工智能實(shí)驗(yàn)室的John Cohn和Gan Chuang。

物聯(lián)網(wǎng)的發(fā)展

物聯(lián)網(wǎng)誕生于20世紀(jì)80年代初,卡內(nèi)基梅隆大學(xué)的研究生,Mike Kazar將一臺(tái)可樂機(jī)連接到互聯(lián)網(wǎng)上。這個(gè)小組的動(dòng)機(jī)很簡(jiǎn)單:懶惰。他們想先用電腦確認(rèn)機(jī)器是否有存貨,然后再?gòu)霓k公室前去購(gòu)買它是世界上第一臺(tái)聯(lián)網(wǎng)的物聯(lián)網(wǎng)設(shè)備?,F(xiàn)在是微軟工程師的Kazar說:“這在很大程度上被看作是一個(gè)笑話的笑料,沒人料到如今互聯(lián)網(wǎng)上會(huì)有幾十億臺(tái)設(shè)備。”

自從那臺(tái)可樂機(jī)以來,日常用品已經(jīng)越來越多地進(jìn)入物聯(lián)網(wǎng)市常這包括從可穿戴的心臟監(jiān)護(hù)儀到智能冰箱可以告訴你何時(shí)牛奶需要補(bǔ)充。物聯(lián)網(wǎng)設(shè)備通常運(yùn)行在微控制器上,微控制器是一種簡(jiǎn)單的計(jì)算機(jī)芯片,沒有操作系統(tǒng),最小的處理能力,內(nèi)存不到普通智能手機(jī)的千分之一。因此,像深度學(xué)習(xí)這樣的模式識(shí)別任務(wù)很難在物聯(lián)網(wǎng)設(shè)備上進(jìn)行本地運(yùn)行。對(duì)于復(fù)雜的分析,物聯(lián)網(wǎng)收集的數(shù)據(jù)通常被發(fā)送到云端,使其容易受到黑客攻擊,并且容易受到網(wǎng)絡(luò)延遲及速率的影響。

“我們?nèi)绾螌⑸窠?jīng)網(wǎng)絡(luò)直接部署在這些微小的設(shè)備上?這是一個(gè)非常熱門的新研究領(lǐng)域。”韓松說,“像谷歌和ARM這樣的公司都在朝這個(gè)方向努力。”

圍繞MCUNet一起,韓松團(tuán)隊(duì)共同設(shè)計(jì)了“微小深度學(xué)習(xí)”所需的兩個(gè)組件微控制器上神經(jīng)網(wǎng)絡(luò)的操作。其中一個(gè)組件是TinyEngine,它是一個(gè)類似于操作系統(tǒng)的、指導(dǎo)資源管理的推理引擎。TinyEngine被優(yōu)化為運(yùn)行特定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它是由MCUNet的另一個(gè)組件TinyNAS選擇的,TinyNAS是一種神經(jīng)結(jié)構(gòu)搜索算法。

系統(tǒng)算法協(xié)同設(shè)計(jì)

為微控制器設(shè)計(jì)一個(gè)深層網(wǎng)絡(luò)并不容易?,F(xiàn)有的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索技術(shù)首先從一個(gè)預(yù)先定義的模板中提取大量可能的網(wǎng)絡(luò)結(jié)構(gòu),然后逐步找到一個(gè)精度高、成本低的網(wǎng)絡(luò)結(jié)構(gòu)。雖然這個(gè)方法有效,但不是最有效的。Lin Ji說道:“它可以很好地工作在GPU或智能手機(jī)上,但是很難將這些技術(shù)直接應(yīng)用到微型微控制器上,因?yàn)樗鼈兲×恕?rdquo;

因此,開發(fā)了TinyNAS,一種神經(jīng)結(jié)構(gòu)搜索方法,可以創(chuàng)建自定義大小的網(wǎng)絡(luò)。“我們有很多微控制器,它們具有不同的功率容量和不同的內(nèi)存大校”Lin Ji說“所以我們開發(fā)了算法TinyNAS來優(yōu)化不同微控制器的搜索空間。”TinyNAS的定制特性意味著它可以生成緊湊的神經(jīng)網(wǎng)絡(luò),在排除不必要的參數(shù)的情況下,為給定的微控制器提供性能。“然后我們將最終、高效的模型交付給微控制器。”Lin Ji說。

為了運(yùn)行這個(gè)微小的神經(jīng)網(wǎng)絡(luò),微控制器還需要一個(gè)精簡(jiǎn)的推理機(jī)制。一個(gè)典型的推理機(jī)會(huì)為它很少運(yùn)行的任務(wù)攜帶一些死板的指令。這些額外的代碼對(duì)筆記本電腦或智能手機(jī)來說沒有問題,但它很容易壓倒微控制器。“它沒有片外存儲(chǔ)器,也沒有磁盤,”韓說。“所有的東西放在一起只是一兆字節(jié)的閃存,所以我們必須非常小心地管理這么小的資源。”Cue TinyEngine。

研究人員與TinyNAS一起開發(fā)了他們的推理機(jī)。TinyEngine生成運(yùn)行TinyNAS定制神經(jīng)網(wǎng)絡(luò)所需的基本代碼。任何不用的代碼都會(huì)被丟棄,這會(huì)減少編譯時(shí)間。“我們只保留我們需要的,”韓松說。“自從我們開始設(shè)計(jì)神經(jīng)網(wǎng)絡(luò),我們就知道我們需要什么。這就是系統(tǒng)算法協(xié)同設(shè)計(jì)的優(yōu)勢(shì)。”在小組對(duì)TinyEngine的測(cè)試中,編譯后的二進(jìn)制代碼的大小相對(duì)Google和ARM的可比微控制器推理引擎縮小1.9到5倍。TinyEngine還包含減少運(yùn)行時(shí)的創(chuàng)新,包括深度卷積,它將峰值內(nèi)存使用量減少了近一半。在開發(fā)了TinyNAS和TinyEngine之后,韓松的團(tuán)隊(duì)對(duì)MCUNet進(jìn)行了測(cè)試。

MCUNet的第一個(gè)挑戰(zhàn)是圖像分類。研究人員使用ImageNet數(shù)據(jù)庫對(duì)帶有標(biāo)簽的圖像進(jìn)行訓(xùn)練,然后測(cè)試其對(duì)新圖像進(jìn)行分類的能力。在他們測(cè)試的一個(gè)商業(yè)微控制器上,MCUNet成功地對(duì)70.7%的新穎圖像進(jìn)行了分類之前最先進(jìn)的神經(jīng)網(wǎng)絡(luò)和推理機(jī)組合的準(zhǔn)確率僅為54%。“即使是1%的改進(jìn)也被認(rèn)為是顯著的,所以這是微控制器人工智能的一個(gè)巨大飛躍。”Lin Ji說道。

研究小組在另外三個(gè)微控制器的ImageNet測(cè)試中發(fā)現(xiàn)了類似的結(jié)果。在速度和準(zhǔn)確性上,MCUNet擊敗了競(jìng)爭(zhēng)對(duì)手,即用戶通過喚醒音(例如“Hey,Siri”)或簡(jiǎn)單地進(jìn)入一個(gè)房間就可以與計(jì)算機(jī)進(jìn)行交互。這些實(shí)驗(yàn)突出了MCUNet對(duì)多種應(yīng)用的適應(yīng)性。

“潛力巨大”

令人期待的測(cè)試結(jié)果給了韓松希望,它將成為微控制器的新行業(yè)標(biāo)準(zhǔn)。“它有巨大的潛力,”他說。

加州大學(xué)伯克利分校的計(jì)算機(jī)科學(xué)家Kurt Keutzer表示,這一進(jìn)展“將深度神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的前沿領(lǐng)域進(jìn)一步擴(kuò)展到小型節(jié)能微控制器的計(jì)算領(lǐng)域。MCUNet可以為最簡(jiǎn)單的廚房設(shè)備帶來智能計(jì)算機(jī)視覺功能,或者啟用更智能的運(yùn)動(dòng)傳感器。”

MCUNet還可以使物聯(lián)網(wǎng)設(shè)備更加安全。“一個(gè)關(guān)鍵的優(yōu)勢(shì)是保護(hù)隱私,您不需要將數(shù)據(jù)傳輸?shù)皆贫恕?rdquo;韓松說道。

本地分析數(shù)據(jù)可降低個(gè)人信息(包括個(gè)人健康數(shù)據(jù))被盜的風(fēng)險(xiǎn)。韓松設(shè)想使用MCUNet的智能手表不僅可以感知用戶的心跳、血壓和氧氣水平,還可以分析和幫助他們理解這些信息。MCUNet還可以為互聯(lián)網(wǎng)接入受限的車輛和農(nóng)村地區(qū)的物聯(lián)網(wǎng)設(shè)備帶來深度學(xué)習(xí)。

另外,MCUNet的計(jì)算能力很小,需求的功耗很校“我們的最終目標(biāo)是用更少的計(jì)算資源、更少的人力資源和更少的數(shù)據(jù)來實(shí)現(xiàn)高效、微型的人工智能,”韓松說。

附:極術(shù)社區(qū)發(fā)布并分析了韓松等人的詳細(xì)論文:

【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)域取得更多的成果。

Abstract

基于單片機(jī)(Microcontroller Units, MCU)的微型IoT設(shè)備上的機(jī)器學(xué)習(xí)應(yīng)用是非常有價(jià)值的,但同時(shí)也極具挑戰(zhàn):?jiǎn)纹瑱C(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的大?。籪lash只可以進(jìn)行讀,約束了模型大校

不同于云端或者手機(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 lipary 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可以更好的利用微處理器的資源。

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示意圖。

在完成搜索空間確認(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)存高效的推理庫。

上圖給出了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%精度。

好了,全文到底結(jié)束。上面已經(jīng)對(duì)該文的核心進(jìn)行了簡(jiǎ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)到來了。

當(dāng)前名稱:MIT開發(fā)出輕量級(jí)MCU神經(jīng)網(wǎng)絡(luò)系統(tǒng)MCUNet
URL網(wǎng)址:http://muchs.cn/article32/chsssc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站設(shè)計(jì)電子商務(wù)、自適應(yīng)網(wǎng)站、網(wǎng)站排名網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化