讓深度學(xué)習(xí)告別密集計算,新技術(shù)可減少95%計算量
萊斯大學(xué)的計算機科學(xué)家已經(jīng)改編了一種普遍使用的技術(shù)來快速檢查數(shù)據(jù)從而削減計算量,因此深度學(xué)習(xí)所需的能耗和時間也有所削減。
萊斯大學(xué)的助理教授 Anshumali Shrivastava 說,「它應(yīng)用于任何深度學(xué)習(xí)架構(gòu),該技術(shù)都能亞線性地擴展,也就是應(yīng)用到的深度神經(jīng)網(wǎng)絡(luò)越大節(jié)省的計算越多?!?/p>
該研究將會發(fā)布在今年的 KDD 會議上被介紹,它解決了谷歌、Facebook、微軟等大公司面臨的***難題之一。這些大公司都在爭相建立、訓(xùn)練、部署大量的深度學(xué)習(xí)網(wǎng)絡(luò)來發(fā)展不同的產(chǎn)品,例如自動駕駛汽車、翻譯、郵件智能回復(fù)。
Shrivastave 和萊斯大學(xué)的研究生 Ryan Spring 表示該技術(shù)來自于哈希法(hashing),一種行之有效的數(shù)據(jù)檢索方法,經(jīng)過改編可極大地減少深度學(xué)習(xí)的計算成本。哈希法使用哈希函數(shù)將數(shù)據(jù)轉(zhuǎn)換為易管理的小數(shù)值哈希(被稱作 hash)。哈希被存儲在表格中,類似于印刷書中的索引。
Spring 說:「我們的方法融合了兩項技術(shù)——巧妙的本地敏感性哈希法變體(variant of locality-sensitive hashing)和稀疏反向傳播變體——以減少計算需求,且不附帶大量的精確度損失。例如,在小規(guī)模的測試中發(fā)現(xiàn)我們可以降低 95% 的計算,但是和通過標準方法獲取的精確度依然差 1% 以內(nèi)。」
深度學(xué)習(xí)網(wǎng)絡(luò)的基本構(gòu)建塊是人工神經(jīng)元。盡管在 1950 年代就被作為生物大腦神經(jīng)元的模型,人工神經(jīng)元還僅僅是把輸入數(shù)據(jù)轉(zhuǎn)化為輸出結(jié)果的數(shù)學(xué)函數(shù)和方程式。
在機器學(xué)習(xí)中,所有神經(jīng)元都有相同的初始狀態(tài),就像白紙一樣,它們會隨著訓(xùn)練擁有各自的特定功能。在訓(xùn)練中,神經(jīng)網(wǎng)絡(luò)「看到」了大量數(shù)據(jù),每個神經(jīng)元都會成為識別數(shù)據(jù)中特定模式的專用結(jié)構(gòu)。在***層,神經(jīng)元執(zhí)行簡單的任務(wù)。例如在圖像識別應(yīng)用中,底層神經(jīng)元或許用于識別亮/暗,或是物體的邊緣。來自這些神經(jīng)元的輸出會被傳遞到網(wǎng)絡(luò)中下一層的神經(jīng)元那里,經(jīng)受其他模式的識別和處理。僅有幾層的神經(jīng)網(wǎng)絡(luò)即可識別面部、貓狗、交通指示牌和校車等概念。
Shrivastava 說:「向神經(jīng)網(wǎng)絡(luò)層級添加更多的神經(jīng)元能擴展其表現(xiàn)性能,而我們希望神經(jīng)網(wǎng)絡(luò)沒有大小上限,據(jù)報道谷歌正在嘗試訓(xùn)練一個包含 1370 億神經(jīng)元的模型?!瓜啾戎?,對于訓(xùn)練和部署這樣的神經(jīng)網(wǎng)絡(luò)可能會有計算力的限制。
他說:「如今使用的大部分機器學(xué)習(xí)算法都開發(fā)于 30 至 50 年前,設(shè)計時并未考慮計算復(fù)雜性。但有了大數(shù)據(jù)之后,在資源上有了基本的限制,比如計算周期、能耗和存儲。我們實驗室旨在解決這些限制。」
Spring 表示,大規(guī)模的深度網(wǎng)絡(luò)中,哈希法將會極大地節(jié)省計算量和能耗。
他說:「節(jié)能隨著規(guī)模而增加是由于我們利用了大數(shù)據(jù)之中的稀疏性。例如,我們知道一個深度網(wǎng)絡(luò)有 10 億個神經(jīng)元。對于任何給定的輸入,比如一只狗的圖片,只有其中的幾個會變興奮。按照數(shù)據(jù)用語,我們將其稱為稀疏性,而正是由于稀疏性,我們的方法將在網(wǎng)絡(luò)變大之時節(jié)能更多。因此,當我們展示了 1000 個神經(jīng)元的 95% 的節(jié)能時,數(shù)學(xué)表明我們可以為 10 億個神經(jīng)元實現(xiàn)超過 99% 的節(jié)能?!?/p>
論文:通過隨機化哈希的可擴展和可持續(xù)的深度學(xué)習(xí)(Scalable and Sustainable Deep Learning via Randomized Hashing)
鏈接地址:https://arxiv.org/abs/1602.08194
摘要:為了能在復(fù)雜的數(shù)據(jù)集上進行學(xué)習(xí),當前深度學(xué)習(xí)架構(gòu)正變得越來越大。這些架構(gòu)需要極大量的矩陣乘法運算以訓(xùn)練數(shù)以百萬計的參數(shù)。相對地,還有另一個正在發(fā)展的趨勢想要將深度學(xué)習(xí)引入低功耗的、嵌入式的設(shè)備中。這些矩陣運算(深度網(wǎng)絡(luò)的訓(xùn)練和測試都需要)在計算和功耗上都有很高的成本。我們提出了一種全新的基于哈希法(hashing)的技術(shù),可以極大地減少深度網(wǎng)絡(luò)的訓(xùn)練和測試所需的計算量。我們的方法結(jié)合了自適應(yīng) dropout(adaptive dropout)和用于***內(nèi)積搜索(maximum inner product search)的隨機化哈希(randomized hashing),從而可以有效地選擇有***激活(activation)的節(jié)點。我們用于深度學(xué)習(xí)的新算法可以運行在顯著更少(稀疏)的節(jié)點上,從而可以極大減少前向和反向傳播的總計算成本。因此,我們的算法可以僅使用 5% 的總乘法量就平均保持在原模型準確度的 1% 的范圍內(nèi)。這里提出的基于哈希法的反向傳播有一個獨特的性質(zhì):其更新總是稀疏的。因為這種稀疏的梯度更新,我們的算法可以***地用于異步和并行的訓(xùn)練,可以通過增加內(nèi)核的數(shù)量來實現(xiàn)近乎線性的加速。我們通過在幾個真實數(shù)據(jù)集上的嚴格評估證明了我們提出的算法的可擴展性和可持續(xù)性(能效)。
算法 1:使用隨機化哈希的深度學(xué)習(xí)
圖 2:一個使用隨機化哈希的神經(jīng)網(wǎng)絡(luò)的可視化表示
圖 2中(1) 通過對每一隱藏層的權(quán)重進行哈希操作來構(gòu)建哈希表;(2) 使用該層的隨機化哈希函數(shù)來對該層的輸入進行哈希操作;(3) 查詢該層用于活動集 AS 的哈希表;(4) 僅在該活動集中的神經(jīng)元上執(zhí)行前向和反向傳播。隱藏層中實心涂色的神經(jīng)元是活動神經(jīng)元。(5) 對更新后的權(quán)重重新執(zhí)行哈希至新的哈希位置,從而更新 AS 權(quán)重和哈希表。
原文:https://phys.org/news/2017-06-scientists-slash-deep.html
【本文是51CTO專欄機構(gòu)“機器之心”的原創(chuàng)譯文,微信公眾號“機器之心( id: almosthuman2014)”】