Hinton大神Capsule論文首次公佈,深度學習基石CNN或被取代

文章來源: 新智元

https://mp.weixin.qq.com/s/5Af_K_BGrD5RomgpWxJNBQ


【新智元導讀】Hinton要打造下一代CNN的Capsule細節終於通過一篇論文發佈。本文帶來詳細介紹。此前,Hinton曾討論了用“capsule”作爲下一代CNN的理由。他解釋了“標準”的卷積神經網絡有什麼問題?結構的層次太少,只有神經元、神經網絡層、整個神經網絡。所以,我們需要把每一層的神經元組合起來,形成一個組,並裝到“艙”(capsule)中去,這樣一來就能完成大量的內部計算,最終輸出一個經過壓縮的結果。“艙”(capsule)的靈感來自大腦皮層中的微柱體(mini-column)。Hinton要革CNN的命,要知道,CNN的代表人物之一,可是大名鼎鼎的Yann LeCun。Yann LeCun是Hinton教授指導的博士生,CNN是他在AT&T工作時提出的。


Hinton的“膠囊”(Capsule)終於來了。從2011年就開始說的概念,現在終於實現了,而且效果看上去很不錯。



可以看出,capsule在參數較少的情況下,在NORB基準上實現了更好的效果,超越了CNN,後者還需要更多處理。


論文地址:https://arxiv.org/pdf/1710.09829v1.pdf


我們先來看這篇論文,摘要是這麼寫的:


膠囊是一組神經元,其活動向量表示特定類型的實體(例如物體或物體部分)的實例化參數。我們使用活動向量的長度來表示實體存在的概率及其表示實例參數的方向。一級活性膠囊通過轉化基質對高級膠囊的實例化參數進行預測。當多個預測相同時,較高級別的膠囊會被激活。我們顯示了,有鑑別(discriminatively)訓練的多層膠囊系統在MNIST上實現了最先進的性能,並且在識別高度重疊的數字時比卷積網明顯更好。爲了達到這些結果,我們使用了一個迭代的路由協議機制:一個較低級別的膠囊希望將其輸出發送到更高級別的膠囊,其活動向量具有大的標量積,預測來自較低級的膠囊。


具體看,作者在論文中介紹,活動膠囊內神經元的活動表示圖像中存在的特定實體的各種性質。這些屬性可以包括許多不同類型的實例化參數,例如姿勢(位置,大小,方向),形變,速度,反照率,色相,紋理等。一個非常特殊的屬性是圖像中實例化實體的存在。表示存在的一個方法是使用一個單獨的邏輯單元,其輸出是實體存在的概率。在本文中,我們探索一個有趣的替代方法,即使用實例化參數向量的總長度來表示實體的存在並強制向量的方向來表示實體的屬性。我們確保膠囊的矢量的輸出不超過1。


膠囊的輸出是矢量,因此可以使用強大的動態路由機制來確保膠囊的輸出被髮送到上層中的適當母體。最初,輸出被路由到所有可能的父母,但是通過將總和爲1的係數縮小。對於每個可能的父代,膠囊通過將其自身的輸出乘以權重矩陣來計算“預測向量”。如果該預測向量具有輸出的大標量積可能的父母,則存在自上而下的反饋,這具有增加該父母的耦合係數並減少其他父母的效果。這增加了膠囊對該親本的貢獻,從而進一步增加了膠囊預測的標量積與父母的輸出。


這種類型的“按協議路由”應該比通過max-pooling實現的最原始的路由更有效,這允許一層中的神經元忽略下面層中本地池中最活躍的特徵檢測器。論文也展示了動態路由機制是實現分割高度重疊對象所需的“解釋”的有效方式。


卷積神經網絡(CNN)使用學習特徵檢測器的翻譯副本,這使得它們能夠將在圖像中的一個位置處獲得的良好權重值的知識轉換爲其他位置。這已經證明在圖像解釋方面非常有幫助。即使我們用矢量輸出膠囊替代CNN的標量輸出特徵檢測器,並且通過協議來最大限度地合併,我們仍然希望在空間上覆制學習的知識,所以我們讓最後一層膠囊是卷積的。與CNN一樣,我們製作更高級別的膠囊可以覆蓋較大的圖像區域,但與max-pooling不同,我們不會丟失該區域內實體精確位置的信息。對於低級膠囊,位置信息是由膠囊活動的“地點編碼”。當我們上升層級越來越多,位置信息在膠囊的輸出向量的實值分量中被“速率編碼”(rate-coded)。這種從地位編碼到速率編碼的轉變與高級別膠囊代表具有更多自由度的更復雜實體的事實相結合,這表明膠囊的維數在升級時應該也在增加。



上圖是論文中介紹的膠囊——簡單的CapsNet的結構。一個CapsNet共有3層,兩個卷積層和一個全連接層。


