爲什麼微型化是機器學習的未來?

为什么微型化是机器学习的未来?

當Azeem要我在CogX上發表演講時,他讓我突出一個讓觀眾信服的要點。幾年前,我的首要任務就是讓人們相信深度學習是一場真正的革命,而不僅僅是一種時尚,已經有足夠多旗艦產品應用深度學習的先例,這似乎已經證明了一切。我比大多數人先了解這個事實,不是因為我是一位具有深刻洞察力的先知,而是因為我花了很長時間對這項技術進行了親手實驗。我對深度學習的價值充滿信心,因為我親眼看到了它在一系列應用中的有效性,其廣泛應用只是一個時間問題。

在這裡我要談論另一種我可以肯定的趨勢,並且會產生同樣的影響,但這種影響並不是眾所周知的。我確信機器學習可以應用於微型低功耗芯片,而且這種組合將解決我們目前無法解決的大量問題。這就是我將在CogX上討論的內容,在這篇文章中,我將更詳細地解釋為什麼我很確定。

微型計算機已經很便宜且已廣泛應用

为什么微型化是机器学习的未来?

市場非常分散,很難獲得準確的數字,但最樂觀的估計是,今年將銷售超過400億個微控制器,並且考慮到產品的持續性,可能會有數千億的微控制器(或MCU)正在服役。微控制器是包含一個可能只有幾千字節RAM的小型CPU芯片包,並且嵌入在日常消費品,醫療,汽車和工業設備中。它們的設計目的是使用非常少量的電能,價格足夠便宜,幾乎可以集成於任何實物商品,今年的平均價格預計將低於50美分。

目前微型控制器並沒有引起太多關注,因為它們通常用於替代汽車、洗衣機或遙控器上的老舊機電系統。控制設備的邏輯與以前的模擬電路和繼電器相比幾乎沒有什麼變化,只有一些小工具可能稍有不同,諸如可編程遙控按鈕或根據降雨強度改變速度的雨刮器等。對製造商來說最大的好處是標準控制器可以用軟件進行編程,從而不需要為每項任務定製電子設備,因此微控制器的出現讓製造過程變得更加簡單、成本更加低廉。

電能是限制因素

任何需要市電的設備在使用時都有諸多不便。它們僅限於在有佈線的地方使用,即使有佈線,也可能因實際原因而難以插入新的設備,例如在工廠或手術室裡。將某些設備放在房間的角落意味著需要有線運行或用諸如以太網供電之類的替代方案。將市電壓電壓轉換為電路板電壓的電子設備可能會很昂貴且浪費能源。即使便攜式設備如手機或筆記本電腦也需要頻繁充電。

智能產品的制勝法寶是可以在任何地方部署,並且不需要維護,如充電或更換電池。實現這個目標的最大障礙是大多數電子系統消耗電量較大。以下是一些智能手機常見組件電能消耗的粗略數據(更多詳細信息,請參閱我的舊帖子):

  • 顯示屏功率大約400毫瓦。

  • 有源蜂窩無線通信組件功率大約800毫瓦。

  • 藍牙功率大約100毫瓦。

  • 加速度計是21毫瓦。

  • 陀螺儀是130毫瓦。

  • GPS是176毫瓦。

微控制器本身功率可能只有1毫瓦甚至更低,但外設功率很大。一枚紐扣電池大概能提供2500焦耳的電能,因此即便耗電為毫瓦級,電池也只能維持一個月左右。當然,目前大多數產品都使用空佔比和睡眠模式來避免持續耗電,即便如此,電量消耗還是很大。

CPU和傳感器幾乎不耗電,無線通信組件和顯示器耗電很多

從這些數字中可以總結出一點,處理器和傳感器可以將功耗降至微瓦級別(例如高通的Glance視覺芯片、能量採集CCD或耗能僅數百微瓦的麥克風),但顯示器尤其是無線通信組件有著更高的功耗,即使是低功耗的wifi和藍牙使用時耗能也達數十毫瓦。移動數據似乎需要大量的電能。有這樣一條規則,一個操作所需的能量與你發送比特的距離成正比。CPU和傳感器發送數據的距離只有幾毫米,能耗較低,無線通信組件發送數據數米遠或更遠,能耗更高。即使技術總體上有所改善,我也沒有看到這種關係會發生根本性變化。事實上,我預測計算和無線通信的能耗差距會變得更大,因為在我看來減少計算能耗的前景更大。

我們捕獲了超出所需的傳感器數據

幾年前,我曾與一些從事微型衛星拍攝影像工作的工程師進行了交談。他們的問題是,他們使用高清視頻攝像機,但他們的衛星內存太小,無法存儲太多數據,並且每隔幾小時才能利用有限的帶寬資源把數據下載到地球基站。我意識到幾乎所有傳感器都面臨同樣的問題。甚至家用攝像頭也受到無線帶寬的限制。這方面的一個典型例子是,我一個朋友家12月份的寬帶數據量遠高於全年其他時間,他深入研究發現,這是因為聖誕期間閃爍的燈光使視頻流壓縮比急劇下降,因為有更多的幀差異!

