當前位置:
首頁 > 新聞 > NeurIPS 2018|BP不用算梯度,這樣的線性反向傳播也能Work!

NeurIPS 2018|BP不用算梯度,這樣的線性反向傳播也能Work!

選自 NIPS 2018,機器之心編譯,作者:Mehrdad Yazdan,參與:路雪、思源。


反向傳播是常用的學習演算法,但它存在一些缺陷,如過於敏感、依賴大量條件和約束。來自加州大學聖地亞哥分校的研究科學家 Mehrdad Yazdani 對誤差項的線性反向傳播進行研究,該方法在前向傳播中使用非線性激活函數,但是在反向傳播中使用線性激活函數,因此它可以確保梯度流的正常傳遞,同時節約計算成本。

反向傳播演算法(Backprop)是很多機器學習演算法中主要使用的學習演算法。但是在實踐中,深度神經網路中的反向傳播是一種非常敏感的學習演算法,它的成功取決於大量條件和約束。約束的目的是避免產生飽和的激活值,這麼做的動機是梯度消失會導致學習過程中斷。特定的權重初始化和尺度變換 方案(如批歸一化)可確保神經元的輸入激活值是線性的,這樣梯度不會消失,能夠流動。

本論文僅研究誤差項的線性反向傳播,即忽略非線性梯度流帶來的單元飽和。本文將這一學習規則稱為線性反向傳播(Linear Backprop)。因為不用計算梯度,除了確保持續的梯度流以外,Linear Backprop 在計算成本高昂的情況下仍然可以使用。該研究的早期結果表明,使用 Linear Backprop 進行學習與使用 Backprop 不相上下,且能夠節約梯度計算的成本。

這篇 Linear Backprop 接受為 NIPS/NeurIPS 2018 關於緊湊神經網路的 Workshop 論文,該研討會關注構建緊湊和高效的神經網路表徵。具體而言,其主要會討論剪枝、量化和低秩近似等神經網路壓縮方法;神經網路表示和轉換格式;及使用 DNN 壓縮視頻和媒體的方式。

該 Workshop 的最佳論文是機器之心曾介紹過的 Rethinking the Value of Network Pruning,這篇論文重新思考了神經網路過參數化的作用,該論文表示剪枝演算法的價值可能在於識別高效結構、執行隱性的架構搜索,而不是在過參數化中選擇「重要的」權重。Hinton 等研究者也在 Workshop 論文中提出一種神似剪枝的Target Dropout,它類似於將剪枝嵌入到了學習過程中,因此訓練後再做剪枝會有很好性質。

  • Workshop 地址:https://nips.cc/Conferences/2018/Schedule?showEvent=10941

論文:Linear Backprop in non-linear networks

NeurIPS 2018|BP不用算梯度,這樣的線性反向傳播也能Work!

論文地址:https://openreview.net/pdf?id=ByfPDyrYim

長期以來,人們認為具備非多項式和非線性單元的深度神經網路是萬能函數逼近器。但是,在神經網路研究的早期階段,並不清楚學習演算法能從權重的最優集合中發現什麼。Frank Rosenblatt 的開拓性研究本質上僅學習了多層感知器輸出層的權重,且隨機保持輸入層權重不變,而 Fukushima 使用赫布型學習(Hebbian learning)。反向傳播一經引入神經網路研究即獲得了巨大成功,目前仍是最常用的學習演算法。

儘管那麼成功,反向傳播是一種高度敏感的學習演算法,在實踐中要想使之發揮作用還需要大量技巧。反向傳播的問題在於:容易飽和的激活函數、合適的學習率、批大小、epoch 數量等。研究人員付出了很多努力來避免神經元或單元的飽和。飽和單元的主要問題是梯度消失,進而導致學習中斷。因此,研究人員進行了大量嘗試來確保神經元的輸入激活值是線性的,包括引入正則化方法(如 L2 懲罰項)、批歸一化和權重初始化。還有一些解決方案從激活函數入手,限制飽和區域來確保梯度流。Gulcehre 等人的研究《Noisy activation functions》對具備非飽和區域的激活函數進行了大量探索,因為這些非飽和區域能提供梯度。

梯度流是學習的必要因素,因此本論文主要研究學習演算法都是在確保更優的線性梯度流。線性反向傳播演算法(見 Algorithm 2)可以確保所有區域的梯度流都能正常傳遞,因此可用作替代學習演算法。與反向傳播(見 Algorithm 1)相比,線性反向傳播中的前向傳播過程是相同的。該網路架構具備非線性激活函數,因此仍然是高度非線性的,但我們在計算損失函數時只考慮線性反向傳播誤差。由於在線性反向傳播中,激活函數的導數不用計算(Algorithm 2 中紅色字),因此線性反向傳播與反向傳播相比節約了計算量 O(ml)。

換一種方式思考本論文提出的學習規則:研究者引入了一個正則化項,使計算梯度時僅計算線性梯度,不考慮非線性組件。也就是說,在推斷階段使用深度非線性網路,但訓練階段中損失函數本質上被裁剪成一個深度線性神經網路。前向傳播的計算和反向傳播無異,但反向傳播僅使用線性反饋項。

近期多項研究出於生物可解性考慮反向傳播的變體。[Lillicrap et al., 2016] 展示了使用隨機權重的學習過程是可行的。[Baldi and Sadowski, 2016] 考慮了很多赫布型學習演算法和誤差反向傳播學習演算法。線性反向傳播與 Bengio 等人 2013 年提出的 Straight Through Estimator 有一些相似處,但前者提出對任意激活函數應用估計器。

如前所述,線性反向傳播不計算梯度,因此節約了很多計算成本。線性反向傳播學習演算法支持計算資源有限的情況。實驗結果表明在特定條件下,線性反向傳播的性能與反向傳播相當。

如下圖紅色所示,線性反向傳播演算法在傳遞損失函數的梯度時,因為是線性函數,所以不需要另外再求梯度。

NeurIPS 2018|BP不用算梯度,這樣的線性反向傳播也能Work!

1.1 合成數據示例

NeurIPS 2018|BP不用算梯度,這樣的線性反向傳播也能Work!

圖 1:(左)相同的 MLP 架構使用反向傳播和線性反向傳播時在 5 個樣本上的過擬合情況。(中)MLP 使用 50 種不同的權重隨機初始化在相同的 5 個點上預測和目標之間的 MSE。(右)使用 sigmoid 激活函數進行訓練後,單元激活值的直方圖。

1.2 在 CIFAR-10 上的 VGG 和 ResNet 二值神經網路

NeurIPS 2018|BP不用算梯度,這樣的線性反向傳播也能Work!

圖 2:VGG19 在 CIFAR-10 數據集上的學習曲線。

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

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


請您繼續閱讀更多來自 機器之心 的精彩文章:

僅17 KB、一萬個權重的微型風格遷移網路!
神經網路的奧秘之優化器的妙用

TAG:機器之心 |