Capsule Networks(CapsNets)帶給了我們什麼? 從Geoffrey Hinton談起 (1/2)

Topic:  Dynamic Routing Between Capsules

螢幕快照 2017-12-01 上午11.45.47

Editor: George Wu

Resources: paper 中文post

Label: Geoffrey Hinton

大意:

已經有不少介紹Capsule Networks的文章, 也有很多關於 Capsule Networks性能和CNN, Back propagation等的各種討論與比較. 但真的了解Capsule Networks 其實我們應該從Geoffrey Hinton的背景去了解. 直接講結論, 目前主流的CNN, RNN等網路架構搭配上back propagation已經可以不錯的處理目前處理的影像, 語音, 自然語言等領域的問題, 也有很多方案解決參數不穩定, 梯度消失等各式問題. 但Capsule Networks在未來Unsupervised learning, Predictive learning, 以及朝向Strong AI的路上必然是更有利的架構. 在這裡我將Capsule Networks分成兩篇來介紹, 第一篇著重在介紹Geoffrey Hinton以及CapsNets概念的緣起背景, 以及CapsNets能帶給了我們什麼, 並結合認知科學及神經科學去解釋CapsNets, 而第二篇才介紹細部的計算以及Capsule Networks程式碼的解說. 在這裡也特別致謝專訪時李宏毅老師的詳盡解說. 

相關研究:

Transforming Auto-Encoders (Hinton),  2011 [1]

Dynamic Routing Between Capsules (Hinton),  2017 [2]

 

神經網路之父 Geoffrey Hinton:

身為神經網路三巨頭之一的Geoffrey Hinton 是多倫多大學計算機科學系教授, 也是Google Brain 人工智慧團隊的首席科學家. 他也因為和Lecun發明了Back propagation(反向傳播)算法而聞名. 但其實受限玻尔兹曼機(restricted Boltzmann machine, RBM), 深度信念網路(Deep Belief network, DBN), 到最近我們常用的ReLu 函數, Dropout 等也都是他的發明. 應該說如果沒有他的堅持在神經網路的基礎研究上努力, 現在就不會有深度學習.

現在的很多CapsNets文章標題是Geoffrey Hinton 推翻反向傳播. 其實從BPN 神經網路只有幾層時Hinton其實就發覺Back propagation的問題就準備推翻它, 所以有recirculation算法. 儘管那時候BP真的很有效(就跟現在的CNN一樣). RBM (2000)就是那時候為了解決反向傳播的問題而提出的. Restricted Boltzmann machine從基於統計分佈的Boltzmann machine改進而來, 能用很漂亮的統計熱力學理論求解. 而 深度信念網路DBN可以看成用多個RBM組合而成. 另外一個特別要提及的就是他的研究有很大部分是認知科學(cognitive science)相關, 譬如這篇引用前三高的Learning representations by back-propagating errors[3]就是發在Cognitive modeling上, 以及對符號在神經網路傳播, 將神經網路與腦神經與意識形成對比的眾多研究及書等, 可以知道他致力於建立神經網路的理論基礎, 以及希望神經網路能像人腦能處理更抽象化更高層的資訊. 所以也不難理解為何會有Capsule Networks理論.

 

反向傳播算法有什麼問題?

我想目前使用在神經網路及深度學習的Back propagation最首要的一個問題就是腦神經網路並沒有這樣的機制, 很難想像譬如視覺通路(visual pathway)上從一開始視網膜到視覺皮層L1到L6皮層的複雜傳遞機制可以以梯度求目標函數去表示, 也不太可能精確求導數, 轉置矩陣運算等, 而且現今動輒百層的深度神經網路, 或者有很多通道或highway也不符合真實的腦神經結構, 腦神經的訊號傳遞也包含電訊號, 化學訊號, LTP, LTD, 以及增強抑制等等. 當然也會有人質疑只要神經網路結果及效能好, 並不一定要依循生物學. 這一點等下再討論.

不可否認目前在深度學習網路上Back propagation還是很有效, 尤其在層數越來越深之下很多的結果都非常好, 很多原本產生的問題也在眾多的方案下解決了, 譬如highway, 通道, ResNet等就解決了梯度消散的問題, Pooling以及data argument解決了資料的invariance問題, Batch normalization 讓參數可以更穩定的傳遞, 還有上採樣下採樣的問題等等都有解決方案. 但不可否認這其實像是用高速的計算硬體做全參數優化, 結果不太可能差. 但即使現在深度網路在很多任務表現很好, 但和人腦相比還是有很多不足, 譬如人類不需要非常大量的資料訓練就能進行有效的學習, 深度學習尚不能處理抽象觀念以及高層邏輯關係, 深度學習目前也沒有很好的機制加上常識也不太能理解物體及背景的概念及相關性等等. 在這些方面Capsule Networks應該能更好的發揮它的長處, 而不是在mnist dataset和CNN比較結果.

 

先簡單介紹Capsule Networks 的概念

在這裡先概念上介紹Capsule Networks 是什麼, 詳細計算步驟將在下一篇說明.  先以 Dynamic Routing Between Capsules [2] 的Figure 1說明Capsule Networks 架構圖. 和CNN比較我可以看到輸入層和前面一層是傳統的Convolutional layer 搭配上ReLu, 而後面接上兩層 Capsule Layer, 接下來還是全連接層. Capsule Layer內有數個Capsule單元. Capsule可以視作一組神經元組成的單元, 而它的輸入及輸出都是向量, 這裡可以參考[1]的圖顯示的就是Capsule單元, 所以我們可以看成 Capsule Networks 就是把CNN的幾層以Capsule Layer替換, 而將一般神經元替換成Capsule單元.