30年來,最先進的語音識別使用具有高斯混合的隱馬爾可夫模型作爲輸出分佈。這些模型在小型計算機上容易學習,但是它們具有致命的表徵限制:與使用分佈式表示的循環神經網絡相比,它們使用的一個n表示指數級無效。要將HMM目前爲止已經生成的字符串的信息量加倍,我們需要將隱藏節點的數量做指數級增加。對於一個循環網絡,我們只需要將隱藏神經元數量加倍就行了。


現在卷積神經網絡已經成爲物體識別的主要方法,所以詢問是否存在可能導致其死亡的任何指數低效率是有道理的。一個好的候選人是卷積網絡將概念化到新觀點的困難。處理翻譯的能力是建立在,但是對於仿射變換的其他維度。我們必須在網格上的複製特徵檢測器之間選擇指數級與維數,或以類似的指數方式增加標記的訓練集的大小。


膠囊(Hinton等人[2011])通過將像素強度轉換爲識別片段的實例化參數的向量來避免這些指數低效,然後將變換矩陣應用於片段以預測較大片段的實例化參數。學習編碼部分和整體之間的內在空間關係的轉換矩陣構成了視角不變的知識,自動將其概括爲新觀點。


膠囊作出非常強的代表性假設:在圖像的每個位置,膠囊代表的實體類型至多爲一個實例。這種假設是被稱爲“擁擠”的知覺現象(Pelli et al。[2004])所驅動,消除了約束問題(Hinton [1981]),並允許一個膠囊使用分佈式表示(其活動向量)進行編碼在給定位置的該類型的實體的實例化參數。


用“capsule”作爲下一代CNN的理由 


此前,在一次演講中, Hinton討論了用“capsule”作爲下一代CNN的理由。


他解釋了“標準”的卷積神經網絡有什麼問題?結構的層次太少,只有神經元、神經網絡層、整個神經網絡。所以,我們需要把每一層的神經元組合起來,形成一個組,並裝到“艙”(capsule)中去,這樣一來就能完成大量的內部計算,最終輸出一個經過壓縮的結果。“艙”(capsule)的靈感來自大腦皮層中的微柱體(mini-column)


CNN的代表人物是Yann LeCun,所以這也可以看成是兩位大神在深度學習觀點上的一次正面交鋒。新智元帶來最全面的介紹:



2017年8月17日,Hinton在加拿大多倫多菲爾茲研究所開講,主題是《卷積神經網絡有哪些問題》,這是加拿大新成立的“向量研究院”(Vector Institute)2017-2018機器學習的發展和應用課程的一部分。


2017年3月30日,Vector Institute宣佈成立,Hinton是這一機構的首席科學顧問。發佈會上Vector 方面表示將致力於人工智能的前沿研究,專注在機器學習和深度學習領域的變革性研究。該研究院將與學術機構、孵化器、加速器、初創企業以及大公司展開合作,推動加拿大人工智能的研究及商業化應用。


卷積神經網絡(Convolutional Neural Network, CNN)是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,對於大型圖像處理有出色表現。


卷積神經網絡的集大成者是Yann LeCun,現Facebook 人工智能實驗室的主管,它被業界譽爲“卷積神經網絡之父”。在本次演講中,Hinton也多次提到了LeCun的觀點,提到兩人在學術上的不同觀點。



在本次演講中, Hinton討論了用“capsule”作爲下一代CNN的理由。


一個卷積神經網絡(CNN)或者神經元只有一個輸出AND,在處理兩個輸入向量時做得不好。一個“capsule”是一個多值描述符號,對應輸入向量中的一個特徵。


Hinton在開場白中說:“在中國,有超過1萬名研究生在研究神經網絡”,但是這裏面有一個誤區,他說:“神經網絡與大腦的關係不大,它們雖然是受到大腦啓發的,但是因爲這是我們手動搭建的,大腦是一個完全不同的架構,並且更高效。”


卷積神經網絡有什麼問題?





“標準”的卷積神經網絡有什麼問題?


  1. 結構的層次太少:神經元、神經網絡層、整個神經網絡

  2. 我們需要把每一層的神經元組合起來,形成一個組,並裝到“艙”(capsule)中去,這樣一來就能完成大量的內部計算,最終輸出一個經過壓縮的結果。


“艙”(capsule)的靈感來自大腦皮層中的微柱體(mini-column)。



“艙”表示的是什麼?


  • 每一個“艙”表示的是它所檢測到的類型的一個多維實體的存在和實例化參數。


  • 比如,在視覺通道上,一個“艙”會檢測到物體的具體對象的類型。


  • 一個“艙”會輸出兩個東西:


1. 被呈現的對象可能的分類;

2. 對象的大概狀態,包括位置、朝向、大小、變形、體積和顏色等等。



“艙”可以完成同步過濾(filtering)


一個典型的“艙”從下一層的“艙”中接收多維的預測向量,並且尋找一個更緊緻的預測羣(cluster)。


如果找到了一個一個更緊緻的預測羣(cluster),它會輸出:


  1. 一個高概率,即某一類型的實體存在在這個區間

  2. 羣的引力中心,也就是實體的大概狀態


