離散優化代替反向傳播:Pedro Domingos提出深度學習新方向

2021-01-08 機器之心Pro

選自arXiv

作者:Abram L. Friesen & Pedro Domingos

機器之心編譯

在改革深度學習、拋棄反向傳播的道路上我們不僅看到了 Geoffrey Hinton 的努力。近日,《終極算法》一書作者,華盛頓大學計算機科學教授 Pedro Domingos 也提出了自己的方法——離散優化。

神經分類的原始方法是學習單層模型,比如感知機(Rosenblatt, 1958)。但是,將這些方法擴展至多層比較困難,因為硬閾值單元(hard-threshold unit)無法通過梯度下降進行訓練,這類單元在幾乎所有情況下導數都為 0,且在原點處非連續。因此,研究社區轉向帶有軟激活函數(如 Sigmoid、ReLU)的多層網絡,這樣梯度可以通過反向傳播進行高效計算(Rumelhart et al., 1986)。

該方法獲得了巨大成功,使研究者使用數百層來訓練網絡,學得的模型在大量任務上取得非常高的準確率,效果超越之前的所有方法。但是,隨著網絡變得更深、更寬,出現了一種趨勢:使用硬閾值激活函數進行量化,實現二元或低精度推斷,可以大幅降低現代深層網絡的能耗和計算時間。除量化以外,硬閾值單元的輸出規模獨立(或者不敏感)於輸入規模,這可以緩解梯度消失和爆炸問題,幫助避免使用反向傳播進行低精度訓練時出現的一些反常現象(Li et al., 2017)。避免這些問題對開發可用於更複雜任務的大型深層網絡系統至關重要。

出於以上原因,我們研究使用硬閾值單元學習深層神經網絡的高效技術。我們觀察到硬閾值單元輸出離散值,這表明組合優化(combinatorial optimization)可能提供訓練這些網絡的有效方法,因此本論文提出了一種學習深層硬閾值網絡的框架。通過為每個隱藏層激活函數指定離散目標集,該網絡可分解成多個獨立的感知機,每個感知機可以根據輸入和目標輕鬆進行訓練。學習深層硬閾值網絡的難點在於設置目標,使每個感知機(包括輸出單元)要解決的問題是線性可分的,從而達到目標。我們證明使用我們的混合凸組合優化框架可以學得這樣的網絡。

基於這一框架,隨後我們開發了遞歸算法,一個可行的目標傳播(FTPROP),用來學習深度硬閾值網絡。由於這是一個離散優化問題,我們開發了啟發法以設置基於每層損失函數的目標。FTPROP 的小批量處理版本可用於解釋和證明經常使用的直通的評估器(straight-through estimator/Hinton, 2012; Bengio et al., 2013),現在這可被視為帶有每層損失函數和目標啟發法的一個特定選擇的 FTPROP 實例。最後,我們開發了一個全新的每層損失函數,它能提升深度硬閾值網絡的學習能力。我們實際展示了我們的算法在 CIFAR10 的直通評估器為兩個卷積網路所帶來的提升,以及在 ImageNet 上為帶有多個硬閾值激活函數類型的 AlexNet 和 ResNet-18 所帶來的提升。

圖 1:在設置了一個深層硬閾值網絡的隱藏層目標 T1 之後,該網絡分解成獨立的感知機,進而可通過標準方法被學習。

可行的目標傳播

前面部分的開放性問題是如何設置隱藏層的優化目標。一般來說,對整個網絡一次性生成優秀的、可行的(feasible)優化目標是十分困難的。相反,在一個層級上單次只提供一個優化目標卻十分簡單。在反向傳播中,因為神經網絡最後一層的優化目標是給定的,所以算法會從輸出層開始,然後令誤差沿著反向傳播,這種反向傳播就成功地為前面層級設定了優化目標。此外,因為獲取優化的先驗知識是非常困難的,那麼如果某層級的目標對於一個給定的網絡架構是可行的,我們就可以有一個簡單的替代方案。該方案為層級 d 設置一個優化目標,然後優化前面層級已有的權重(即 j<=d 的層級權重)以檢查該目標是不是可行。因為在優化層級時的權重和設置其上遊目標(即其輸入)時的目標相同,我們稱之為誘導可行性(induce="" feasibility),即一種設置目標值的自然方法,它會選擇減少層級損失="" ld="" 的優化目標。<="" span="">

