1. 程式人生 > >Visualizing and Understanding Convolutional Networks翻譯總結

Visualizing and Understanding Convolutional Networks翻譯總結

Zfnet

論文:《Visualizing and Understanding Convolutional Networks》

1.     概述

這篇論文主要的貢獻是將卷及神經網路的隱藏層的特徵進行視覺化,後面通過視覺化的展示來分析如何構建更好的網路結構。最後還描述了該網路中的每層對整體分類效能的貢獻,還對了該模型在其他資料集上取得的成績:僅僅是對softmax分類器重新訓練,該模型擊敗了Caltech-101和Caltech-256測試集的歷史最好的成績。

論文主要是參考了Alexnet網路模型,通過改變該模型的一些引數(核大小、步長等),選出了分類效果最好的結構作為最終的模型,然後僅僅重新訓練模型末端的softmax分類器,評估該模型在其他資料集上的分類效果。其最有用的還是將特徵資料進行可視化了。

2.     視覺化過程

之前的Alexnet網路中每一個卷積層的操作有如下四個步驟:

1.      卷積運算

2.      矯正運算(ReLU函式)

3.      池化運算

4.      歸一化運算

     論文將中間層特徵反向對映到畫素空間中,觀察得到什麼輸入會導致特定的輸出,視覺化過程是基於反捲積網路實現的,如圖1所示就是其網路結構。反捲積網路可以看成卷積網路的逆過程,其卷積核是卷積網的卷積核的轉置它們擁有相同的卷積核和pooling函式(準確來說是逆函式),因此反捲積網就是將輸出特徵逆對映成輸入訊號。

首先,輸入影象通過卷積網模型,每一層都會產生特定的特徵。然後將反捲積網中觀測層的其他連結權值全部置零,將卷積網觀測層產生的特徵當作輸入,輸入到對應的反捲積層,依次進行以下操作:

1) Unpooling;

2) 矯正;

3) 反捲積;

UNpooling

在卷積網中,池化操作是不可逆的,論文中用了一種近似的方法來計算max pooling的逆過程。在池化的過程中,用maxlocations“switch”表格記錄下每一個塊的最大值的位置,在unpooling過程中這裡將最大值標註回記錄所在位置,其餘位置設定為0。

矯正

在卷積網路中,為保證特徵有效性,論文通過relu非線性函式來保證所有輸出都為非負數,這個約束對反捲積過程依然成立,因此將重構訊號送入reluc函式中。

反捲積

卷積網使用學習得到的卷積核與上層輸出做卷積,得到特徵。為了實現逆過程,反捲積網使用相同的卷積核的轉置作為核,與矯正後的特徵進行卷積運算。


圖1 特徵資料視覺化結構

3.     卷積網視覺化

特徵視覺化

如圖2所示是訓練結束後,模型各個隱藏層提取的特徵,圖所示的是給定輸出特徵時,反捲積產生的最強的9個輸入特徵。將這些計算所得的特徵,用畫素空間表示後,可以清晰地看出:一組特定的輸入特徵(通過重構獲得),將刺激卷積網產生一個固定的輸出特徵。圖2的右邊是對應的輸入圖片,和重構特徵相比,輸入圖片和其之間的差異性很大,而重構特徵只包含那些具有判別能力的紋理結構。例如,第5層第1行第2列的9張輸入圖片各不相同差異很大,而對應的重構輸入特徵則都顯示了背景中的草地,沒有顯示五花八門的前景。

每一層的視覺化結果都展示了網路的層次化特點。第2層展示了物體的邊緣和輪廓,以及與顏色的組合,第3層擁有了更復雜的不變性,主要展示了相似的紋理,第4層不同組重構特徵存在著重大差異性,開始體現了類與類之間的差異,第5層每組圖片都展示了存在重大差異的一類物體。


圖2 特徵視覺化

特徵不變性

圖3所示,5個不同的例子,它們分別被平移、旋轉和縮放。圖5右邊顯示了不同層特徵向量所具有的不變效能力。在第一層,很小的微變都會導致輸出特徵變化明顯,但是越往高層走,平移和尺度變化對最終結果的影響越小。卷積網無法對旋轉操作產生不變性,除非物體具有很強的對稱性。


圖3

4.     網路結構

論文主要是參考Alexnet網路進行了一些引數的調整,其中用到的方法幾乎是一樣的,所以這裡就不再詳細描述。