自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微型機(jī)器學(xué)習(xí)有望把深度學(xué)習(xí)嵌入微處理器

譯文 精選
人工智能 機(jī)器學(xué)習(xí) 深度學(xué)習(xí)
IBM和麻省理工學(xué)院(MIT)聯(lián)合開展的一項(xiàng)最新研究工作解決了卷積神經(jīng)網(wǎng)絡(luò)(CNN)的峰值內(nèi)存瓶頸問題。這是一種深度學(xué)習(xí)體系結(jié)構(gòu),對(duì)計(jì)算機(jī)視覺應(yīng)用尤其重要。

圖片

譯者 | 朱先忠

審校 | 梁策 孫淑娟

深度學(xué)習(xí)模型最初的成功歸功于擁有大量?jī)?nèi)存和GPU集群的大型服務(wù)器。深度學(xué)習(xí)的前景催生了一個(gè)為深度神經(jīng)網(wǎng)絡(luò)提供云計(jì)算服務(wù)的行業(yè)。因此,在幾乎無限的云資源上運(yùn)行的大型神經(jīng)網(wǎng)絡(luò)變得非常流行,這對(duì)于具有充足預(yù)算的科技公司尤其如此。

但與此同時(shí),近年來也出現(xiàn)了另一種相反的趨勢(shì),即為邊緣設(shè)備創(chuàng)建機(jī)器學(xué)習(xí)模型。這些被稱為微型機(jī)器學(xué)習(xí)(TinyML)的模型適用于內(nèi)存和處理能力有限、互聯(lián)網(wǎng)連接不存在或有限的設(shè)備。

IBM和麻省理工學(xué)院(MIT)聯(lián)合開展的一項(xiàng)最新研究工作解決了卷積神經(jīng)網(wǎng)絡(luò)(CNN)的峰值內(nèi)存瓶頸問題。這是一種深度學(xué)習(xí)體系結(jié)構(gòu),對(duì)計(jì)算機(jī)視覺應(yīng)用尤其重要。在NeurIPS 2021會(huì)議上提交的一篇論文中詳細(xì)介紹了稱為一種McUnETV2的模型,該模型能夠在低內(nèi)存和低功耗微控制器上運(yùn)行卷積神經(jīng)網(wǎng)絡(luò)(CNN)。

1.為什么會(huì)出現(xiàn)微型機(jī)器學(xué)習(xí)(TinyML)?

圖片

雖然云端深度學(xué)習(xí)非常成功,但并不適用于所有情況。事實(shí)上,許多應(yīng)用程序往往都需要在硬件設(shè)備上直接完成推理任務(wù)。例如,在一些如無人機(jī)救援這樣的任務(wù)環(huán)境中,互聯(lián)網(wǎng)連接是無法保證的。在醫(yī)療保健等其他領(lǐng)域,隱私要求和法規(guī)約束等也使得將數(shù)據(jù)發(fā)送到云端進(jìn)行處理變得非常困難。對(duì)于需要實(shí)時(shí)機(jī)器語言推斷的應(yīng)用程序來說,往返云計(jì)算所造成的延遲更是令人望而卻步。

上述所有必需滿足的條件使得機(jī)器學(xué)習(xí)設(shè)備在科學(xué)上和商業(yè)上都具有吸引力。例如,iPhone手機(jī)現(xiàn)在就有不少運(yùn)行面部識(shí)別和語音識(shí)別的應(yīng)用程序,安卓手機(jī)也可以直接運(yùn)行翻譯軟件。此外,Apple Watch已經(jīng)可以使用機(jī)器學(xué)習(xí)算法來檢測(cè)運(yùn)動(dòng)和ECG模式(注:ECG即心電圖一詞electrocardiogram的縮寫,又稱EKG,是一種測(cè)試實(shí)驗(yàn),用于記錄引發(fā)心跳的電信號(hào)序列的時(shí)間節(jié)點(diǎn)和強(qiáng)度。通過分析ECG圖像,醫(yī)生可以更好地診斷心率是否正常和心臟功能是否存在問題)。

上述這些設(shè)備上的ML模型在一定程度上是由支持神經(jīng)網(wǎng)絡(luò)緊湊、計(jì)算和存儲(chǔ)效率更高的技術(shù)進(jìn)步而實(shí)現(xiàn)的。同時(shí)由于硬件技術(shù)的進(jìn)步,這樣的ML模型在移動(dòng)設(shè)置上的實(shí)現(xiàn)也成為可能。現(xiàn)在,我們的智能手機(jī)和可穿戴設(shè)備比30年前的高性能服務(wù)器擁有更多的計(jì)算能力,有些甚至配置專門的協(xié)處理器來實(shí)現(xiàn)機(jī)器語言推理。

