麻省理工的研究人員已經設計出了一種新型的精簡神經網絡的方法。此方法通過給神經網絡的能耗進行建模的方式使整個系統更加輕便,可在掌上設備中更加有效地運行。
近年來,在自動駕駛、語音識別、計算機視覺和自動翻譯等領域表現優秀的人工智能系統無不受益于神經網絡。但是,神經網絡會消耗大量內存和能源,因此往往需要在云端服務器上運行,從桌面或移動設備上獲取數據,然后返回分析結果。
去年,MIT 電氣工程和計算機科學系(EECS)副教授 Vivienne Sze 和同事研發出一種新的適用于神經網絡的高能效計算機芯片,這種芯片可使人工智能系統在移動設備上進行本地運行。
現在,Sze 和同事還試圖從另一個方向解決該問題,即運用電池技術設計更節能的神經網絡。他們首先提出一種方法,該方法能夠確定神經網絡在特定類型的硬件上運行時的能耗。然后,他們使用該方法評估降低神經網絡能耗的新技術,以使神經網絡能夠更高效地在掌上設備中運行。
研究者在下周計算機視覺與模式識別大會(Computer Vision and Pattern Recognition Conference,CVPR)的參會論文中詳述了這項工作。該論文介紹了將神經網絡標準耗電量降低 73% 的方法,這比之前降低網絡耗電量的最優方法低了 43%。
1.能耗評估器
以大腦解剖學為設計基礎的神經網絡包含成千上萬甚至數百萬的簡單但緊密互聯的信息處理節點,這些節點通常形成多個連接層。神經網絡的類型根據層數、節點之間連接線的數量、以及每一層的節點總數的不同而發生變化。
節點之間的連接有「權重」,即給定節點的輸出對下一個節點計算能力的影響力大小。在訓練過程中,向神經網絡提供大量學習樣本,并持續調整其權重,直到網絡最后一層的輸出與計算結果保持持續相符。
「我們首先開發了一個能量模型工具,用來記錄數據移動、交易和數據流動,」Sze 說,「只要給它一個神經結構和權重值,它就能告訴你該神經網絡的能耗。人們會問『權重高的淺層網絡能耗大,還是權重低的深層網絡能耗大?』該工具可以幫助我們更好地了解能量的去向,這樣算法設計者可以將其作為反饋,從而對能耗情況有更全面的了解。了解能量實際去向之后,我們開始使用該模型設計節能的神經網絡。」
Sze 說,過去研究者使用「精簡」(pruning)法降低神經網絡的能耗。節點之間低權重的連接對神經網絡最終輸出結果貢獻極小,因此許多連接被去除或者說被修剪掉了。
2.原則性精簡
在能量模型的幫助下,Sze 和她的同事——第一作者 Tien-Ju Yang 和 Yu-Hsin Chen(電氣工程與計算機科學系的研究生),改變了此方法。盡管去掉大量的低權重連接(low-weight connections)對神經網絡輸出僅有一些小的影響,但是如果把所有都去掉的話可能就會產生比較大的負面作用了,所以在精簡方法中必須有一些機制來決定何時停止。
因此 MIT 的研究人員就開始精簡網絡中那些消耗能量最多的連接層。他們把這種方法命名為「能源感知型精簡」。(「energy-aware pruning」)。
神經網絡中的權重既可以是正的,也可以是負的,所以研究人員也在尋找哪些具有相反符號的連接有相互抵消的傾向。已知節點的輸入,是其下方連接層的輸出與它們之間的權重的乘積。因此研究人員的方法不僅要關注權重本身,也要關注相關節點處理訓練數據的方式。在早期,只有當擁有正負權重的連接組合持續地進行相互性補償時,它們才可以被安全地削減掉。這就引出了比早期精簡方法擁有更少連接的,且更高效的網絡。
最近,「深度學習界的很多活動已經指向了有限計算力平臺下的高效神經網絡結構的相關研發工作」,谷歌移動端視覺團隊的領導 Hartwig Adam 說道,「然而,大多數相關研究都聚焦于減小模型規格或計算能力,其實由于電池使用率和熱限制(heat restriction)的存在,智能手機和很多其它設備的能耗問題才是最為重要的。」我們的工作正在采用一種關于 CNN 結構優化的先進性方法,直接通過使用一種精良的新型能量評估工具使其能耗最小化,并且它展現出了比以計算能力為中心的方法更高的增益。我希望這一領域內的其他研究人員會跟隨此種方法,并且把這種一般方法論應用到神經網絡模型設計當中。
來源:機器之心
往期推薦