然而,因為優化目標是離散的,目標空間就顯得十分巨大且不平滑,它也不能保證在實際執行優化時能同時降低損失。因此啟發式方法(heuristics)是很有必要的,我們會在本論文的下一部分詳細解釋這種啟發式方法。d 層優化目標的可行性能通過遞歸地更新層級 d 的權重而確定,並根據 d-1 層的目標給出 d 層的優化目標。

這一遞歸過程會繼續進行,直到傳播到輸入層,而其中的可行性(即線性可分型)能通過給定優化目標和數據集輸入後優化層級的權重而簡單地確定。層級 d 的優化目標能夠基於從遞歸和層級 d-1 的輸出而獲得的信息增益中得到更新。我們稱這種遞歸算法為可行的目標傳播(FTPROP)。該算法的偽代碼已經展示在算法 1 中。FTPROP 是一種目標傳播 (LeCun, 1986; 1987; Lee et al., 2015),它使用離散型替代連續型而優化設置的目標。FTPROP 同樣和 RDIS (Friesen & Domingos, 2015) 高度相關,該優化方法是基於 SAT 求解器的強大非凸優化算法,它會遞歸地選擇和設置變量的自己以分解潛在的問題為簡單的子問題。但 RDIS 僅適用於連續問題,但 RDIS 的思想可以通過和積定理(sum-product theorem/Friesen & Domingos, 2016)泛化到離散變量優化中。

當然,現代深層網絡在給定數據集上不總是具備可行的目標設置。例如,卷積層的權重矩陣上有大量結構,這使得層輸入對目標是線性可分的概率降低。此外,保證可行性通常會使模型與訓練數據產生過擬合,降低泛化性能。因此,我們應該放鬆可行性方面的要求。

此外,使用小批量處理而不是全批處理訓練有很多好處,包括改善泛化差距(參見 LeCun et al. 2012 或 Keskar et al. 2016),減少內存使用,利用數據增強的能力,以及為其設計的工具(比如 GPU)的流行。幸運的是,把 FTPROP 轉化為一個小批量算法並放寬可行性需求非常簡單。尤其是,由於不過度使用任何一個小批量處理非常重要,FTPROP 的小批量版本 (i) 每次只使用一個小批量的數據更新每一層的權重和目標;(ii) 只在每一層的權重上採取一個小的梯度下降步,而不是全部優化;(iii) 設置與更新當前層的權重並行的下遊層的目標,因為權重不會改變太多; (iv) 刪除對可行性的所有檢查。我們把這一算法稱作 FTPROP-MB,並在附錄 A 算法 2 中展示了其偽代碼。FTPROP-MB 非常類似於基於反向傳播的方法,通過標準庫即可輕鬆執行它。

算法 2. MINI-BATCH 可行目標傳播

圖 2:(a)-(c)顯示了不同層的損失函數(藍線)及其導數(紅色虛線)。(d)顯示量化 ReLU 激活函數(藍線),它是階梯函數的總和,對應飽和的合頁損失導數(紅色虛線)總和,逼近這個總和的軟合頁損失性能最佳(黃色虛線)。

表 1. 在 CIFAR 10 或 ImageNet 上進行符號、qReLU 和全精度激活函數訓練時,各種網絡的 Top-1 準確度。硬閾值激活函數由 FTPROP-MB、逐層軟合頁損失函數(FTP-SH)與飽和直通估計(SSTE)訓練。粗體顯示了表現最好的激活函數

圖 3. 不同激活函數的 alexNet 在 imageNet 上的 Top-1 訓練(虛線)與測試(實線)準確度。小圖顯示了最後 25 個 epoch 的測試準確度。在兩個大圖中帶有軟合頁損失(FTP-SH,紅色)的 FTPROP-MB 要比飽和直通估計(SSTE,藍色)要好。左圖顯示了帶有標誌激活的網絡。右圖展示了新方法(FTP-SH)使用 2-bit 量化 ReLU(qReLU)訓練的表現與全精度 ReLU 幾乎相同。有趣的是,在這裡飽和 ReLU 的表現超過了標準 ReLU。