TinyML將邊緣AI向前推進(jìn)了一步,使得在微控制器(MCU)上運(yùn)行深度學(xué)習(xí)模型成為可能,盡管微控制器比我們口袋里和手腕上攜帶的小型計(jì)算機(jī)還要受限于資源。

另一方面,微控制器價(jià)格低廉,平均售價(jià)不到0.50美元,它們幾乎無處不在,可以嵌入到從消費(fèi)行業(yè)到工業(yè)設(shè)備的各個(gè)方面。同時(shí),它們沒有通用計(jì)算設(shè)備中的資源,而且大多數(shù)都沒有操作系統(tǒng)。微控制器的CPU很小,只有幾百KB的低功耗內(nèi)存(SRAM)和幾兆字節(jié)的存儲(chǔ)空間,而且沒有任何網(wǎng)絡(luò)設(shè)備。它們大多沒有主電源,多年來都是必須使用紐扣電池。因此,在MCU上安裝深度學(xué)習(xí)模型可能為許多應(yīng)用開辟新的道路。

2.卷積神經(jīng)網(wǎng)絡(luò)中的內(nèi)存瓶頸

圖片

卷積神經(jīng)網(wǎng)絡(luò)(CNN)的架構(gòu)

為了將深度神經(jīng)網(wǎng)絡(luò)縮小到適合小型內(nèi)存計(jì)算設(shè)備的大小,人們已經(jīng)進(jìn)行了多次努力。然而,這些努力大多集中在減少深度學(xué)習(xí)模型中的參數(shù)個(gè)數(shù)方面。例如,“剪枝”便是一種流行的優(yōu)化算法,它通過刪除模型輸出中不重要的參數(shù)來縮小神經(jīng)網(wǎng)絡(luò)。

剪枝方法的問題在于它們不能解決神經(jīng)網(wǎng)絡(luò)的內(nèi)存瓶頸。深度學(xué)習(xí)庫的標(biāo)準(zhǔn)實(shí)現(xiàn)需要將整個(gè)網(wǎng)絡(luò)層和激活層映射加載到內(nèi)存中。不幸的是,經(jīng)典的優(yōu)化方法不會(huì)對(duì)神經(jīng)網(wǎng)絡(luò)的早期計(jì)算層做出任何重大改變,尤其是在卷積神經(jīng)網(wǎng)絡(luò)中。

這會(huì)導(dǎo)致網(wǎng)絡(luò)不同層的大小不平衡,并導(dǎo)致“內(nèi)存峰值”問題:即使網(wǎng)絡(luò)在修剪后變得更輕量級(jí),運(yùn)行它的設(shè)備也必須擁有與最大層相同的內(nèi)存。例如,在流行的TinyML模型MobileNetV2中,早期層計(jì)算達(dá)到的內(nèi)存峰值約為1.4兆字節(jié),而后期層的內(nèi)存占用非常小。要運(yùn)行該模型,設(shè)備將需要與模型峰值相同的內(nèi)存。由于大多數(shù)MCU的內(nèi)存不超過幾百KB,所以它們無法運(yùn)行MobileNetV2的現(xiàn)成版本。

圖片

MobileNetV2是一種針對(duì)邊緣設(shè)備進(jìn)行優(yōu)化的神經(jīng)網(wǎng)絡(luò),但它的內(nèi)存峰值約為1.4兆字節(jié),這使得許多微控制器無法訪問它。

另一種優(yōu)化神經(jīng)網(wǎng)絡(luò)的方法是減小模型的輸入大小。較小的輸入圖像需要較小的CNN即可執(zhí)行預(yù)測(cè)任務(wù)。然而,減少輸入大小本身就存在挑戰(zhàn),并不是對(duì)所有計(jì)算機(jī)視覺任務(wù)都有效。例如,對(duì)象檢測(cè)深度學(xué)習(xí)模型對(duì)圖像大小非常敏感,當(dāng)輸入分辨率降低時(shí),其性能會(huì)迅速下降。

圖片

由上圖易知,圖像分類ML模型(橙色線)比目標(biāo)檢測(cè)模型(藍(lán)色線)更容易降低分辨率。

3.MCUNetV2基于補(bǔ)丁的推理

