1. 程式人生 > >深度學習網路篇——ZFNet(Part1 從AlexNet到ZFNet)

深度學習網路篇——ZFNet(Part1 從AlexNet到ZFNet)

在這裡插入圖片描述

一、上回說到的 AlexNet

請各位看官們參見部落格之前的文章: 深度學習網路篇——AlexNet https://blog.csdn.net/weixin_43624538/article/details/83988998
1)AlexNet效能舉世矚目
top-1和top-5錯誤率分別為37.5%和17.0%。
2)由下面的原因,人們也對卷積網路空前關注:
1) 大量有標籤的資料集ImageNet;
2)強有力的GPU計算,使訓練複雜模型更容易實現
3)更好的歸一化策略,如dropout

二、Why:ZFNet為什麼有?

AlexNet如此優秀,隨之提出了兩個問題:
1)為什麼能表現的這麼好,
2) 怎麼樣能變得更好
縱然AlexNet好用,我們不清楚該模型的內部(仍然缺乏洞察力,認知十分有限)。
------從科學立場,模型的發展就是反覆實驗和減小誤差了。
於是有了本篇論文……

**Visualizing And Understanding Convolutional Networks **

在這裡插入圖片描述

三、What:ZFNet做了什麼?

1. 一個視覺化技術來觀察
------理解 中間特徵層的功能
------理解 分類器層的操作
2. 到改進神經網路的結構的方法

四、How: ZFNet怎樣做的?

1. 使用反捲積(Deconvnet),視覺化特徵圖(feature map)
1)Ablation Study剝離的研究:以發現不同模型層的效能貢獻。
2)Evolution 逐層的演變
3)Project 映射回輸入畫素空間
4)Sensitivity 敏感度分析
------為了得到場景的哪一部分對於分類很重要,我們將輸入影象的不同部分遮住 ->(控制變數法)
2. Diagnostic Role發現規則:在AlexNet基準上找到更優模型架構。


------改變模型的一些引數(卷積核大小,步長等),發現在ImageNet資料集上超越其原先結果的架構
3. Other Database 其他資料集:模型推廣至其他資料集。
------泛化能力,只需重新訓練末端的softmax分類器,評估該模型在其他資料集上的分類效果。

五、ZFNet的成就

2013年ILSVRC的冠軍(膜拜ing!)
捎帶上介紹ILSVRC:
在這裡插入圖片描述
1)隨著深度學習的日益發展,機器視覺在ILSVRC的比賽成績屢創佳績,其錯誤率已經低於人類視覺,若再繼續舉辦類似比賽已無意義。
2)LSVRC 2017 是比賽的最後一屆。
3)正是因為ILSVRC 2012挑戰賽上的AlexNet橫空出世,使得全球範圍內掀起了一波深度學習熱潮。
4)這一年也被稱作“深度學習元年”。此後,ILSVRC挑戰賽的名次一直是衡量一個研究機構或企業技術水平的重要標尺。
------因此,即使ILSVRC挑戰賽停辦了,但其對深度學習的深遠影響和巨大貢獻,將永載史冊。
在這裡插入圖片描述


讓我們來跪拜大神!!!跪拜!!!
ZF:Matthew D.Zeiler 和 Rob Fergus (紐約大學)2013年撰寫的論文:
在這裡插入圖片描述

六、回顧 AlexNet

1. AlexNet每一層包括以下部分:
1)卷積層:前一層輸出(第一層即:輸入影象)與一組學習獲得的特定核進行卷積運算產生
2)矯正層:對每個卷積結果都進行矯正運算,通過ReLU函式傳遞響應
3) [可選地]最大池化層:在區域性鄰域上的最大池化,獲得降取樣圖
4) [可選地]區域性對比操作,其對特徵對映之間的響應進行歸一化。使得輸出特徵平穩。
2.更多參閱(Krizhevsky等,2012)和(Jarrett等,2009)。
3.網路的最後幾層是傳統的全連線網路,最後的輸出層是softmax分類器。
4.我們使用大量的N個標記影象構成的資料集來訓練這些模型{x; y},其中標籤yi是個離散變數,用於表示其真實的類別。
5.交叉熵損失函式用於比較^ yi和yi,適用於影象分類。
6.網路的引數(卷積層中的卷積核,全連線層中的權重矩陣和偏差)通過相對於整個網路中的引數反向傳播損失的導數來訓練,並通過隨機梯度下降來更新引數。

七、ZFNet—通過反捲積網路實現視覺化(Visualization with a Deconvnet)