還有更多的例子,可穿戴設備和手機上的加速度計只用於喚醒設備或計步,並未檢測更復雜的活動。

這對於機器學習意味著什麼

如果你接受上述觀點,那很明顯,有一個巨大的市場正等著正確的技術來解鎖。我們需要一些東西來適配於廉價的微控制器,它們消耗電量非常少,依靠計算而不是無線通信,並且可以將我們浪費的傳感器數據轉化為有用的東西。這就是機器學習,特別是深度學習的要彌補的空白。

深度學習是計算密集型工作和並且在微控制器上運行良好

我喜歡深度學習,因為它們幾乎總是計算密集型的。我工作中的其它類應用程序都受到內存訪問速度的限制,結果通常不可預測。相比之下,神經網絡的大部分時間用於矩陣運算,其中相同的數字以不同的組合重複使用。這意味著CPU花大部分時間進行算術運算以將兩個緩存數字相乘,而從存儲器中獲取新值的時間要少得多。

這一點非常重要,因為從DRAM讀取數值消耗的電量可以是算術運算的上千倍。這似乎是距離/能量關係的另一個例子,因為DRAM在物理上遠比寄存器更遠。相對較低的內存要求(僅幾十或幾百千字節)也意味著可以使用較低功率的SRAM或閃存進行存儲。這使得深度學習應用非常適合微控制器,尤其是當使用8位運算代替浮點運算時,因為微控制器通常已經具有非常適合的類DSP指令。這個想法並不是特別新穎,蘋果和谷歌都將這類芯片應用於永久在線的語音識別網絡,但機器學習或嵌入式設備開發領域中很多人似乎都沒有意識到深度學習和微控制器可以高度融合。

深度學習可以非常節能

關於每個操作的皮焦耳我思考了很久。這是CPU單個算術運算消耗多少能量的度量標準,如果我知道給定神經網絡運行一次需要多少操作,我可以粗略估計它將消耗多少能量。例如,MobileNetV2圖像分類網絡的最小配置佔用了2200萬個操作數(每次乘加兩個操作數)。如果我知道一個特定的系統需要5皮焦來執行單個操作,那麼將需要(5皮焦* 22,000,000)= 110微焦能量來執行。如果我們每秒鐘分析一幀,那麼功率只有110微瓦,紐扣電池就可以持續使用近一年。這些數字都在當前DSP的運算範圍這內,我樂觀估計效率會不斷提高。這意味著運行現有神經網絡的能源成本已經完全在電池供電設備的預算範圍之內,並且隨著神經網絡模型架構和硬件的改進,效率可能會進一步提高。

深度學習使傳感器數據變得有意義

在過去的幾年中,由於使用神經網絡,我們突然能夠採集圖像、音頻或加速度計等噪聲信號,並能從中提取含義。由於我們可以在微控制器上運行這些網絡,並且傳感器本身消耗電量很小,因此可以處理更多目前被我們忽略的傳感器數據。例如,我希望所有設備都有簡單的語音接口。通過輸入一個小的詞彙表,再加上一個圖像傳感器來檢測視線,我們應該能夠更輕鬆控制所處環境中的幾乎所有設備,而無需通過按下按鈕或使用手機應用程序來控制它們。我希望一個語音接口組件價格低於五十美分,依靠紐扣電池供電可以使用一年,我相信我們現有的技術已經可以實現了。

另一個例子,我很想擁有一個電池供電的微型圖像傳感器,可以通過編程來查找特定農作物害蟲或雜草等物體,並在發現危害物體時發出警報。這些傳感器可以散佈在田間,以更環保的方式指導諸如除草或殺蟲等干預措施。

一名工廠管理員對“Hans”的描述就是一個工業方面的實例。Hans是一位資深工程師,每天早上沿著機器行走,將手放在每臺機器上,然後傾聽,之後根據經驗和直覺告訴工頭哪臺機器必須進行脫產維修。每個工廠都有這樣一個工程師,但他們都將面臨退休。如果您可以將鈕釦電池供電的加速度計和麥克風固定在每臺機器上(“網絡Hans”),它們可以識別常規操作並在異常時發出信號。您就可以在問題真正發生之前發現它們。

我可能夢想過一百種其他類似的產品,但說實話,最讓我興奮的是,我並不知道這些新設備將如何使用,只是因為它們背後的技術非常引人注目,將會出現我無法想象的全新應用。對我來說,我就像個八十年代的孩子,當出現第一臺家用電腦時,我不知道電腦會變成什麼樣子,當時大多數人都用它來玩遊戲或存儲地址簿,但是我知道會有很多可能性,一個全新的世界將會出現。

外賣”信息

召開面對面會議而不是發送文檔的唯一原因是需要情感溝通。我想與CogX觀眾分享是,我對機器學習在微型設備上的應用前景充滿信心,雖然博客文章並不能完全替代現場演講,但我希望我已經在這裡傳遞了一些信息。我不知道未來的細節,但我知道,基於微型、廉價、電池供電芯片的機器學習正在崛起,一些讓人驚歎的新應用即將出現!

英文原文:https://petewarden.com/2018/06/11/why-the-future-of-machine-learning-is-tiny/
譯者:錢利鵬


分享到:


相關文章: