Hinton大神對反向傳播「深表懷疑」,BP演算法難道要慘遭「摒棄」嗎?
GIF/1.7M
圖:pixabay
原文來源:IntuitionMachine
作者:Carlos E. Perez
「機器人圈」編譯:嗯~阿童木呀、多啦A亮
Geoffrey Hinton終於公開闡述了他對那些早已令許多人惶恐不安的事物的看法。在最近的一次AI大會上,Hinton表示,他對反向傳播「深表懷疑」,並認為:「我的觀點是將它完全摒棄,然後重新開始」。
現如今,反向傳播已成為深度學習的「麵包和黃油」機制。研究人員發現,可以在解決方案中使用任何計算層,唯一的要求就是層必須是可微的。換句話說,我們要能夠計算出層的梯度。
關於反向傳播有這麼幾個問題值得思考。第一個是經過計算的梯度是否始終是學習的正確方向?直觀感覺這個是有問題的。人們總能發現問題,其中向著最明顯的方向移動並不總是能夠找到解決方案。因此忽略梯度也可能產生一個解決方案,這也沒什麼可意外的。關於適應性觀點與優化性觀點之間的區別,我在之前的文章里闡述過,有興趣的可以查閱。
我們來回顧一下,並試圖以歷史的視角來了解這種反向傳播思想的來源。從歷史上看,機器學習源於曲線擬合的一般理解。在線性回歸的具體示例下(即用直線進行預測),計算梯度是求解最小二乘問題的方法。在優化問題中,除了使用梯度求解最佳解決方案之外,還有許多其他可供選擇的方法。事實上,隨機梯度下降可能是最基本的優化方法之一,所以人們可能認為它是一個非常出色的,最簡單的演算法之一,而實際上它的性能確實是非常棒的。
大多數優化專家一直認為,深度學習的高維空間將需要一個非凸(non-convex)的解決方案,因此難以優化。然而,由於一些無法解釋的原因,深度學習使用隨機梯度下降(SGD)的運行效果非常好。許多研究人員後來提出了許多不同的觀點,以解釋為什麼使用SGD時深度學習的優化效果如此好。一個更具說服力的觀點是,在高維空間中,人們更有可能找到一個鞍點(saddle point)而不是local valley。總會有足夠的維度和梯度,指向一條逃逸路線。
指南(點擊圖片放大)
合成梯度(Synthetic Gradients),一種使層分離的方法,從而使得反向傳播並不總是必不可少,或者使得梯度計算可以被延遲,而這樣方法也同樣被證明是有效的。這個發現可能是一個暗示,即其他更為通用的事情正在發生。這就好像任何一種趨向於增量的更新,無論方向如何(在合成梯度的情況下都是隨機的)同樣有效。
還有一個關於所使用的典型目標函數的問題。相對於對象函數計算反向傳播。通常,目標函數是預測分布與實際分布之間差異的量度。通常,有些東西導出Kullback-Liebler散度或者像Wassertsein這樣的其他相似性分布測量。然而,在這些相似性計算中,在監督訓練中存在「標籤」。在同一次採訪中,Hinton對無監督的學習表示:「我懷疑這意味著擺脫反向傳播。」他進一步說,「我們顯然不需要所有的標籤數據。」
簡而言之,如果你沒有目標函數,則不能進行反向傳播。如果你沒有預測值和標記(實際或訓練數據)值之間的度量,則無法得到目標函數。所以要實現「無監督學習」,你可能會拋棄計算梯度的能力。
讓我們從更廣泛的視角來檢驗目標函數的目的。目標函數是衡量內部模型在預測其環境方面的準確程度。任何智能自動化過程的目的是制定精確的內部模型。然而,沒有任何東西需要在任何時候或不斷地進行模型與環境之間的測量。也就是說,自動化過程不需要執行反向傳播來學習。自動化過程可能是做一些其他事情以改進其內部模型。
其他一些東西,我們稱之為「想像或夢想」,不需要直接的現實驗證。我們目前最典型的就是生成對抗網路(GAN)。GAN由兩個網路組成,一個生成器和一個鑒別器。可以將鑒別器視為與目標函數一致的神經網路。也就是說,它使內部生成器網路得到現實驗證。生成器是一種重現不斷趨近現實的自動化過程。GAN使用反向傳播工作,它執行無監督學習。所以也許無監督的學習不需要目標函數,但是它仍然可能需要反向傳播。
另一種觀察無監督學習的方法是一種元學習(meta-learning)。系統不需要監督訓練數據的一種可能性是,學習演算法已經開發了自己的內部模型,以便最好地進行。換句話說,仍然有一些監督,它恰好隱含在學習演算法中。學習演算法如何賦予這種能力是一個很大的未知數。
總而言之,現在說我們是否可以擺脫反向傳播還為時尚早。我們當然可以使用一個不太嚴格的版本(即合成梯度或其他啟發式演算法)。然而,漸近學習(gradual learning)或者說爬山演算法(hill climbing)似乎仍然是一個必要條件。我當然會很有興趣找到任何使漸近學習或爬山演算法無效的研究。事實上,這類似於宇宙的行為,更具體地說就是熱力學第二定律。更具體地說,該熵始終增加。信息引擎將降低自己的熵,以換取環境中的熵增加。因此,沒有辦法完全避免梯度。這樣做將需要一些「信息永動機」(perpetual motion information machine)。
※手勢識別如何搞定?我們需要基於大型視頻資料庫的端到端的學習
※圖像分類、目標檢測、圖像分割、圖像生成……一文「計算機視覺」全分析
※TensorFlow 1.3的Dataset和Estimator?谷歌大神來解答
※如何更好地理解神經網路的正向傳播?我們需要從「矩陣乘法」入手
TAG:機器人圈 |