當前位置:
首頁 > 最新 > 為什麼說未來的AI深度學習是小、輕、快

為什麼說未來的AI深度學習是小、輕、快

Why the Future of Machine Learning is Tiny

當Azeem邀請我到CogX做演講時,他希望我能把核心集中於引導用戶思考的某一個點上。前幾年,我的首要任務是讓人們相信,深度學習是一場真正的革命,而不僅僅是一時的風尚,目前已經有足夠多的例子可以證明這個觀點。我之所以知道這個觀點是正確的,並不是因為我是一個預言家,而是因為我有機會可以花時間去親自動手操作這項技術。所以我非常相信深度學習的價值,因為我親眼見到了這些效果,並且知道,阻止它從實驗室走向工業界的唯一屏障,僅僅在於更廣泛的應用場景需要投入更多的研究時間。

今天,我將談論另一種鮮為人知的,但我確信無疑的趨勢。那就是我相信機器學習可以在微小的、低功耗的晶元上運行,這種技術將解決目前方案中的瓶頸問題,這就是我在CogX上要講的。

微型電腦已經足夠便宜,且非常普及

因為市場過於分散,以至於很難得到確切的數字,但最好的估計是今年將有超過400億的微控制器售出,考慮到他們所使用的產品的持久性,可能會有數千億個微控制器在使用。微控制器(或MCUs)包含一個小CPU,僅僅只有幾千位元組的RAM,並且被嵌入到消費者、醫療、汽車和工業設備中。它們的設計目的是為了得到低功耗、低成本的產品,預計這一產品今年的平均價格將低於50美分。

它們並沒有得到太多的關注,因為它們經常被用來取代舊的電動機械系統在汽車、洗衣機或遙控器上的功能。這些設備的控制邏輯和以前使用的模擬電路和繼電器幾乎沒有什麼區別,除了可能有一些可編程功能的微小改變。對於製造商來說,最大的好處是,標準的控制器可以用軟體來編程,而不是去定製電子設備,這樣可以降低製造過程的成本,也更容易生產。

能源是限制因素

任何需要電源的設備都面臨著布線問題的限制,而且一旦開始布線也有可能引來其他新的問題,例如,在手術室中與工廠的地板上。為了將電源電壓從輸電電壓轉換到設備可用電壓是非常昂貴且浪費的。甚至是像手機或筆記本電腦這種攜帶型設備也需要非常頻繁的充電。

幾乎任何智能產品的終極目標都是為了讓設備可以部署在任何地方,而不需要什麼維護手段。為了實現這一目標,最大的障礙是:大多數的電子系統都需要使用能源。下面是一些基於智能手機能耗數據的常見組件的粗略數字(更多細節請參閱我的以前的博文 【1】):

一個顯示器可能需要400毫瓦。

有源電池收音機可能使用800毫瓦。

藍牙可能使用100毫瓦。

加速度計是21毫瓦。

陀螺儀是130毫瓦。

GPS是176毫瓦。

一個微控制器本身可能只使用1毫瓦或者更少,但外設可能會使用更多的電能,一枚硬幣電池可以提供2500焦耳的能量,所以電池即使要給1毫瓦的設備供電,也只能維持一個月左右,當然,目前大多數的產品都使用了輪轉和睡眠,以避免經常開機,但即便如此,問題仍未的到解決。

CPU和感測器幾乎不使用電源,而收音機和顯示器使用的電量很多

一般來說處理器、感測器可以將電力成本降低到微瓦級別,但顯示器、無線電等設備需要更多的電力成本,甚至是低功耗、藍牙等設備也需要幾十毫瓦。數據移動的過程導致了更大的能量開銷,似乎有這樣一條規則,一個操作所需要的能量與發送數據的距離成正比。CPU和感測器發送的距離只有幾毫米,而且非常便宜,而無線電發送的距離很遠,並且價格昂貴。我認為即使技術上有所改善,這種差距仍然會進一步擴大。

我們獲取的感測器數據比我們使用的多

幾年前,我和一些研究衛星攝像的工程師交談過。他們的問題是,他們使用手機攝像頭已經可以拍攝高清的視頻,但衛星上只有少量內存來存儲結果,每幾個小時,需要通過有限的帶寬下載到地球上的基站中。我才突然發現,幾乎所有的感測器場景都面臨著同樣的問題。即使是家裡的攝像頭也受到wifi和寬頻連接帶寬的限制。我的一個朋友,他12月份的ISP使用率大大超出今年的限額,當他逐層分析後,發現主要原因居然是因為屋裡閃爍的聖誕燈導致視頻流壓縮比急劇下降。

