天天看點

深度學習要另起爐竈,徹底抛棄反向傳播?

這是言論的主要出處:

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) 在生物學上是很難成立的,很難相信神經系統能夠自動形成與正向傳播對應的反向傳播結構(這需要精準地求導數,對矩陣轉置,利用鍊式法則,并且解剖學上從來也沒有發現這樣的系統存在的證據)。

另外一點是,神經系統是有分層的(比如視覺系統有 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 發展的如此火,他當時的這篇論文沒有怎麼受到關注。這幾年他也沒有繼續關注這個問題,因為 CNN,LSTM, NTM 等等問題太多太有趣。

不過到現在,CNN 的發展似乎到了一個瓶頸:特别大,特别深的網絡;容易被對抗樣本欺騙;仍然需要大量訓練資料;無監督學習方面進展很少。

Hinton 在題主給的視訊中重新分析了一下目前 CNN 的問題,主要集中在 Pooling 方面(我認為可以推廣到下采樣,因為現在很多 CNN 用卷積下采樣代替 Pooling 層)。Hinton 認為,過去人們對 Pooling 的看法是能夠帶來 invariance 的效果,也就是當内容發生很小的變化的時候(以及一些平移旋轉),CNN 仍然能夠穩定識别對應内容。

Hinton 覺得這是一個錯誤的方向。他給出了一個心理學實驗的例子,這個例子要求判斷兩個 R 是否是一樣的,僅僅因為旋轉導緻不同:

(幾乎所有)人的做法是下意識的旋轉左側的 R,“看” 它們是否重合。

但是按照 CNN 的 invariance 的想法完全不是這麼做。如果你對訓練神經網絡有經驗,你可能會想到我們在做圖像預處理和資料拓增的時候,會把某些圖檔旋轉一些角度,作為新的樣本,給神經網絡識别。這樣 CNN 能夠做到對旋轉的 invarience,并且是 “直覺上” 的 invariance,根本不需要像人那樣去旋轉圖檔,它直接就 “忽視” 了旋轉,因為我們希望它對旋轉 invariance。

CNN 同樣強調對空間的 invariance,也就是對物體的平移之類的不敏感(物體不同的位置不影響它的識别)。這當然極大地提高了識别正确率,但是對于移動的資料(比如視訊),或者我們需要檢測物體具體的位置的時候,CNN 本身很難做,需要一些滑動視窗,或者 R-CNN 之類的方法,這些方法很反常(幾乎肯定在生物學中不存在對應結構),而且極難解釋為什麼大腦在識别靜态圖像和觀察運動場景等差異很大的視覺功能時,幾乎使用同一套視覺系統。

是以 Hinton 認為,人腦做到的是 equivariance ,也就是能夠檢測到平移、選轉等等各種差異,但是能夠 “認識” 到他們在某些視覺問題場景下是相同的,某些場景下應該有所差別,而不是像 CNN 一樣為了追求單一的識别率,用 invariance 掩蓋這些差異。

于是 Hinton 重新開始關注 Capsules 的問題,希望從中有所突破,解決之前深度學習中的很多問題。如果确實能夠解決這些問題,Hinton 有勇氣完全抛棄之前的體系結構,從 0 開始。

這是 Hinton 最近被 NIPS 接受的關于 Capsules 論文 Dynamic Routing between Capsules (未發表)https://research.google.com/pubs/pub46351.html 。其在 MNIST 上非常成功,識别率達到了新高,同時解決了 CNN 難以識别重疊圖像等問題。

注:上文中 equivalence 改為了 equivariance,這是更準确的說法

一些分析

雖然現在隻有論文摘要,以及 Hinton 最近的視訊,我們還是可以分析一下 Hinton 的想法和追求:

可解釋性。

按照 Hinton 的說法,Capsule 是一組神經元,這組神經元的激發向量可以代表對應于一類實體(比如一個物體,或者一個物體的部件)的執行個體參數(instantiation parameters)。這個說法非常像 Hinton 曾經提的 “專家積”(Products of Experts)[1] 的概念,他用這個概念解釋著名的對比散度(contrastive divergence)算法 [2]。更為人熟知的是 Andrew Y. Ng 的關于自動從視訊中識别貓臉的實驗 [3],這些實驗都暗示了某個神經元可以代表代表某些物體執行個體(祖母細胞假說)。但是我們知道,某個神經元自身是個簡單的數學變換,其自身不能起到決定性的作用。CNN 等能夠自動抽取圖像特征等等性質已經為人熟知,但是到底是哪些神經元或者哪些結構起了作用?這個很難回答。現代大多數神經網絡的結構是相對整體且比較粗糙的,很難解釋其内部的具體作用機制,是以我們常常把神經網絡稱為 “黑盒模型”。現在有了 Capsule 後,我們或許可以以  Capsule 為機關分析得出每個 Capsule 具體的作用,這樣可解釋性要強很多。

注:從視訊中看 Hinton 所說的 instantiation parameters 應該是指表征以下内容的參數: 

1. 某類物體出現的機率

2. 物體的一般姿态 (generalized pose),包括位置,方向,尺寸,速度,顔色等等

因果性。

這是 Hinton 在視訊中重點提到的,也是很多機器學習專家關心的東西。現在的神經網絡缺乏某種 “推斷” 的機制,更多是目标函數最大化下的函數拟合。我們知道網絡能夠正确分類某個圖檔,但是為什麼?圖檔中什麼部分或者條件才導緻網絡得出這個結論?如果分類出錯了,又是什麼具體的部分或者條件誤導了它?這些我們都不是非常清楚,大部分時候僅僅靠調參提高結果。而論文中 Dynamic Routing,就是希望能夠形成一種機制,讓網絡能夠将适合 Capsule_A 處理的内容,路由到 Capsule_A 讓其處理。這樣就形成了某種推斷鍊。“找到最好的(處理)路徑等價于(正确)處理了圖像”,Hinton 這樣解釋。

Hinton 指出,原先的 Pooling,類似于靜态的 routing,僅僅把上面的結果原地交給下面一層的神經元。(下面圖檔中 Dynamic Routing 僅供示意,具體實作要看發表出來的論文)

無監督學習。

這點也是 Hinton 強調的(原話似乎是 A human does not know so much labels)。Hinton 估計有在 Capsule 基礎上做無監督研究的意向,在之前的 [4] 中 Hinton 已經用 Capsule 實作了自編碼器。

如何看待 Hinton 重新提出的 Capsule ?

首先這個工作成功或者不成功都是很正常的,就算 Capsule 真的會成為以後的趨勢,Hinton 也未必這麼快找到正确的訓練算法;就算 Hinton 找到了正确的訓練算法,也沒有人能夠保證,Capsules 的數量不到人腦中 mini-columns 數量的時候,能夠起達到人類的識别率(何況現在 CNN 雖然問題很多,但是識别率很多已經超過人類了)。

另外看之前的關于 Capsules 的論文 [4],其中的結果在 2011 年還是不錯的,但是相比近年來的 CNN 就差多了,這恐怕也是 Capsules 随後沒有火起來的原因。很多人都吐槽現在深度學習各種各樣的問題,需要大量調參,但是每次調參都能有一大批人在論文發表 deadline 前調到想要的效果,這個也不得不服啊;不服你用 SIFT 給你一年調到一樣的效果試試?

或許最糟的結果是,如同分布式存儲中著名的 CAP 理論(又叫 Brewer's theorem)所述,一緻性,可用性和分片性三者不能同時滿足;或許對于機器學習,正确率,可解釋性,因果性也不能同時滿足(最好的模型必然最難了解)。Hinton 晚年試圖突破深度學習就像愛因斯坦晚年試圖統一電磁力和引力一樣,是注定無法成功的。不過相信 Hinton 仍然願意等下去,畢竟從反向傳播提出,到深度學習的火爆,Hinton 已經堅守了 30 年了。

評論中有人提到,人工神經網絡不必非要按照生物的路子走。我想 Hinton 重提 Capsule 的原因不隻是因為 Capsule 在生物學上有支援,而是其有可以實施 dynamic routing 算法等的優良性質,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.

本文作者:AI研習社

繼續閱讀