1.深入瞭解卷積網路的操作,解釋中間層中的特徵活動。
2.一種新的方法,將這些中間層的特徵活動映射回輸入畫素空間,顯示什麼輸入會導致特定輸出。
1) 反捲積網路-也稱解卷積(Deconvolutional Network(deconvnet))執行此對映。
2) 反捲積網路可以被認為是一個與卷積網路模型使用相同元件(卷積核,池化核)的網路
3) 將輸出的特徵逆對映成輸入訊號。從而對已訓練過的卷積網路的視覺化探測。
3. 為了檢查卷積網路,每個圖層都附有一個反捲積層
1)首先,將輸入影象呈現給卷積網路,並在整個層中計算特徵。要檢查給定的卷積網路啟用,我們將圖層中的所有其他啟用設定為零,
2)將特徵圖作為輸入,傳遞給附加的反捲積圖層。
3)然後我們連續進行:(i)上池化/反池化(ii)矯正(iii)反捲積 以重建層中的活動,從而產生所選擇的啟用。
4)重複,直到達到輸入畫素空間。
在這裡插入圖片描述
Q:假如你想要檢視Alexnet 的conv5提取到了什麼東西
–我們就用conv5的特徵圖後面接反捲積網路
—然後通過:反池化、反啟用、反捲積
----把本來一張1313大小的特徵圖(conv5大小為1313),逐層還原,
-----最後回到最開始,得到一張與原始輸入圖片一樣大小的圖片(227*227)。

八、ZFNet的演算法小心機

1.上池化過程
眾所周知,池化是不可逆的過程!但是我們可以近似可逆!(誰還不會個四捨五入啊~)
在這裡插入圖片描述
所以在ZFNet的池化過程中,我們記錄最大啟用值的座標位置。上池化的時候,只把池化過程中最大啟用值所在的位置座標的值啟用,其它的值置為0,當然這個過程只是一種近似。
在這裡插入圖片描述
【上圖解讀】左邊表示pooling過程,右邊表示unpooling過程。
pooling是一個下采樣的過程,本來是33大小,經過pooling後,就變成了11大小的圖片了。而unpooling剛好與pooling過程相反,它是一個上取樣的過程。
------pooling的一個反向運算, 借pooling中記錄下最大值的位置座標(0,1)。
在unpooling過程的時候,就把(0,1)這個畫素點的位置填上去,其它的神經元啟用值全部為0。
在這裡插入圖片描述
在max pooling的時候,我們不僅要得到最大值,同時記錄最大值得座標(-1,-1)。
在unpooling的時候,就直接把(-1-1)這個點的值填上去,其它的啟用值全部為0。
【一個小對比:上取樣(UnSampling)與上池化(UnPooling)】
在這裡插入圖片描述
2.反啟用 –> 矯正
在卷積網路中,使用relu非線性函式來修正特徵圖,從而確保特徵圖始終為非負的正值。為了在每一層獲得有效的特徵重建(也應該是正的),我們將重建的訊號通過relu非線性函式。即:這個反啟用過程和啟用過程沒有什麼差別,都是直接採用relu函式。
3.反捲積
對於反捲積過程,採用卷積過程轉置後的濾波器(引數一樣,只不過把引數矩陣中 水平和垂直的方向翻轉了一下)。應用於糾正過的特徵圖中(上步得到),而不是下面的層的輸出。
在這裡插入圖片描述在這裡插入圖片描述
【反捲積為什麼有效】
假設有如下卷積運算:
在這裡插入圖片描述
則有:
在這裡插入圖片描述
考慮反捲積,反捲積操作等價於:
在這裡插入圖片描述
從此處可以看出,反捲積並不能還原出原始輸入,僅僅只是根據卷積核的資訊,推算出最可能的啟用輸入圖。
假設卷積核:
在這裡插入圖片描述
那麼顯然x11,x22相對來說是更重要的特徵點(3,4相對較大),它們在計算y時會趨向於給出更大的貢獻,反捲積正是考慮了這一點,根據卷積核的資訊(即計算對應y時的貢獻)來反推可能的輸入啟用圖,得到的輸入啟用圖可以反映出相對的啟用程度。(輸入圖值越大證明這個點的貢獻越高,反捲積認為這個點是最應該啟用的,是最重要的特徵點,因為只要這個點啟用,再結合它的最大貢獻,可以更大可能使輸出圖啟用。)
【ZFNet中反捲積具體步驟】
------從較高層向下投影,使用最大池化生成的“switch“。
------由於這些switch變換變數的設定,是輸入影象所特有的。
------因此從單次啟用獲得的重建,類似於原始輸入影象的一小塊
------其結構根據它們對特徵啟用的貢獻而加權。
------由於模型是有區別地訓練的,因此它們隱含地顯示輸入影象的哪些部分是有區別的。
!!!請注意,這些重構影象不是從模型的樣本取樣生成,因為中間不涉及生成過程。!!!

視覺化網路結構如下:
在這裡插入圖片描述
【上圖解讀】附加到convnet層(右)的deconvnet層(左)。
網路的整個過程,從右邊開始:輸入圖片-> 卷積-> Relu-> 最大池化->得到結果特徵圖-> 反池化-> Relu-> 反捲積。
在這裡插入圖片描述
在deconvnet中unpooling的示意圖,使用switch表格在池化過程中記錄每個池區域(彩色區域)中本地最大值的位置。

下一篇文章將會給大家介紹ZFNet中的一些訓練細節,還請大家多多關注!我們還是深度學習剛入門的小學生,有些理解不到位的地方還請大大們指出。蟹蟹大家~