論文:Deep Learning as a Mixed Convex-Combinatorial Optimization Problem

論文連結:https://arxiv.org/abs/1710.11573

隨著神經網絡變得越來越深,越來越寬,具有硬閾值激活的學習網絡對於網絡量化正變得越來越重要,還可以顯著減少時間和能量的需求,用於構建高度集成的神經網絡系統,這些系統通常會有不可微的組件,確保能避免梯度消失與爆炸以進行有效學習。然而,由於梯度下降不適用於硬閾值函數,我們尚不清楚如何以有原則的方式學習它們。

在本論文中,我們通過觀察發現硬閾值隱藏單元的設置目標以最小化損失是一個離散的優化問題,這正好是問題的解決方式。離散優化的目標是找到一系列目標,使得每個單元,包括輸出內容都有線性可分的解。因此,網絡被分解成一個個感知機,它們可以用標準的凸方法來學習。基於這個方式,我們開發了一種用於學習深度硬閾值網絡的遞歸小批量算法,包括流行但難以解釋的直通估計(straight-through estimator)函數作為範例。實驗證明,對比直通估計函數,新的算法可以提升多種網絡的分類準確度,其中包括 ImageNet 上的 AlexNet、ResNet-18。

本文為機器之心編譯, 轉載請聯繫本公眾號獲得授權 。

---

加入機器之心(全職記者/實習生):hr@jiqizhixin.com

投稿或尋求報導:editor@jiqizhixin.com

廣告&商務合作:bd@jiqizhixin.com

【從零開始精通深度學習】本周課程:卷積神經網絡Keras實戰。點擊「閱讀原文」立即報名

