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

2020-12-16 機器之心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實戰。點擊「閱讀原文」立即報名

相關焦點

  • Pedro Domingos深度解析機器學習五大流派中主算法精髓
    出現問題的神經元可能是整個網絡中的任一一個,但是想要找出它來卻十分困難。這就是反向傳播能解決的問題,當人們在20世紀60年代設想出神經網絡時,他們並沒有想到這個反向傳播的方法,它最終是在19世紀80年代由David Rumelhart等人提出的。反向傳播的基本理念是十分直觀的,舉例來說,理想輸出應該是1,但是實際輸出確是0.2,需要將其增大。
  • 深度學習基礎之反向傳播算法
    本文將通過一個簡單的例子來說明反向傳播算法,目標是讀者順著這個例子讀完之後,對反向傳播算法有一個清晰的認識。文章首先簡單介紹神經元和神經網絡的基本概念,然後通過前向傳播引出優化問題,即最小化Loss函數,再引出通過反向傳播來求解參數,最後解決問題。
  • 乾貨丨Pedro Domingos深度解析機器學習五大流派中主算法精髓
    然後它給出結果,提煉假設(或者提出新的假設)。聯結主義代表人物有:Geoff Hinton、Yann Lecun、Yoshua Bengio單一神經元神經元是一種非常有趣的細胞,看起來像樹一樣。這就是反向傳播能解決的問題,當人們在20世紀60年代設想出神經網絡時,他們並沒有想到這個反向傳播的方法,它最終是在19世紀80年代由David Rumelhart等人提出的。反向傳播的基本理念是十分直觀的,舉例來說,理想輸出應該是1,但是實際輸出確是0.2,需要將其增大。問題三:怎樣調整權重才能讓其增大?
  • 深度學習之DNN與反向傳播算法總結
    在深度神經網絡(DNN)模型與前向傳播算法中,我們對DNN的模型和前向傳播算法做了總結,這裡我們更進一步,對DNN的反向傳播算法(Back Propagation,BP)做一個總結。在了解DNN的反向傳播算法前,我們先要知道DNN反向傳播算法要解決的問題,也就是說,什麼時候我們需要這個反向傳播算法?
  • 人工智慧系列(七) 深度學習中的梯度下降與反向傳播
    原力君在系列的第六篇《人工智慧系列(六) 深度學習中的神經網絡》中提到人工神經網絡的基礎是人工神經元,常用的神經元激活函數為sigmoid,應對深度學習的激活函數為ReLU、maxout等函數;多層感知機與DNN結構一致,激活函數有區別;CNN可以用來解決DNN網絡參數太多的問題;RNN為帶有反饋的神經網絡。
  • 深度森林第三彈:周志華組提出可做表徵學習的多層梯度提升決策樹
    此外,與層級表徵的神經網絡不同,他們提出的方法並不要求每一層都是可微,也不需要使用反向傳播更新參數。因此,多層分布式表徵學習不僅有深度神經網絡,同時還有決策樹!近十年來,深層神經網絡的發展在機器學習領域取得了顯著進展。
  • 天生一對,硬核微分方程與深度學習的「聯姻」之路
    在眾多演講中,我們發現董彬老師介紹的微分方程非常有吸引力,它對於探索新的深度學習架構、構建更高性能的深度學習模型非常有幫助。因此在這篇文章中,我們重點關注微分方程在深度學習中的應用,看起來,它們確實是天生一對的組合。微分方程與深度學習深度學習還能與微分方程相結合?
  • 優化 | 優化理論能給深度學習帶來怎樣的革命?
    以下整理按照知乎最新回答順序排序(海德堡大學 交叉學科計算中心離散與組合優化實驗室研究員)從運籌學、離散優化、概率圖模型轉行到業界深度學習、無人駕駛近大半年了。是非常有前景的學術研究方向。它們無不用到了遺傳/元啟發算法、搜索等優化算法或強化學習、RNN等更"高級"的算法。
  • 徹底解決梯度爆炸問題,新方法不用反向傳播也能訓練ResNet
    機器之心報導參與:思、一鳴反向傳播是深度學習算法中必不可少的組成部分,但是其固有的梯度爆炸(消失),計算速度慢等問題一直困擾著學界。近日,紐西蘭維多利亞惠靈頓大學的研究者提出了一種新型的算法,可以讓深度學習在不依賴反向傳播的情況下進行收斂,徹底解決了梯度爆炸問題。同時,研究者表示,只需要額外訓練單層的網絡就可以達到圖像分類中的 SOTA 性能。
  • 用反向傳播算法解釋大腦學習過程?Hinton等人新研究登Nature子刊
    該研究將之前的相關研究置於「NGRAD」框架下,NGRAD 算法利用活動狀態的差異驅動突觸更新,這與反向傳播類似。加拿大 CIFAR 人工智慧主席、麥吉爾大學生物工程系教授 Danilo Bzdok 轉發了該研究。在學習過程中,大腦會調整突觸以優化行為。
  • 盤點深度學習中的不可導操作
    深度學習中的絕大多數模型都是靠求導梯度下降來進行參數更新。但是如果遇到不可求導的操作該怎麼辦? 這時候如何優化我們的模型呢?本文盤點了深度學習中的不可導操作(次梯度和重參數化).主要包括兩大類[TOC]次梯度深度學習算法通常需要反向傳播來進行優化,這就涉及到求導的問題. 激活函數需要滿足單調,處處可導,有界等條件. 如傳統的sigmoid函數,但是現在很多激活函數並不是處處可導的.
  • 深度學習中的不可導操作(次梯度和重參數化)
    這時候如何優化我們的模型呢.本文盤點了深度學習中的不可導操作(次梯度和重參數化).主要包括兩大類[TOC]image-20200116220613949次梯度深度學習算法通常需要反向傳播來進行優化,這就涉及到求導的問題.
  • 大腦與反向傳播(Backpropagation and the brain)--上篇
    接下來,研究人員定義了一個誤差函數【6】,該函數量化了網絡當前實現其目標的程度,然後他們尋找能夠通過計算突觸改變來縮小誤差的學習算法。在機器學習中,誤差的反向傳播(backprop)【7-10】是最常用於訓練深度神經網絡的算法(方框1),並且是這些網絡中最成功的學習方式。經過反向傳播訓練的網絡是最近機器學習成功的核心,其中包括最先進的語音【11】和圖像識別【12-13】以及翻譯【14】。
  • 伯克利提出綜合深度強化學習工具包rlpyt,同時調和3個深度學習無模型算法
    From: BAIR; 編譯: T.R從2013年起深度強化學習就逐漸在遊戲對抗和模擬機器人控制等領域嶄露頭角,各種各樣的算法走入了繁榮的深度學習時代
  • KDD 2019|不用反向傳播就能訓練DL模型,ADMM效果可超梯度下降
    機器之心發布作者:王駿翔、禹富勳、陳翔、趙亮隨機梯度下降 (SGD) 是深度學習的標準算法,但是它存在著梯度消失和病態條件等問題。本文探索與反向傳播(BP)完全不同的方向來優化深度學習模型,即非梯度優化算法,提出了「反向前向的交替方向乘子法」的深度模型優化算法,即 dlADMM。
  • 重磅推薦:大腦與反向傳播(Backpropagation and the brain)--上篇
    接下來,研究人員定義了一個誤差函數【6】,該函數量化了網絡當前實現其目標的程度,然後他們尋找能夠通過計算突觸改變來縮小誤差的學習算法。在機器學習中,誤差的反向傳播(backprop)【7-10】是最常用於訓練深度神經網絡的算法(方框1),並且是這些網絡中最成功的學習方式。經過反向傳播訓練的網絡是最近機器學習成功的核心,其中包括最先進的語音【11】和圖像識別【12-13】以及翻譯【14】。
  • 只有加法也能做深度學習,北大華為等提出AdderNet,性能不輸CNN
    現在的深度學習在很大程度上依賴於GPU硬體,做大量的乘法運算,限制了它在行動裝置上的應用,需要一種更高效的方法。如果能夠拋棄乘法運算,是不是會讓代碼運行速度更快呢?來自北京大學、華為諾亞方舟實驗室、鵬城實驗室的研究人員提出了一種加法器網絡AdderNet,去掉卷積乘法,並設計一種新的反向傳播算法,結果也能訓練神經網絡。而且實驗結果證明了,這種方法在MNIST、CIFAR-10、SVHN上已經接近傳統CNN的SOTA結果。
  • 「神經常微分方程」提出者之一:如何利用深度微分方程模型處理連續...
    David Duvenaud 與微分方程的羈絆David Duvenaud 的主要研究方向是連續時間模型、隱變量模型和深度學習。近年來,他的工作和微分方程產生了緊密聯繫。深度學習能夠與微分方程相結合?是的。
  • 谷歌和DeepMind研究人員合作提出新的強化學習方法Dreamer 可利用...
    而基於模型(model-based)的強化學習方法則額外學習一個簡化的環境模型,這一環境模型使得主體可以預測潛在行為序列的輸出,使得它可以通過假設的場景來在新環境中作出明智的決策,減少了實現目標所需的試錯。
  • 誤差反向傳播算法淺解
    反向傳播通常被認為是基於優化理論的一種監督式學習方法,雖然它也用在一些無監督網絡(如自動編碼器)中。反向傳播算法的學習過程學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經各隱層逐層處理後,傳向輸出層。