為了解決卷積神經(jīng)網(wǎng)絡(luò)的內(nèi)存瓶頸問題,研究人員創(chuàng)建了一個(gè)名為MCUNetV2的深度學(xué)習(xí)體系結(jié)構(gòu),可以將其內(nèi)存帶寬調(diào)整到微控制器的極限。MCUNetV2是在同一科研小組之前的成果基礎(chǔ)上開發(fā)的,該工作已被NeurIPS 2020大會(huì)接受并成功提交。

MCUNetV2背后的主要思想是“基于補(bǔ)丁的推理”,這是一種在不降低CNN準(zhǔn)確性的情況下減少其內(nèi)存占用的技術(shù)。MCUNetV2沒有將整個(gè)神經(jīng)網(wǎng)絡(luò)層加載到內(nèi)存中,而是在任何給定時(shí)間加載并計(jì)算該層的較小區(qū)域或“補(bǔ)丁”。然后,它逐塊迭代整個(gè)層并組合這些值,直到計(jì)算整個(gè)層的激活部分。

圖片

圖中左側(cè)是經(jīng)典深度學(xué)習(xí)系統(tǒng)計(jì)算一整層的情形,而右側(cè)給出的是MCUNetV2一次計(jì)算一個(gè)補(bǔ)丁,從而減少DL推理的內(nèi)存需求。

由于MCUNetV2一次只需要存儲(chǔ)一片神經(jīng)元,因此它在不降低模型分辨率或參數(shù)的情況下大幅降低內(nèi)存峰值。研究人員的實(shí)驗(yàn)表明,MCUNetV2可以將內(nèi)存峰值降低至八分之一。

圖片

MCUNetV2能夠?qū)⑸疃葘W(xué)習(xí)模型的內(nèi)存峰值降低至八分之一

基于補(bǔ)丁的推理在節(jié)省內(nèi)存的同時(shí)也帶來了計(jì)算開銷的權(quán)衡問題。麻省理工學(xué)院(MIT)和IBM的研究人員發(fā)現(xiàn),在不同的體系結(jié)構(gòu)中整體網(wǎng)絡(luò)計(jì)算可能會(huì)增加10-17%,這顯然不適用于低功耗的微控制器。

為了克服這個(gè)限制,研究人員重新分配了神經(jīng)網(wǎng)絡(luò)不同區(qū)塊的“感受野”(注:在CNN中,第n層特征圖中一個(gè)像素對(duì)應(yīng)作為第1層的輸入圖像的像素?cái)?shù),即為該層的感受野“receptive field”,簡(jiǎn)稱“RF”)。在CNN中,感受野是在任何時(shí)刻可被處理的圖像區(qū)域。更大的感受野需要更大的補(bǔ)丁和補(bǔ)丁之間的重疊。當(dāng)然,這就會(huì)產(chǎn)生更高的計(jì)算開銷。通過縮小網(wǎng)絡(luò)初始?jí)K的感受野并擴(kuò)大后期的感受野,研究人員能夠?qū)⒂?jì)算開銷減少三分之二以上。

圖片

感受野的重新分配有助于將MCUNetV2的計(jì)算開銷減少三分之二以上

最后,研究人員觀察到,MCUNetV2的調(diào)整在很大程度上取決于ML模型架構(gòu)、應(yīng)用程序以及目標(biāo)設(shè)備的內(nèi)存和存儲(chǔ)容量。為了避免手動(dòng)調(diào)整每個(gè)設(shè)備和應(yīng)用程序的深度學(xué)習(xí)模型,研究人員使用了“神經(jīng)算法搜索”,這是一個(gè)使用機(jī)器學(xué)習(xí)自動(dòng)優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和推理調(diào)度的過程。

研究人員在幾個(gè)內(nèi)存容量較小的微控制器模型上測(cè)試了不同應(yīng)用中的深度學(xué)習(xí)架構(gòu)。結(jié)果表明,MCUNetV2優(yōu)于其他TinyML技術(shù),能夠以較小的內(nèi)存需求和較低的延遲實(shí)現(xiàn)在圖像分類和目標(biāo)檢測(cè)方面達(dá)到更高的精度。

如下圖所示,研究人員正在使用實(shí)時(shí)人物檢測(cè)、視覺喚醒詞和人臉/口罩檢測(cè)等方式使用MCUNetV2。

圖片

譯者注:此處展示的僅是youtube.com網(wǎng)站上展示的使用MCUNetV2的視頻中的一幅截圖。