相關焦點

  • ...學習也靠反向傳播?Hinton等用新一代反向傳播算法模擬神經網絡
    新智元報導  來源:Nature  編輯:嘯林  【新智元導讀】反向傳播作為一種基本負反饋機制,極大地推動了深度學習神經網絡的發展那麼,反向傳播也存在於人腦的運行方式中嗎?反向傳播的發明者Geoffery Hinton發Nature子刊告訴我們:人腦中存在類似於反向傳播的神經機制,我用一種新算法類比出來了!「新智元急聘主筆、高級主任編輯,添加HR微信(Dr-wly)或掃描文末二維碼了解詳情。」  什麼是反向傳播?
  • 深度學習,讀懂反向傳播
    背景深度學習屬於機器學習,機器學習的三個步驟就是:模型,策略和計算方法。深度學習的模型是神經網絡,如下圖:策略就是我們說的損失函數,cost function,反映了模型的預測誤差但神經網絡的參數非常多,比如很簡單的alexnet的參數個數在千萬級別,一個一個地求是不切實際的,所以,這裡需要用到反向傳播:back propagation!
  • 乾貨丨Pedro Domingos深度解析機器學習五大流派中主算法精髓
    然後它給出結果,提煉假設(或者提出新的假設)。聯結主義代表人物有:Geoff Hinton、Yann Lecun、Yoshua Bengio單一神經元神經元是一種非常有趣的細胞,看起來像樹一樣。神經元是具有長突觸(軸突)的細胞,它由細胞體和細胞突起構成。在長的軸突上套有一層鞘,組成神經纖維,它的末端的細小分支叫做神經末梢。
  • 反向傳播退出歷史舞臺?新研究提出基於信息瓶頸估計的訓練方法
    最終,他們提出了出許多有趣的開放性問題並指出了一些很有前景與價值的人工智慧研究方向。 這篇論文為自動化人工智慧方向的初學者提供了很全面的相關知識。與此同時,它也為許多熱衷於AI的人們指明了在平衡計算成本與產出質量的原則下,構建大體量、高效率的機器學習模型的方式。 常言道:你永遠無法解決一個你根本不了解的問題。
  • 人工智慧-深度學習-代價函數,梯度下降和反向傳播
    為了完成某一目標,需要構造出一個「目標函數」來,然後讓該函數取極大值或極小值,從而得到深度學習算法的模型參數。代價函數(Cost Function ): 用於找到最優解的目的函數,這也是代價函數的作用。
  • 深度森林第三彈:周志華組提出可做表徵學習的多層梯度提升決策樹
    自去年周志華等研究者提出了「深度森林」以後,這種新型的層級表徵方式吸引了很多研究者的關注。今日,南京大學的馮霽、俞揚和周志華提出了多層梯度提升決策樹模型,它通過堆疊多個回歸 GBDT 層作為構建塊,並探索了其學習層級表徵的能力。此外,與層級表徵的神經網絡不同,他們提出的方法並不要求每一層都是可微,也不需要使用反向傳播更新參數。
  • 用反向傳播算法解釋大腦學習過程?Hinton等人新研究登Nature子刊
    該研究將之前的相關研究置於「NGRAD」框架下,NGRAD 算法利用活動狀態的差異驅動突觸更新,這與反向傳播類似。加拿大 CIFAR 人工智慧主席、麥吉爾大學生物工程系教授 Danilo Bzdok 轉發了該研究。在學習過程中,大腦會調整突觸以優化行為。
  • 徹底解決梯度爆炸問題,新方法不用反向傳播也能訓練ResNet
    機器之心報導參與:思、一鳴反向傳播是深度學習算法中必不可少的組成部分,但是其固有的梯度爆炸(消失),計算速度慢等問題一直困擾著學界。近日,紐西蘭維多利亞惠靈頓大學的研究者提出了一種新型的算法,可以讓深度學習在不依賴反向傳播的情況下進行收斂,徹底解決了梯度爆炸問題。同時,研究者表示,只需要額外訓練單層的網絡就可以達到圖像分類中的 SOTA 性能。
  • 【深度森林第三彈】周志華等提出梯度提升決策樹再勝DNN
    其他一些方法如目標傳播作為神經網絡訓練的一種替代方法已經被提出,但其有效性和普及程度仍處於早期階段。例如,已有的工作證明了目標傳播最多可以和反向傳播一樣好,並且在實踐中,經常需要額外的反向傳播來進行微調。換句話說,舊的、好的反向傳播仍然是訓練可微學習系統(如神經網絡)最有效的方法。另一方面,探索利用不可微模塊構建多層或深層模型的可能性不僅具有學術意義,而且具有重要的應用潛力。
  • 大腦是如何反向傳播的?
    NGRAD框架向我們展示了,我們也許能夠在規避實際應用問題的前提下實現反向傳播。這對於任何具有前饋和反饋連接的大腦迴路都具有一定的討論意義,但本文中主要探討皮質結構中的表現。大腦皮質(cortex)具有多層的分級結構,且有許多特徵與深度網絡相似。神經網絡中的責任歸屬學習,是為了適應。在談學習之前,我們先來談談大腦本身的先驗「知識」。
  • CVPR2020|深度學習不要乘法?北大,華為Oral論文提出加法神經網絡
    雖然無法去現場交流,但這無法阻擋我們學習的熱情。為向讀者們分享更多 CVPR 優質內容,在 CVPR 2020 開幕之前,機器之心將策劃多期線上分享。在此論文中,來自北大、華為諾亞方舟實驗室等機構的作者們提出完全用加法代替乘法,用 L1 距離代替卷積運算,從而顯著減少計算力消耗。演講主題:加法神經網絡:在深度學習中我們是否真的需要乘法?
  • KDD 2019|不用反向傳播就能訓練DL模型,ADMM效果可超梯度下降
    機器之心發布作者:王駿翔、禹富勳、陳翔、趙亮隨機梯度下降 (SGD) 是深度學習的標準算法,但是它存在著梯度消失和病態條件等問題。本文探索與反向傳播(BP)完全不同的方向來優化深度學習模型,即非梯度優化算法,提出了「反向前向的交替方向乘子法」的深度模型優化算法,即 dlADMM。
  • 深度學習中的內存管理問題研究綜述
    王孝遠等人從體系結構、系統軟體等多方面對當前面向大數據的異構內存系統進行了分析研究,提出了一系列異構內存系統的優化方法;陳遊旻等人詳細闡述了構建大數據環境下的存儲系統所面臨的挑戰、當前的研究方向以及未來的發展趨勢;李鑫等人則從大數據應用的角度對混合存儲架構進行了深入的探討。本文從深度學習應用的角度,側重於探討深度學習系統中的內存管理問題,與之前的工作有本質的不同。
  • caffe詳解之反向傳播
    從零開始,一步一步學習caffe的使用,期間貫穿深度學習和調參的相關知識!前向傳播與反向傳播反向傳播(back-propagation)是計算深度學習模型參數梯度的方法。對深度學習模型按照輸入層、靠近輸入層的隱含層、靠近輸出層的隱含層和輸出層的次序,依次計算並存儲模型的中間變量叫做正向傳播(forward-propagation)。
  • 《自然綜述-神經科學》:大腦中的反向傳播
    NGRAD框架向我們展示了,我們也許能夠在規避實際應用問題的前提下實現反向傳播。這對於任何具有前饋和反饋連接的大腦迴路都具有一定的討論意義,但本文中主要探討皮質結構中的表現。大腦皮質(cortex)具有多層的分級結構,且有許多特徵與深度網絡相似。
  • 「深度學習4大技術方向」Keras之父、谷歌研究員拆解機器自主學習
    1 新智元編譯Keras作者、《Python深度學習》一書的作者 Francois Chollet 在自己的博客上公開了自己書中的內容,討論深度學習的未來:鑑於我們對深度神經網絡的了解,包括它們的局限性,以及對當下研究圖景的掌握,我們是否能預測在短期內,深度學習將會走向何方?下面是一些純個人的思考。
  • 使用Numpy進行深度學習中5大反向傳播優化算法的性能比較
    在本文中,我們將通過計算二次凸函數的最優點來數值比較主要的深度學習優化算法的性能。簡介深度學習被稱為人工智慧的未來。現在,神經網絡被稱為通用函數逼近器,也就是說,它們有能力表示這個宇宙中任何複雜的函數。計算這個具有數百萬個參數的通用函數的想法來自優化的基本數學。優化可以通過多種方式完成,但在本文中,我們將重點討論基於梯度下降的優化技術。
  • 一場突如其來的討論:到底什麼是深度學習?SVM其實也是深度學習嗎?
    Keras 作者 François Chollet 這樣說Keras作者、谷歌大腦高級研究員 François Chollet 最先給出了自己的觀點:什麼是深度學習?在 2019 年這個時間點,大家經常用到的那種深度學習定義大概是這樣的:「它由一連串可微分的參數化的層組成,而且是用反向傳播算法端到端地訓練的」。
  • 比可微架構搜索DARTS快10倍,第四範式提出優化NAS算法
    在本文中,我們提出了一種基於近端迭代(NASP)的高效 NAS 方法。與以往的工作不同,NASP 將搜索過程重新定義為具有離散約束的優化問題和模型複雜度的正則化器。由於新的目標是難以解決的,我們進一步提出了一種高效的算法,由近端啟發法進行優化。通過這種方式,NASP 不僅比現有的可微分的搜索方法速度快,而且還可以找到更好的體系結構並平衡模型複雜度。
  • 優化|遺傳算法和深度強化學習的結合會是新的方向嗎?
    工程師編者按遺傳算法與深度強化學習都是當今非常火熱的科技領域回到遺傳算法和深度強化學習的結合這個問題,我們其實是要回答一下幾個問題,一步跳到深度強化學習很不現實。1.遺傳算法對神經網絡,有幫助麼?遺傳算法對深度學習真的沒有優勢?遺傳是什麼?進化又是什麼?我們想解決的問題是什麼?那難道遺傳算法就完全沒有優勢了麼?想要理解遺傳算法在深度學習中可能有的用途,就要試圖去理解backpropagation可能的局限性在什麼地方。