螢幕快照 2017-11-30 下午11.42.39

那Capsule的意義可以由上圖解釋 [4]. 我們可以把Capsule的輸出看成是某種概念的輸出, 譬如右邊是原始輸入圖像包含一個長方形及三角形, 而在經過幾層的Convolutional layer抽取底層特徵後, 左圖是Capsule Layer的輸出(Capsule activations). 可以看到圖上有藍色及黑色兩種的箭頭, 藍色箭頭代表三角形, 黑色箭頭代表長方形. 我們可以看到在相對應的位置有特別長的一個黑色箭頭對應右圖長方形位置, 有特別長的箭頭對應右圖的三角形位置, 而且箭頭(Activation vector)的位置跟長度角度都各有意義, 譬如長度就代表出現在那個位置的機率, 而角度代表旋轉角度. 我們發現物體旋轉或縮放效應在物體偵測上和CNN相比變得簡單無比, 我們也可以很容易的定義其他的性質譬如顏色, 種類, 材質, 光照或和場景的關係. 在這方面Capsule Networks更像是真正的識別出這個物體, 或稱為equivariance.

螢幕快照 2017-11-30 下午11.46.20

同樣的Capsule Layers也是可以低層接到高層而表現更高維的概念或特徵. 以下圖說明. 之前我們提到了藍色箭頭代表三角形(triangle capsule), 黑色箭頭代表長方形(rectangle capsule). 而兩個組合可能變成房子(house capsule)或者帆船(boat capsule). 這就是 Routing by agreement的過程. 也就是paper裡面提到的Dynamic Routing在做的事. 詳細過程將在下一篇解釋.

螢幕快照 2017-12-01 上午10.19.02

 

Capsule Networks 的生物學及認知科學解釋

在大腦的神經解剖學上皮層的分層結構是最先被發現的, 後來接著發現在皮層中有垂直的排列整齊的皮層功能柱ConexColumn結構貫穿L1~L6皮層, 被認為是最基本的功能及結構單位, 同一個功能柱內所有的神經細胞都編碼相同的視覺信息。迄今為止,科學家在高等動物的大腦皮層上已經發現了多種與處理不同感覺信息相關的功能柱。而近代發現每個功能柱裡有10個到數十個的minicolnmn微柱, 而每個微柱包含80 ~ 250個神經元, 所以也有一種說法認為微柱才是基本的結構單位. 以視覺通路(visual pathway)解釋, 每個視網膜視覺細胞只能看到一小部分的視野, 也就是attention field. 訊號傳遞到功能柱裡的微柱, 每個微柱其實是接收到相同的attention field以及相同的圖像特徵, 這些微柱可能就代表Hinton的Capsule. 功能柱之間有水平軸突可以互相傳達訊息.

 

皮層功能柱的功能形成了認知事物的屬性原理. 舉個例子, 頻果和橘子都有形狀, 味道和氣味的屬性. 視覺區的功能柱垂直收錄了頻果和橘子的形狀, 顏色等視覺屬性, 味覺區的功能柱垂直收錄了頻果和橘子的味覺屬性, 嗅覺區的功能柱垂直收錄了頻果和橘子的氣味屬性. 而在視覺區的形狀和顏色可能是視覺區內的不同群功能柱所負責, 形狀功能柱由上到下可能就負責不同的形狀特徵, 而顏色功能柱包含不同的顏色功能柱, 或者微柱. 而我們在看到頻果時也同時聯想到它的氣味及味道, 這可能就是不同區功能柱間的水平軸突傳遞訊號的效果.  這稱為神經網路的穩定串連結構, 因為不會看到蘋果聯想到橘子的味道. 但這線性結構又是關聯的, 因為如果沒有頻果我們可能會想到橘子, 這稱為併連結構. 近代還有神經科學上的發現除了attention field之外還有所謂的整合field. 就是在這些功能柱間還有很多球狀組織, 能接收很大範圍的視野, 據實驗結果這些組織可能負責在複雜影像上區分出背景和目標物體, 透過比較視覺功能柱接收的attention field及整合field的訊息比對.

螢幕快照 2017-12-01 下午4.44.01

所以Geoffrey Hinton的Capsule Networks只是一個開端, 在結合現代的神經科學理論下Capsule其實能解決很多傳統CNN做不到的事. 無論是Yann LeCun 多次提到的Predictive learning, 將常識融合進去神經網路, 或李飛飛目前在進行的豐富場景理解, 都能在Capsule Networks的架構下做到.

Reference:

[2] Hinton, Geoffrey E., Alex Krizhevsky, and Sida D. Wang. “Transforming auto-encoders.” International Conference on Artificial Neural Networks. Springer Berlin Heidelberg, 2011.

[2] Sabour, Sara, Nicholas Frosst, and Geoffrey E. Hinton. “Dynamic Routing Between Capsules.” Advances in Neural Information Processing Systems. 2017.

[3] Rumelhart, David E., Geoffrey E. Hinton, and Ronald J. Williams. “Learning representations by back-propagating errors.” Cognitive modeling 5.3 (1988): 1.

[4] https://www.youtube.com/watch?v=pPN8d0E3900&t=694s

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s