為什么說深度學習和MCU是天作之合?
Pete Warden,是谷歌TensorFlow團隊成員,也是TensorFLow Mobile的負責人,常年遨游在深度學習的大海。
本文引用地址:http://www.ex-cimer.com/article/201806/381703.htm另外,這些看上去很熟悉的書,也是他的作品。
除此之外,皮特有個新的想法要和大家分享——
他堅定地相信,未來的深度學習能夠在微型的、低功耗的芯片上自由地奔跑。
換句話說,單片機 (MCU) ,有一天會成為深度學習最肥沃的土壤。
這里面的邏輯走得有些繞,但好像還是有點道理的。
為什么是單片機
單片機遍地都是
根據(jù)皮特的估計,今年一年全球會有大約400億枚單片機 (MCU) 售出。
MCU里面有個小CPU,RAM只有幾kb的那種,但醫(yī)療設(shè)備、汽車設(shè)備、工業(yè)設(shè)備,還有消費級電子產(chǎn)品里,都用得到。
這樣的計算機,需要的電量很小,價格也很便宜,大概不到50美分。
之所以得不到重視,是因為一般情況下,MCU都是用來取代 (如洗衣機里、遙控器里的) 那些老式的機電系統(tǒng)——控制機器用的邏輯沒有發(fā)生什么變化。
能耗才是限制因素
任何需要主電源 (Mains Electricity) 的設(shè)備,都有很大的局限性。畢竟,不管到哪都要找地方插電,就算是手機和PC都得經(jīng)常充電才行。
然而,對智能產(chǎn)品來說,在任何地方都能用、又不用經(jīng)常維護,才是王道。
所以,先來看下智能手機的各個部位用電有多快——
· 顯示器400毫瓦
· 無線電800毫瓦
· 藍牙100毫瓦
· 加速度計21毫瓦
· 陀螺儀130毫瓦
· GPS 176毫瓦
相比之下,MCU只需要1毫瓦,或者比這更少??墒牵幻都~扣電池擁有2,000焦耳的電量,所以即便是1毫瓦的設(shè)備,也只能維持1個月。
當然,現(xiàn)在的設(shè)備大多用占空比 (Duty Cycling) ,來避免每個部件一直處在工作狀態(tài)。不過,即便是這樣,電量分配還是很緊張。
CPU和傳感器不太耗電
CPU和傳感器的功耗,基本可以降到微瓦級,比如高通的Glance視覺芯片。
相比之下,顯示器和無線電,就尤其耗電了。即便是WiFi和藍牙也至少要幾十毫瓦。
因為,數(shù)據(jù)傳輸需要的能量,似乎與傳輸距離成正比。CPU和傳感器只傳幾毫米,而無線電的傳送距離以米為單位,就要貴得多。
傳感器的數(shù)據(jù)都去哪了
傳感器能獲取的數(shù)據(jù),比人們能用到的數(shù)據(jù),多得多。
皮特曾經(jīng)和從事微型衛(wèi)星拍攝的攻城獅聊過。
他們基本上用手機相機來拍高清視頻。但問題是,衛(wèi)星的數(shù)據(jù)存儲量很小,傳輸帶寬也很有限,從地球上每小時只能下載到一點點數(shù)據(jù)。
就算不涉及到地外事務(wù),地球上的很多傳感器也會遇到這樣的尷尬。
一個很有趣的栗子,來自皮特的一個好基友,每到12月,他家上網(wǎng)流量就會用到爆炸。后來,他發(fā)現(xiàn)是那些給圣誕節(jié)掛的彩燈,影響了視頻下載的壓縮比例,多下載了很多幀。
跟深度學習有什么關(guān)系
如果上面這些聽上去有點道理,那么就有一大片市場等待技術(shù)來挖掘。
我們需要的是,能夠在單片機上運轉(zhuǎn)的,不需要很多電量的,依賴計算不依賴無線電,并且可以把那些本來要浪費掉的傳感器數(shù)據(jù)利用起來的,設(shè)備。
這也是機器學習,特別是深度學習,需要跨越的鴻溝。
天作之合
深度學習就是上面所說的,計算密集型,可以在現(xiàn)有的MCU上運行得很舒服。
這很重要,因為很多其他的應(yīng)用,都受到了“能在多短的時間里獲得大量的儲存空間”這樣的限制。
相比之下,神經(jīng)網(wǎng)絡(luò)大部分的時間,都是用來把那些很大很大的矩陣乘到一起,翻來覆去用相同的數(shù)字,只是組合方式不同了。
這樣的運算,當然比從DRAM里讀取大量的數(shù)值,要低碳得多。
需要的數(shù)據(jù)沒那么多的話,就可以用SRAM這樣低功耗的設(shè)備來存儲。
如此說來,深度學習最適合MCU了,尤其是在8位元計算可以代替浮點運算的時候。
深度學習很低碳
皮特花了很多時間,來考慮每次運算需要多少皮焦耳。
比如,MobileNetV2的圖像分類網(wǎng)絡(luò),的最簡單的結(jié)構(gòu),大約要用2,200萬次運算。
如果,每次運算要5皮焦,每秒鐘一幀的話,這個網(wǎng)絡(luò)的功率就是110微瓦,用紐扣電池也能堅持近一年。
對傳感器也友好
最近幾年,人們用神經(jīng)網(wǎng)絡(luò)來處理噪音信號,比如圖像、音頻、加速度計的數(shù)據(jù)等等。
如果可以在MCU上運行神經(jīng)網(wǎng)絡(luò),那么更大量的傳感器數(shù)據(jù)就可以得到處理,而不是浪費。
那時,不管是語音交互,還是圖像識別功能,都會變得更加輕便。
雖然,這還只是個理想。
最后一句
果然,TensorFlow Mobile的老大,滿腦子還是便攜設(shè)備的事。
評論