Capsule Networks

傳統CNN:
工作原理:將每一層對應的特徵累積起來,從尋找邊緣開始,然後是形狀、再識別實際的對象。
(1)然而,在這個過程中,所有這些特徵的空間關係信息丟失了。
(2)對圖片的角度要求有點苛刻,它能容忍照片稍微旋轉一些,但要是旋轉太多,它就不認得了。(旋轉的程度超出了最大池化(maxpooling)所帶來的旋轉不變性(invariance)的限度)因此需要數據增強。
(3)CNN還很容易受到白盒對抗性攻擊(adversarial attacks)的影響,也就是說在圖片上悄悄藏一些其他圖案,就能讓CNN把原物品誤認作別的東西。

Capsule Networks
代碼:https://github.com/naturomics/CapsNet-Tensorflow
知乎:https://www.zhihu.com/question/67287444/answer/251460831
這裏寫圖片描述
點點:
(1)capsule相當於一個向量版的神經元。
(2)模型有三層。第一層是一個常規的卷積層,作用是進行局部特徵檢測。若常規卷積的輸出爲6*6*32即6*6*1*32,那麼第二層(PrimaryCaps)的輸出爲6*6*8*32(primaryCaps層可以理解爲多個常規卷積層的疊堆,換句話,就是把8個conv2d封裝在一起,然後形成一種新的neural unit,hinton稱之爲capsule,在這層這種neural unit可以輸出8x1的vector)。第三層(DigitCaps)在第二層的輸出之上就開始使用了 routing 算法。這一層可以看作一個全連接層。
(3)每個neural unit的參數更新不僅應該受到global的loss fun影響,還應該受到這個capsule的周邊capsule影響。

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