數(shù)據(jù)科學(xué)家,,Jetpac 公司CTO Pete Warden發(fā)表了一篇博文,,詳細(xì)闡述了微型化是機(jī)器學(xué)習(xí)應(yīng)用的一條出路,,并且相信機(jī)器學(xué)習(xí)可以在微小的、低功耗的芯片上運(yùn)行,,利用深度學(xué)習(xí)可以做到非常高的能源利用率,。谷歌大腦負(fù)責(zé)人Jeff Dean也轉(zhuǎn)發(fā)這篇博文,并且也強(qiáng)調(diào)了其技術(shù)可行性,。
當(dāng)Azeem邀請(qǐng)我到CogX做演講時(shí),,他希望我能把核心集中于引導(dǎo)用戶思考的某一個(gè)點(diǎn)上。前幾年,,我的首要任務(wù)是讓人們相信,,深度學(xué)習(xí)是一場(chǎng)真正的革命,,而不僅僅是一時(shí)的風(fēng)尚,目前已經(jīng)有足夠多的例子可以證明這個(gè)觀點(diǎn),。我之所以知道這個(gè)觀點(diǎn)是正確的,,并不是因?yàn)槲沂且粋€(gè)預(yù)言家,而是因?yàn)槲矣袡C(jī)會(huì)可以花時(shí)間去親自動(dòng)手操作這項(xiàng)技術(shù),。所以我非常相信深度學(xué)習(xí)的價(jià)值,,因?yàn)槲矣H眼見到了這些效果,并且知道,,阻止它從實(shí)驗(yàn)室走向工業(yè)界的唯一屏障,,僅僅在于更廣泛的應(yīng)用場(chǎng)景需要投入更多的研究時(shí)間。
今天,,我將談?wù)摿硪环N鮮為人知的,,但我確信無(wú)疑的趨勢(shì)。那就是我相信機(jī)器學(xué)習(xí)可以在微小的,、低功耗的芯片上運(yùn)行,,這種技術(shù)將解決目前方案中的瓶頸問(wèn)題,這就是我在CogX上要講的,。
微型電腦已經(jīng)足夠便宜,,且非常普及
因?yàn)槭袌?chǎng)過(guò)于分散,以至于很難得到確切的數(shù)字,,但最好的估計(jì)是今年將有超過(guò)400億的微控制器售出,,考慮到他們所使用的產(chǎn)品的持久性,可能會(huì)有數(shù)千億個(gè)微控制器在使用,。微控制器(或MCUs)包含一個(gè)小CPU,,僅僅只有幾千字節(jié)的RAM,并且被嵌入到消費(fèi)者,、醫(yī)療,、汽車和工業(yè)設(shè)備中,。它們的設(shè)計(jì)目的是為了得到低功耗,、低成本的產(chǎn)品,預(yù)計(jì)這一產(chǎn)品今年的平均價(jià)格將低于50美分,。
它們并沒(méi)有得到太多的關(guān)注,,因?yàn)樗鼈兘?jīng)常被用來(lái)取代舊的電動(dòng)機(jī)械系統(tǒng)在汽車、洗衣機(jī)或遙控器上的功能,。這些設(shè)備的控制邏輯和以前使用的模擬電路和繼電器幾乎沒(méi)有什么區(qū)別,,除了可能有一些可編程功能的微小改變。對(duì)于制造商來(lái)說(shuō),,最大的好處是,,標(biāo)準(zhǔn)的控制器可以用軟件來(lái)編程,,而不是去定制電子設(shè)備,這樣可以降低制造過(guò)程的成本,,也更容易生產(chǎn),。
能源是限制因素
任何需要電源的設(shè)備都面臨著布線問(wèn)題的限制,而且一旦開始布線也有可能引來(lái)其他新的問(wèn)題,,例如,,在手術(shù)室中與工廠的地板上。為了將電源電壓從輸電電壓轉(zhuǎn)換到設(shè)備可用電壓是非常昂貴且浪費(fèi)的,。甚至是像手機(jī)或筆記本電腦這種便攜式設(shè)備也需要非常頻繁的充電,。
幾乎任何智能產(chǎn)品的終極目標(biāo)都是為了讓設(shè)備可以部署在任何地方,而不需要什么維護(hù)手段,。為了實(shí)現(xiàn)這一目標(biāo),,最大的障礙是:大多數(shù)的電子系統(tǒng)都需要使用能源。下面是一些基于智能手機(jī)能耗數(shù)據(jù)的常見組件的粗略數(shù)字(更多細(xì)節(jié)請(qǐng)參閱我的以前的博文 【1】):
一個(gè)顯示器可能需要400毫瓦,。
有源電池收音機(jī)可能使用800毫瓦,。
藍(lán)牙可能使用100毫瓦。
加速度計(jì)是21毫瓦,。
陀螺儀是130毫瓦,。
GPS是176毫瓦。
一個(gè)微控制器本身可能只使用1毫瓦或者更少,,但外設(shè)可能會(huì)使用更多的電能,,一枚硬幣電池可以提供2500焦耳的能量,所以電池即使要給1毫瓦的設(shè)備供電,,也只能維持一個(gè)月左右,,當(dāng)然,目前大多數(shù)的產(chǎn)品都使用了輪轉(zhuǎn)和睡眠,,以避免經(jīng)常開機(jī),,但即便如此,問(wèn)題仍未的到解決,。
CPU和傳感器幾乎不使用電源,,而收音機(jī)和顯示器使用的電量很多
一般來(lái)說(shuō)處理器、傳感器可以將電力成本降低到微瓦級(jí)別,,但顯示器,、無(wú)線電等設(shè)備需要更多的電力成本,甚至是低功耗,、藍(lán)牙等設(shè)備也需要幾十毫瓦,。數(shù)據(jù)移動(dòng)的過(guò)程導(dǎo)致了更大的能量開銷,似乎有這樣一條規(guī)則,,一個(gè)操作所需要的能量與發(fā)送數(shù)據(jù)的距離成正比,。CPU和傳感器發(fā)送的距離只有幾毫米,,而且非常便宜,而無(wú)線電發(fā)送的距離很遠(yuǎn),,并且價(jià)格昂貴,。我認(rèn)為即使技術(shù)上有所改善,這種差距仍然會(huì)進(jìn)一步擴(kuò)大,。
我們獲取的傳感器數(shù)據(jù)比我們使用的多
幾年前,,我和一些研究衛(wèi)星攝像的工程師交談過(guò)。他們的問(wèn)題是,,他們使用手機(jī)攝像頭已經(jīng)可以拍攝高清的視頻,,但衛(wèi)星上只有少量?jī)?nèi)存來(lái)存儲(chǔ)結(jié)果,每幾個(gè)小時(shí),,需要通過(guò)有限的帶寬下載到地球上的基站中,。我才突然發(fā)現(xiàn),幾乎所有的傳感器場(chǎng)景都面臨著同樣的問(wèn)題,。即使是家里的攝像頭也受到wifi和寬帶連接帶寬的限制,。我的一個(gè)朋友,他12月份的ISP使用率大大超出今年的限額,,當(dāng)他逐層分析后,,發(fā)現(xiàn)主要原因居然是因?yàn)槲堇镩W爍的圣誕燈導(dǎo)致視頻流壓縮比急劇下降。
還有很多這樣的例子,,我們的可穿戴設(shè)備和手機(jī)上的所有加速器都只是用來(lái)檢測(cè)可能喚醒設(shè)備的事件,,或者是基本的步驟計(jì)數(shù),所有可能的更復(fù)雜的活動(dòng)檢測(cè)都無(wú)法涉及,。
這對(duì)機(jī)器學(xué)習(xí)意味著什么,?
如果你接受上面的所有觀點(diǎn),那么很明顯,,有一個(gè)巨大的尚未開發(fā)的市場(chǎng)等待著用正確的技術(shù)來(lái)開啟,。我們需要一種能在廉價(jià)的微控制器上工作的東西,它只需要很少的能量,,它依賴于計(jì)算而不是無(wú)線電,,它能把我們所有浪費(fèi)的傳感器數(shù)據(jù)變成有用的東西。這就是機(jī)器學(xué)習(xí),,尤其是深度學(xué)習(xí)所填補(bǔ)的空白,。
深度學(xué)習(xí)在已有的微控制器上是計(jì)算密集且可用的
在深度學(xué)習(xí)實(shí)現(xiàn)方面,,它們幾乎都是受計(jì)算限制的,。這一點(diǎn)很重要,因?yàn)槲宜芯康钠渌麊?wèn)題幾乎都是受到訪問(wèn)大量?jī)?nèi)存的速度限制,。相比之下,,神經(jīng)網(wǎng)絡(luò)把大部分事件都花在了大矩陣相乘上,,同樣的數(shù)字在不同的組合中可以重復(fù)使用,這意味著CPU大部分時(shí)間都花在計(jì)算兩個(gè)緩存的數(shù)字相乘上,,而從內(nèi)存中獲取新值的時(shí)間要少得多,。
這很重要,因?yàn)閺膬?nèi)存中獲取數(shù)據(jù)需要更大的能量開銷(這可能是距離-能量的一個(gè)明顯例子——因?yàn)閮?nèi)存比寄存器更遠(yuǎn)),。相對(duì)較低的內(nèi)存需求意味著低功耗的SRAM或閃存可以用于存儲(chǔ),,這使得深度學(xué)習(xí)應(yīng)用程序非常適合于微控制器,尤其是當(dāng)使用8位計(jì)算而不是浮點(diǎn)數(shù)時(shí),,因?yàn)镸CUs通常已經(jīng)有類似dsp的指令,,非常適合。這一想法并不是特別新穎,,因?yàn)楣雀韬吞O果已經(jīng)開始有所行動(dòng),,在這些芯片上進(jìn)行語(yǔ)音識(shí)別,但在ML或嵌入式世界中,,似乎沒(méi)有多少人意識(shí)到深度學(xué)習(xí)和MCUs的結(jié)合價(jià)值,。
深度學(xué)習(xí)可以做到非常高的能源利用率
我花了很多時(shí)間去思考焦耳/運(yùn)算(picojoules per op.,CPU算數(shù)單元的能量開銷)的問(wèn)題,。因?yàn)檫@樣我可以得出一個(gè)大概的估計(jì),,知道一個(gè)神經(jīng)網(wǎng)絡(luò)大概要消耗多少能量。例如,,MobileNetV2圖像分類網(wǎng)絡(luò)在最小的版本中要2200萬(wàn)個(gè)操作,,如果知道每個(gè)操作需要5微微焦的能量,那么他就需要110微瓦的能量,,如果我們每秒分析一幀,,那么只有110微瓦,一枚硬幣電池可以持續(xù)使用一年,。這些數(shù)字在目前的dsp元件中是非常有競(jìng)爭(zhēng)力的,。
深度學(xué)習(xí)能夠感知傳感器的數(shù)據(jù)
在過(guò)去幾年,利用神經(jīng)網(wǎng)絡(luò)接收?qǐng)D像,、音頻,、加速度等噪聲信號(hào),并從中提取出價(jià)值這一難題,,突然變得可能,。因?yàn)槲覀兛梢栽谖⒖刂破髦羞\(yùn)行這些模型,而傳感器本身只需要很少的電量,,所以我們可以從傳感器數(shù)據(jù)中獲取更多的價(jià)值,。例如,我希望讓所有設(shè)備都有一個(gè)簡(jiǎn)單的語(yǔ)音交互能力。用于理解短語(yǔ),,或可以使用圖像傳感器完成目標(biāo)檢測(cè),,這樣可以不依賴按鈕來(lái)完成很多操作。希望這種語(yǔ)音交互組件可以在50美分硬幣電池下運(yùn)行一年,,并且這在我們當(dāng)前的技術(shù)上是可行的,。
另一個(gè)例子是,我想要一個(gè)小型電池驅(qū)動(dòng)的圖像傳感器,,我可以對(duì)它進(jìn)行編程,,以查找特定的作物害蟲或雜草,并在被發(fā)現(xiàn)時(shí)發(fā)出警報(bào),。它們可以分散在農(nóng)田周圍,,以一種更環(huán)保的方式指導(dǎo)諸如除草或殺蟲劑等干預(yù)措施。
讓我印象深刻的一個(gè)工業(yè)例子是一個(gè)工廠的經(jīng)營(yíng)者對(duì)“Hans”的描述,。他是一個(gè)資深工程師,,每天都要沿著一排機(jī)器走,并把手放在每一個(gè)機(jī)器上,,聽著,,然后告訴工頭哪些機(jī)器需要離線維修,這些都是基于經(jīng)驗(yàn)和直覺(jué)的,。如果你能在每臺(tái)機(jī)器上安裝一個(gè)電池驅(qū)動(dòng)的加速度計(jì)和麥克風(fēng)(一個(gè)“Cyber-Hans”),,倘若出現(xiàn)異常,這些機(jī)器將提前給工廠警告,。
類似的想法還有很多,,但最讓我興奮地是,我不知道這些設(shè)備將如何使用,,但背后的技術(shù)是如此迷人,,這將建立我無(wú)法想象的全新應(yīng)用程序。對(duì)我來(lái)說(shuō),,就像80年代家用電腦出現(xiàn)時(shí)的樣子,。我不知道它們會(huì)變成什么,當(dāng)時(shí)大多數(shù)人都用它來(lái)玩游戲或存儲(chǔ)地址簿,,但我知道這種設(shè)備將為世界帶來(lái)太多的可能性,。
召開會(huì)議而不是發(fā)送文件的唯一理由是為了傳達(dá)信息之外的情感。我想和CogX觀眾分享的是我對(duì)ML在小型設(shè)備上的應(yīng)用前景,。我不知道未來(lái)會(huì)出現(xiàn)什么細(xì)節(jié),,但我知道可用于機(jī)器學(xué)習(xí)微型化、廉價(jià)化的電池驅(qū)動(dòng)芯片即將問(wèn)世,,它將帶來(lái)一批無(wú)法想象的新應(yīng)用,。