4.TinyML應(yīng)用程序

在2018年一篇題為《機(jī)器學(xué)習(xí)程序的未來為何如此微小》(Why the Future of Machine Learning is Tiny)的文章中,軟件工程師皮特·沃登(Pete Warden)認(rèn)為,MCU上的機(jī)器學(xué)習(xí)極其重要。沃登寫道:“我相信機(jī)器學(xué)習(xí)可以在小型、低功耗芯片上運(yùn)行,這種結(jié)合將解決我們目前無法解決的大量問題?!?/p>

由于傳感器和CPU的進(jìn)步,我們從世界各地獲取數(shù)據(jù)的能力大大增強(qiáng)。但我們通過機(jī)器學(xué)習(xí)模型處理和使用這些數(shù)據(jù)的能力卻受到網(wǎng)絡(luò)連接和云服務(wù)器訪問的限制。正如沃登所說,處理器和傳感器比藍(lán)牙和WiFi等無線電發(fā)射機(jī)更節(jié)能。

沃登寫道:“移動(dòng)數(shù)據(jù)的物理過程似乎需要大量的能量。一次操作所需的能量與發(fā)送比特的距離成正比似乎是一條規(guī)則。CPU和傳感器發(fā)送僅需要幾個(gè)毫米發(fā)送比特?cái)?shù)且價(jià)格便宜,而無線電發(fā)送的代價(jià)則需要幾米甚至更大距離才發(fā)送幾比特?cái)?shù)據(jù),而且價(jià)格昂貴……很明顯,一個(gè)有巨大潛力的市場(chǎng)正等待著用正確的技術(shù)來開辟。我們需要一種能在廉價(jià)微控制器上工作的設(shè)備,它使用的能源非常少,依賴于計(jì)算而不是無線電,它能把我們所有浪費(fèi)的傳感器數(shù)據(jù)變成有用的數(shù)據(jù)。這就是機(jī)器學(xué)習(xí),特別是深度學(xué)習(xí)將要填補(bǔ)的空白?!?/p>

由于MCUNetV2和TinyML在其他方面也取得了進(jìn)步,沃登的預(yù)測(cè)很快會(huì)變成現(xiàn)實(shí)。在未來的幾年里,我們可以期待TinyML能夠進(jìn)入到家庭、辦公室、醫(yī)院、工廠、農(nóng)場(chǎng)、道路、橋梁等的數(shù)十億微控制器中,從而有望實(shí)現(xiàn)以前根本不可能實(shí)現(xiàn)的應(yīng)用。

原文鏈接:https://thenextweb.com/news/tinyml-deep-learning-microcontrollers-syndication

譯者介紹

朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計(jì)算機(jī)教師,自由編程界老兵一枚。早期專注各種微軟技術(shù)(編著成ASP.NET AJX、Cocos 2d-X相關(guān)三本技術(shù)圖書),近十多年投身于開源世界(熟悉流行全棧Web開發(fā)技術(shù)),了解基于OneNet/AliOS+Arduino/ESP32/樹莓派等物聯(lián)網(wǎng)開發(fā)技術(shù)與Scala+Hadoop+Spark+Flink等大數(shù)據(jù)開發(fā)技術(shù)。

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2020-11-04 14:37:05

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2020-02-25 08:00:44

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2023-10-23 16:21:32

工智能芯片IBM

2011-11-28 14:43:10

微處理器

2020-10-09 15:35:45

機(jī)器學(xué)習(xí)深度學(xué)習(xí)算法

2020-09-04 12:07:43

DL

2009-02-20 20:10:14

AtmelWindows Emb嵌入式

2009-09-16 16:24:47

2009-04-08 13:08:22

多核服務(wù)器英特爾

2010-02-05 13:05:44

英特爾新型商用微處理器

2009-10-21 11:11:54

微處理器

2011-12-23 13:54:19

Intel微處理器市場(chǎng)份額

2023-11-07 14:30:21

微處理器CPU

2013-04-01 11:37:54

Oracle微處理器SPARC T5

2009-04-07 18:07:01

NehalemIntel服務(wù)器

2013-06-03 10:13:43

微處理器數(shù)據(jù)中心ARM

2021-03-30 13:45:00

人工智能

2012-10-19 09:38:32

英特爾高性能微型服務(wù)器

2024-01-31 08:09:53

預(yù)處理器代碼C++

2021-01-12 05:10:51

處理器AnnotationProcessor
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)