這種方法在過濾噪音上做得非常好,因爲高維度的一致性的發生並不是偶然。


它比一般的“神經元”表現得要好很多。


當下,LeCun和幾乎所有人都在用的對象識別有什麼問題?




當下用於對象識別的方法:


  • Convnets(卷積網)使用多層學習到的特徵檢測器。(這一點很好)

  • 在卷積網中,特徵的檢測是局部的,每一種類型的檢測器被複制到整個空間中。(這一點很好)

  • 在卷積網中,層次越高,特徵檢測的空間領域變得越大。(這一點很好)

  • 特徵提取層與次抽樣層交叉存取,將相同類型的相鄰特徵檢測器的輸出彙集到一起。(這是問題所在)



將複製的特徵檢測器的輸出進行結合的動機


  1. 池化在每一層都會給予一個小量的轉換變量

    最活躍的特徵檢測器的精確位置會丟失

    可能,這也是ok的,如果池化堆疊很多次或者如果特徵對其他特徵的相對位置進行編碼的話

  2. 池化減少輸往特徵提取下一層的數量

    這將讓我們在下一層擁有更多的特徵類型(更大的領域)



一個卷積網絡中擁有什麼類型的認知


深度卷積網絡中最後一層的激活行爲就是一個認知


感知包含了圖像中許多物體的信息

但是,物體之間的關係是怎樣的?關係的認知並沒有經過訓練


向一個深度循環神經網絡的最初隱藏層的狀態上加入上文提到的認知,並且訓練RNN來生成字幕(不需要對卷積網絡進行預訓練)


反對池化的四點理由



對於池化(pooling),存在以上 4 點爭論:


  • 不合乎我們對形態感知的心理認知


它無法解釋爲什麼把固有座標系分派給對象後,會有如此明顯的效果。


  • 它在解決的是錯誤的問題


我們想要的是 equivariance,不是 invariance。想要的是 Disentangling,而不是 discarding。


  • 它無法使用基本的線性結構


它不能利用能夠完美處理圖像中大量variance的自然線性流形。


  • 池化對於做動態routing也很差


我們需要route進入神經網絡的輸入的每一部分,好知道如何處理它。找到最好的 routing 相當於爲圖像做parsing。



關於爭論1:


四面體Puzzle:關於座標系能做什麼的演示


  • 用一個平面將一個固體四面體切爲兩塊

  • 把這兩塊拼回成爲一個四面體有多難?

  • 一位MIT教授試了10分鐘,然後寫下了一個證明,證明這不可能實現

  • 這個小任務爲什麼這麼難?我們需要一個解釋。



反向四面體Puzzle


  • 想象一下,用一個平面切開一個固體四面體,得到一個方形的cross-section;

  • 如果你用一種方式去考慮這個四面體,做到這點並不難;而如果你用標準的方式去考慮這個四面體,就幾乎不可能做到。



一些更多的心理學證據,顯示了我們的視覺系統在抓住物體形狀時,利用了座標系。



關於爭論2:Equivariance vs Invariance


  • 卷積神經網絡努力在讓神經活動對視點上的小變化invariant,方法是通過在一個“池”內合併這些活動

    —這個目標是錯誤的;

    —它由這樣一個事實驅動:最終的 label 需要 viewpoint-invariant

  • 以equivariance爲目標會更好:視點中的變化引發了神經活動中的相應變化

    —在認知系統中,是 weights 編碼了viewpoint-invariant knowledge,而不是神經活動。



Equivariance


沒有sub-sampling,卷積神經網絡爲discrete translations 給出了“place-coded” equivariance。



兩類 equivariance


  • 如果一個低級別部分移動到了一個非常不同的位置,它會被不同的capsule表徵

    —這是“place-coded” equivariance。

  • 如果一個部分僅移動了很短的距離,它仍會被同樣的capsule表徵,但capsule的輸出將會變化

    —這是“rate-coded” equivariance。

  • 更高級別的 capsules 有更大的domain,所以低級別的place-coded equivariance 轉化爲了高級別的 rate-coded equivariance。



關於爭論3:推算形狀識別到非常不同的視點


  • 目前的神經網絡智慧

    —學習用於不同視點的不同模型

    —這要求大量訓練數據

  • 一個好得多的方法

    —同樣形狀的圖像流形在pixel intensities的空間裏是高度非線性的

    —向流形是全局線性的空間轉化(即,圖像表徵使用了明確的形態座標)

    —這使得大量推算成爲可能



使用計算機圖像使用的全局線性流形在視點上泛化



在部分層次中的兩層(使用線性流形的coincidence filtering)



關於爭論4:我們需要 route 圖像中的信息,好讓神經網絡可以理解


  • 對於複雜形狀來說,我們不希望用 small stride 複製所有位置的知識

    —用某種方法能 route 信息到一個單獨的能夠處理它的 capsule會更好

    —但這一信息可能會在圖像中的任何位置出現

  • 眼球運動擁有偉大的routing機制,但速度慢

    —神經網絡還有什麼方法可以 route 信息?



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章