還有很多這樣的例子,我們的可穿戴設備和手機上的所有加速器都只是用來檢測可能喚醒設備的事件,或者是基本的步驟計數,所有可能的更複雜的活動檢測都無法涉及。

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

如果你接受上面的所有觀點,那麼很明顯,有一個巨大的尚未開發的市場等待著用正確的技術來開啟。我們需要一種能在廉價的微控制器上工作的東西,它只需要很少的能量,它依賴於計算而不是無線電,它能把我們所有浪費的感測器數據變成有用的東西。這就是機器學習,尤其是深度學習所填補的空白。

深度學習在已有的微控制器上是計算密集且可用的

在深度學習實現方面,它們幾乎都是受計算限制的。這一點很重要,因為我所研究的其他問題幾乎都是受到訪問大量內存的速度限制。相比之下,神經網路把大部分事件都花在了大矩陣相乘上,同樣的數字在不同的組合中可以重複使用,這意味著CPU大部分時間都花在計算兩個緩存的數字相乘上,而從內存中獲取新值的時間要少得多。

這很重要,因為從內存中獲取數據需要更大的能量開銷(這可能是距離-能量的一個明顯例子——因為內存比寄存器更遠)。相對較低的內存需求意味著低功耗的SRAM或快閃記憶體可以用於存儲,這使得深度學習應用程序非常適合於微控制器,尤其是當使用8位計算而不是浮點數時,因為MCUs通常已經有類似dsp的指令,非常適合。這一想法並不是特別新穎,因為谷歌和蘋果已經開始有所行動,在這些晶元上進行語音識別,但在ML或嵌入式世界中,似乎沒有多少人意識到深度學習和MCUs的結合價值。

深度學習可以做到非常高的能源利用率

我花了很多時間去思考焦耳/運算(picojoules per op.,CPU算數單元的能量開銷)的問題。因為這樣我可以得出一個大概的估計,知道一個神經網路大概要消耗多少能量。例如,MobileNetV2圖像分類網路在最小的版本中要2200萬個操作,如果知道每個操作需要5微微焦的能量,那麼他就需要110微瓦的能量,如果我們每秒分析一幀,那麼只有110微瓦,一枚硬幣電池可以持續使用一年。這些數字在目前的dsp元件中是非常有競爭力的。

深度學習能夠感知感測器的數據

在過去幾年,利用神經網路接收圖像、音頻、加速度等雜訊信號,並從中提取出價值這一難題,突然變得可能。因為我們可以在微控制器中運行這些模型,而感測器本身只需要很少的電量,所以我們可以從感測器數據中獲取更多的價值。例如,我希望讓所有設備都有一個簡單的語音交互能力。用於理解短語,或可以使用圖像感測器完成目標檢測,這樣可以不依賴按鈕來完成很多操作。希望這種語音交互組件可以在50美分硬幣電池下運行一年,並且這在我們當前的技術上是可行的。

另一個例子是,我想要一個小型電池驅動的圖像感測器,我可以對它進行編程,以查找特定的作物害蟲或雜草,並在被發現時發出警報。它們可以分散在農田周圍,以一種更環保的方式指導諸如除草或殺蟲劑等干預措施。

讓我印象深刻的一個工業例子是一個工廠的經營者對「Hans」的描述。他是一個資深工程師,每天都要沿著一排機器走,並把手放在每一個機器上,聽著,然後告訴工頭哪些機器需要離線維修,這些都是基於經驗和直覺的。如果你能在每台機器上安裝一個電池驅動的加速度計和麥克風(一個「Cyber-Hans」),倘若出現異常,這些機器將提前給工廠警告。

類似的想法還有很多,但最讓我興奮地是,我不知道這些設備將如何使用,但背後的技術是如此迷人,這將建立我無法想像的全新應用程序。對我來說,就像80年代家用電腦出現時的樣子。我不知道它們會變成什麼,當時大多數人都用它來玩遊戲或存儲地址簿,但我知道這種設備將為世界帶來太多的可能性。


