0
雷鋒網按:本文原作者 SIY.Z,本文整理自作者在知乎《如何看待 Geoffrey Hinton 的言論,深度學習要另起爐灶,徹底拋棄反向傳播?》問題下的回答。雷鋒網已獲得轉載授權。
這是言論的主要出處:
Artificial intelligence pioneer says we need to start over(http://t.cn/RpR0Q18)
以及 Fei-Fei Li 在 Twitter 上的評論:
Echo Geoff's sentiment no tool is eternal, even backprop or deeplearning. V. important to continue basic research.(http://t.cn/RpFfw5f)
在深度學習才開始流行但是沒有像如今這么成熟的時候(2011 年),Hinton 等人就已經開始思考一個問題:深度學習依賴的反向傳播算法 (back-prop) 在生物學上是很難成立的,很難相信神經系統能夠自動形成與正向傳播對應的反向傳播結構(這需要精準地求導數,對矩陣轉置,利用鏈式法則,并且解剖學上從來也沒有發(fā)現這樣的系統存在的證據)。
另外一點是,神經系統是有分層的(比如視覺系統有 V1, V2 等等分層),但是層數不可能像現在的大型神經網絡一樣動不動就成百上千層(而且生物學上也不支持如此,神經傳導速度很慢,不像用 GPU 計算神經網絡一層可能在微秒量級,生物系統傳導一次一般在 ms 量級,這么多層數不可能支持我們現在這樣的反應速度,并且同步也存在問題)。
但是有趣的是,目前大多數研究指出,大腦皮層中普遍存在一種稱為 Cortical minicolumn 的柱狀結構,其內部含有上百個神經元,并存在分層。這意味著人腦中的一層并不是類似現在神經網絡的一層,而是有復雜的內部結構。
(mini-column 圖片,引自 minicolumn hypothesis in neuroscience | Brain | Oxford Academic)
Hinton 模仿 mini-column 提出了對應的人工神經網絡結構 Capsule (2011 年),對應論文為 Transforming Auto-encoders(http://t.cn/RpFfYrb)。
(Capsule 示意圖,來自論文)
不過 Hinton 也沒有料到后來 CNN 發(fā)展的如此火,他當時的這篇論文沒有怎么受到關注。這幾年他也沒有繼續(xù)關注這個問題,因為 CNN,LSTM, NTM 等等問題太多太有趣。
不過到現在,CNN 的發(fā)展似乎到了一個瓶頸:特別大,特別深的網絡;容易被對抗樣本欺騙;仍然需要大量訓練數據;無監(jiān)督學習方面進展很少。
Hinton 在題主給的視頻中重新分析了一下目前 CNN 的問題,主要集中在 Pooling 方面(我認為可以推廣到下采樣,因為現在很多 CNN 用卷積下采樣代替 Pooling 層)。Hinton 認為,過去人們對 Pooling 的看法是能夠帶來 invariance 的效果,也就是當內容發(fā)生很小的變化的時候(以及一些平移旋轉),CNN 仍然能夠穩(wěn)定識別對應內容。
Hinton 覺得這是一個錯誤的方向。他給出了一個心理學實驗的例子,這個例子要求判斷兩個 R 是否是一樣的,僅僅因為旋轉導致不同:
(幾乎所有)人的做法是下意識的旋轉左側的 R,“看” 它們是否重合。
但是按照 CNN 的 invariance 的想法完全不是這么做。如果你對訓練神經網絡有經驗,你可能會想到我們在做圖像預處理和數據拓增的時候,會把某些圖片旋轉一些角度,作為新的樣本,給神經網絡識別。這樣 CNN 能夠做到對旋轉的 invarience,并且是 “直覺上” 的 invariance,根本不需要像人那樣去旋轉圖片,它直接就 “忽視” 了旋轉,因為我們希望它對旋轉 invariance。
CNN 同樣強調對空間的 invariance,也就是對物體的平移之類的不敏感(物體不同的位置不影響它的識別)。這當然極大地提高了識別正確率,但是對于移動的數據(比如視頻),或者我們需要檢測物體具體的位置的時候,CNN 本身很難做,需要一些滑動窗口,或者 R-CNN 之類的方法,這些方法很反常(幾乎肯定在生物學中不存在對應結構),而且極難解釋為什么大腦在識別靜態(tài)圖像和觀察運動場景等差異很大的視覺功能時,幾乎使用同一套視覺系統。
因此 Hinton 認為,人腦做到的是 equivariance ,也就是能夠檢測到平移、選轉等等各種差異,但是能夠 “認識” 到他們在某些視覺問題場景下是相同的,某些場景下應該有所區(qū)別,而不是像 CNN 一樣為了追求單一的識別率,用 invariance 掩蓋這些差異。
于是 Hinton 重新開始關注 Capsules 的問題,希望從中有所突破,解決之前深度學習中的很多問題。如果確實能夠解決這些問題,Hinton 有勇氣完全拋棄之前的體系結構,從 0 開始。
這是 Hinton 最近被 NIPS 接受的關于 Capsules 論文 Dynamic Routing between Capsules (未發(fā)表)https://research.google.com/pubs/pub46351.html 。其在 MNIST 上非常成功,識別率達到了新高,同時解決了 CNN 難以識別重疊圖像等問題。
注:上文中 equivalence 改為了 equivariance,這是更準確的說法
一些分析
雖然現在只有論文摘要,以及 Hinton 最近的視頻,我們還是可以分析一下 Hinton 的想法和追求:
可解釋性。
按照 Hinton 的說法,Capsule 是一組神經元,這組神經元的激發(fā)向量可以代表對應于一類實體(比如一個物體,或者一個物體的部件)的實例參數(instantiation parameters)。這個說法非常像 Hinton 曾經提的 “專家積”(Products of Experts)[1] 的概念,他用這個概念解釋著名的對比散度(contrastive divergence)算法 [2]。更為人熟知的是 Andrew Y. Ng 的關于自動從視頻中識別貓臉的實驗 [3],這些實驗都暗示了某個神經元可以代表代表某些物體實例(祖母細胞假說)。但是我們知道,某個神經元自身是個簡單的數學變換,其自身不能起到決定性的作用。CNN 等能夠自動抽取圖像特征等等性質已經為人熟知,但是到底是哪些神經元或者哪些結構起了作用?這個很難回答?,F代大多數神經網絡的結構是相對整體且比較粗糙的,很難解釋其內部的具體作用機制,因此我們常常把神經網絡稱為 “黑盒模型”。現在有了 Capsule 后,我們或許可以以 Capsule 為單位分析得出每個 Capsule 具體的作用,這樣可解釋性要強很多。
注:從視頻中看 Hinton 所說的 instantiation parameters 應該是指表征以下內容的參數:
1. 某類物體出現的概率
2. 物體的一般姿態(tài) (generalized pose),包括位置,方向,尺寸,速度,顏色等等
因果性。
這是 Hinton 在視頻中重點提到的,也是很多機器學習專家關心的東西?,F在的神經網絡缺乏某種 “推斷” 的機制,更多是目標函數最大化下的函數擬合。我們知道網絡能夠正確分類某個圖片,但是為什么?圖片中什么部分或者條件才導致網絡得出這個結論?如果分類出錯了,又是什么具體的部分或者條件誤導了它?這些我們都不是非常清楚,大部分時候僅僅靠調參提高結果。而論文中 Dynamic Routing,就是希望能夠形成一種機制,讓網絡能夠將適合 Capsule_A 處理的內容,路由到 Capsule_A 讓其處理。這樣就形成了某種推斷鏈。“找到最好的(處理)路徑等價于(正確)處理了圖像”,Hinton 這樣解釋。
Hinton 指出,原先的 Pooling,類似于靜態(tài)的 routing,僅僅把上面的結果原地交給下面一層的神經元。(下面圖片中 Dynamic Routing 僅供示意,具體實現要看發(fā)表出來的論文)
無監(jiān)督學習。
這點也是 Hinton 強調的(原話似乎是 A human does not know so much labels)。Hinton 估計有在 Capsule 基礎上做無監(jiān)督研究的意向,在之前的 [4] 中 Hinton 已經用 Capsule 實現了自編碼器。
如何看待 Hinton 重新提出的 Capsule ?
首先這個工作成功或者不成功都是很正常的,就算 Capsule 真的會成為以后的趨勢,Hinton 也未必這么快找到正確的訓練算法;就算 Hinton 找到了正確的訓練算法,也沒有人能夠保證,Capsules 的數量不到人腦中 mini-columns 數量的時候,能夠起達到人類的識別率(何況現在 CNN 雖然問題很多,但是識別率很多已經超過人類了)。
另外看之前的關于 Capsules 的論文 [4],其中的結果在 2011 年還是不錯的,但是相比近年來的 CNN 就差多了,這恐怕也是 Capsules 隨后沒有火起來的原因。很多人都吐槽現在深度學習各種各樣的問題,需要大量調參,但是每次調參都能有一大批人在論文發(fā)表 deadline 前調到想要的效果,這個也不得不服??;不服你用 SIFT 給你一年調到一樣的效果試試?
或許最糟的結果是,如同分布式存儲中著名的 CAP 理論(又叫 Brewer's theorem)所述,一致性,可用性和分片性三者不能同時滿足;或許對于機器學習,正確率,可解釋性,因果性也不能同時滿足(最好的模型必然最難理解)。Hinton 晚年試圖突破深度學習就像愛因斯坦晚年試圖統一電磁力和引力一樣,是注定無法成功的。不過相信 Hinton 仍然愿意等下去,畢竟從反向傳播提出,到深度學習的火爆,Hinton 已經堅守了 30 年了。
評論中有人提到,人工神經網絡不必非要按照生物的路子走。我想 Hinton 重提 Capsule 的原因不只是因為 Capsule 在生物學上有支持,而是其有可以實施 dynamic routing 算法等的優(yōu)良性質,Hinton 在其上看到了一些可能的突破點。
最早的神經網絡作為感知機出現的時候是按照 Hebb's rule 學習的,可以說是非常生物了。正是 Hinton 和 LeCun 搞出脫離生物模型的反向傳播算法,以及 Hinton 后來基于熱力學統計做的玻爾茲曼機和受限玻爾茲曼機以及配套的對比散度算法,才有了深度學習的今天。
[1] Hinton, G. E. (1999). Products of experts.
[2] Hinton, G. E. (2002). Training products of experts by minimizing contrastive divergence. Neural computation, 14(8), 1771-1800.
[3] Le, Q. V. (2013, May). Building high-level features using large scale unsupervised learning. In Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on (pp. 8595-8598). IEEE.
[4] Hinton, G. E., Krizhevsky, A., & Wang, S. D. (2011, June). Transforming auto-encoders. In International Conference on Artificial Neural Networks (pp. 44-51). Springer Berlin Heidelberg.
雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。