The pooling operation used in convolutional neural networks is a big mistake and the fact that it works so well is a disaster. ——Hinton
先引用深度學習三巨頭之一Geoffrey Hinton(杰弗里·辛頓)的名人名言作為開端.
CNN是現在十分火熱的模型,首先我們都知道,通過pooling層能夠學到部分高階特征,比如對于人臉而言可以激活識別到鼻子 ,嘴巴 ,眼睛 等。
大神們看到CNN模型的強大開始進行人性本質的思索,那么它有什么搞不懂的時候咩?
答:確實有。
具體來說,pooling并不能夠學到這些特征具體是從哪一層特征學到的,也就意味著會損失高階特征之間的相互空間關系,空間層級信息無法獲取到。也就是混亂的 并不能夠表征一張人臉。這就是pooling層存在的缺陷。
好吧,簡言之就是臉盲。
我們接著來看,計算機得到圖像的過程是一層一層,從圖像的內部表示到整體圖像表示。但是人對圖像的認識恰恰相反!
科普時間到:
人腦對圖像的認識關鍵的點在于圖像位置姿態的認識,也就是即便圖像進行了旋轉,平移人腦依然可以認識圖像,而計算機卻不行。因此提出膠囊網絡CapsNet。
那么我們來正經地看看到底什么是膠囊(總之不是吃的那個小藥丸 )
一:膠囊定義
膠囊(Capsule)是一個,包含多個神經元的特征載體。每個神經元可以表示圖像中出現的特定實體的各種屬性,比如姿態(位置,大小,方向),紋理,變形等。
膠囊以向量的形式封裝特征的各種屬性表示。數值就是這個屬性表示存在的概率,會隨著特征的空間變化而變化,向量的長度保持不變的話,整個膠囊表征的高層特征就保持一致,這就是Hinton提出的活動等變性,這個不變性的意義高于pooling的不變性。
聽懂以上概念后,大神小伙伴們就接著來看它的運算過程吧。
二:膠囊卷積運算過程
1. 輸入向量的矩陣乘法
2. 輸入向量的標量加權
3. 加權輸入向量之和
4. 向量到向量的非線性變換
總之就是先這樣,再那樣就好啦~
好了,回歸干貨:
u1、u2、u3就是來自下層的3個膠囊 ,向量的長度編碼了下層膠囊相應特征的概率。
那么
w1j、w2j、w3j 就能夠編碼高層特征和低層特征之間的空間關系。
神經網絡是通過反向傳播來學習參數,而膠囊網絡是通過“動態路由”算法來進行更新。
低層膠囊需要決定它的輸出是向哪個高層膠囊輸出。通過學習cici才能夠激活是向哪個方向的膠囊進行映射。
所以對于動態路由算法就是ujuj服從的某個分布,每層膠囊會相對聚集,那么接下來學習的低層膠囊向哪個高層膠囊映射,就是通過這種預測更接近的膠囊聚集來判斷的。
接下來向量到向量的非線性變換就是用了一個新穎的非線性激活函數,接收一個向量,然后在不改變方向的前提下,壓縮它的長度到1以下。就是squash(?):
為了清晰地讓大家理解,整來了一張圖,更形象的描述整個學習過程:??
怎么樣,是不是看著一下子就通透了起來呀^ ^
三:動態路由算法
好了我們繼續往下肝??
從上述算法過程就能夠明白,輸入為低層所有的膠囊線性變換的輸出$hat{u}_{j|i}$以及路由迭代次數$r$和層$l$ 。定義了一個零時變量$b_{ij}$初始化為0,在迭代過程中會更新,$c_i leftarrow softmax(b_i)$就是低層膠囊所有的權重。
舉個簡單的小例子??
權重分配過程:$b_{ij }$初始化為0,第一次迭代,假設有3個低層膠囊,2個高層膠囊,那么$c_{ij}$都會等于0.5,所有的權重$c_{ij}$都相等。
隨著迭代才會使得低層膠囊可以根據這個權重指向對應的高層膠囊。$s_j leftarrow sum_i c_{ij} hat{mathbf{u}}_{j|i}$ 就是對每一個膠囊做一個線性組合,然后通過$squash$函數得到傳遞方向不變的權重向量。最后更行相應的權重$b_{ij}$。
(嗯!大神們是不是覺得很簡單(o^^o))
高層膠囊$j$的當前輸出和從低層膠囊 $i$出接收的輸入做點積,再加上上一輪的權重$b_{ij}$,得到更新的$b_{ij}$。點積可以表征膠囊之間的相似性,其實也就是將低層膠囊的特征學習過來,這就與$CNN$的學習效果一致。
明顯從上圖就可以看出,$hat{u}{1|1}$和上面黑色的向量不相似,$hat{u}{2|1}$就和上面黑色的向量是相似的,那么路由權重$c_{11}$會降低,而$c_{12}$會增大。從而低層膠囊的學習就能有最優的匹配。
綜上!一篇簡單的科普教學文就結束啦,誰用誰知道!
所以————
聽懂掌聲!
那下篇我們來簡單聊聊「相似三連」:DNN、RNN、CNN里的RNN吧!(遞歸神經網絡)
編輯:jq
-
神經網絡
+關注
關注
42文章
4771瀏覽量
100715 -
函數
+關注
關注
3文章
4327瀏覽量
62573 -
神經元
+關注
關注
1文章
363瀏覽量
18449 -
動態路由
+關注
關注
0文章
16瀏覽量
23117
發布評論請先 登錄
相關推薦
評論