近來,谷歌一篇關於使用深度學習進行電子病例分析的論文,再次引發熱議。

起因是以色列理工學院工業工程與管理學院的助理教授 Uri Shalit 在 Twitter 上發文,指出這篇論文的補充材料里,有一處結果非常值得注意:標準化邏輯回歸實質上與深度神經網路一樣好

Uri Shalit 的研究方向是將機器學習應用於醫療領域,尤其是在向醫生提供基於大型健康數據的決策支持工具方面。其次,他也研究機器學習和因果推斷的交集,重點是使用深度學習方法進行因果推斷。在加入以色列理工學院以前,他先後在 David Sontag 教授在紐約大學和在 MIT 的臨床機器學習實驗室當博士後。 Uri Shalit 說的補充材料中的結果是指這個:

其中,基線 aEWS(augmented Early Warning Score)是一個有 28 個因子的邏輯回歸模型,在論文作者對預測患者死亡率的傳統方法 EWS 進行的擴展。而 Full feature simple baseline 則是 Uri Shalit 說的標準化邏輯回歸。

注意到基線模型(紅框標識)和深度模型在 AUCs 置信區間的重疊了嗎?

Uri Shalit 表示,他由此得出的結論是,在電子病例分析這類任務中,應該選擇使用邏輯回歸,而不是深度學習,因為前者更加簡單,更具可解釋性,這些優點要遠遠勝過深度學習帶來的微小的精度提升。

或者,Uri Shalit 補充說,這表明我們目前還沒有找到正確的深度學習結構,能實現在圖像、文本和語音建模領域中那樣的性能提升。

谷歌首篇深度學習電子病歷分析論文,Jeff Dean 等大牛扛鼎之作,結果出人意料

谷歌的這篇論文「Scalable and Accurate Deep Learning for Electronic Health Records」,發表在自然出版集團(NPG)旗下開放獲取期刊 npJ Digital Medicine 上,由 Jeff Dean 率隊,聯合 UCSF、斯坦福、芝加哥大學眾多大牛,與全球頂級醫學院聯合完成,從題目到作者都吊足了大家的胃口。

實際上,早在今年初,新智元就介紹過這篇論文,當時它還只是掛在 arXiv 上,康奈爾大學威爾醫學院助理教授王飛對當時的 arXiv 版本進行了解讀。

這項工作是在 UCSF 和 UChicago 這兩大醫院系統的電子病曆數據上,用深度學習模型預測四件事:1)住院期間的死亡風險;2)規劃之外的再住院風險;3)長時間的住院天數;4)出院的疾病診斷。

文章仔細介紹了實驗信息,例如如何構建病人隊列、特徵如何變換、演算法如何評價等等。對於每一個預測任務,作者也都選取了臨床上常用的演算法作為基線來進行比較,例如評價死亡風險的 EWS 分數,以及評價再住院風險的 HOSPITAL 分數,並對這些模型做了微小的改進。最終結果,作者提出的深度學習模型在各項任務中都顯著優於傳統模型(AUC 普遍提高 0.1 左右)。

論文插圖:使用深度學習預測病人住院期間死亡風險,深度學習(實線)在前後24小時時間範圍內,都比基線水平(虛線)準確率更高。

如果說這次在同行評議期刊發表出的論文與之前的 arXiv 版本有什麼不同,最大的就是給出了 15 頁的補充資料,展示了深度學習方法與各種基線的具體數值。

谷歌這篇論文的初衷,是強調直接從 FHIR 數據中進行機器學習(「我們提出了一種對病人整個基於 FHIR 格式的原始 EHR 的表示」)。正如論文中所寫的那樣,其方法的原創性並不僅僅在於對模型性能的提升,而是「這種預測性能是在沒有對專家認為重要的那些變數進行手動選擇的情況下實現的……模型訪問每位患者數以萬計的預測因子,並從中確定哪些數據對於進行特定的預測非常重要」。

但是,從論文的一些表述,尤其是標題中,難免有宣傳深度學習的嫌疑,也是這次爭議重點所在。

UC戴維斯和斯坦福新研究,首次證明神經網路 = 多項式回歸

現如今,深度神經網路已經成了很多分析師進行預測分析的首選。而在大眾媒體里,「深度學習」也幾乎可以算得上「人工智慧」的同義詞。

深度學習的熱潮或許仍在持續,但很明顯,越來越多的人開始冷靜下來思考並且質疑。

在一篇最新公布的文章里,加州大學戴維斯分校和斯坦福的研究人員便指出,神經網路本質上是多項式回歸模型。他們的文章取了一個謹慎的標題《多項式回歸作為神經網路的代替方法》(Polynomial Regression As an Alternative to Neural Nets),對神經網路的眾多性質進行了討論。

作者在論文中列出了他們這項工作的主要貢獻,包括:

NNAEPR 原理:證明了任何擬合的神經網路(NN)與擬合的普通參數多項式回歸(PR)模型之間存在粗略的對應關係;NN 就是 PR 的一種形式。他們把這種鬆散的對應關係稱為 NNAEPR——神經網路本質上是多項式模型(Neural Nets Are Essentially Polynomial Models)。

NN 具有多重共線性:用對 PR 的理解去理解 NN,從而對 NN 的一般特性提供了新的見解,還預測並且確認了神經網路具有多重共線性(multicollinearity),這是以前未曾在文獻中報道過的。

很多時候 PR 都優於 NN:根據 NNAEPR 原理,許多應用都可以先簡單地擬合多項式模型,繞過 NN,這樣就能避免選擇調整參數、非收斂等問題。作者還在不同數據集上做了實驗,發現在所有情況下,PR 的結果都至少跟 NN 一樣好,在一些情況下,甚至還超越了 NN

NNAEPR 原理——神經網路本質上是多項式回歸

其中,作者重點論證了他們的 NNAEPR 原理。此前已經有很多工作從理論和實踐角度探討了神經網路和多項式回歸的共性。但是,UC戴維斯和斯坦福的這幾名研究人員表示,他們的這項工作是首次證明了 NN 就是 PR 模型,他們從激活函數切入:

根據通用逼近定理,NN 可以無限逼近回歸函數 r (t),

假設 p = 2,用 u 和 v 來表示特徵,第一層隱藏層的輸入,包括「1」的節點,將是

設激活函數為,那麼第一層的輸出將是 u 和 v 的二次函數。類似地,第二層將產生四次多項式,依此類推,可以生成在回歸函數空間中密集的多項式。

而對於更加實際的激活函數,其本身就常常被多項式逼近。因此,也適用於上述規則。

換句話說,NN 可以被鬆散地視為多項式回歸的一種。

實驗結果:多項式回歸在很多時候都優於神經網路

作者進行了很多實驗來比較 PR 與 NN 的性能。在下面的各種結果中,PR 表示多項式回歸,PCA 表示在生成多項式之前用 90%總方差主成分分析降維。KF 表示通過 Keras API 的神經網路,默認配置是兩層,一層 256 個單元,一層 128 個單元(寫作 「256,128」),dropout 比例是 0.4。DN 表示通過 R 語言包 deepnet 的神經網路。DN 會比 KF 快很多,因此在大一些的問題里會用 DN,但兩者性能還是相似的。

矽谷程序員收入預測的結果

預測歌曲出版時間的結果

UCI 數據集字母預測的結果

Kaggle 數據集計程車旅途時長預測結果

哈佛/MIT MOOC獲得證書預測結果

NCI 基因數據癌症預測結果

男女運動數據預測 Crossfit Open 排名

Crossfit Open 排名,數據集大小與預測精度的比較

總之,一系列實驗結果表明,PR 至少不會比 NN 差,有些時候還超過了 NN。在實踐中,許多分析師只是一開始就去擬合過大的模型,比如使用很多層,每層有數百個神經元。他們發現,使用 PR,很少需要超越 2 級,NNAEPR 原理表示,只用一層或者兩層就夠了,每一層有少量的神經元。

同時,作者也開始懷疑,擬合大的 NN 模型通常導致大多數的權重為0,或接近於0。他們已經開始調查這一點,初步結果與 NNAEPR 原理相結合表明,在 NN 初始化中 configur 大型網路可能是個糟糕的策略。

最後,他們開源了一個 R 語言的軟體包 polyreg(Python 的正在製作中),裡面有很大源代碼可以實現很多功能。

相關論文

工業智能化

招財微盤寶


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 工業智能化 的精彩文章:

AI已經進化到幾小時就能發現元素周期表,還能創造所有漢字!

TAG:工業智能化 |