論文筆記Visualizing and understanding convolutional networks

1. 標題及來源

Visualizing and understanding convolutional networks, ECCV 2014

2. 閱讀目的

學會如何可視化網絡的中間結果,並使用代碼表示出來
理解卷積網絡如何學習(已經能理解,但是理解較模糊,無法建立直觀概念)

3. 領域

卷積網絡可視化

4. 擬解決的問題

1. 爲什麼卷積網絡能表現得很好
2. 卷積網絡性能提升的可能辦法

5. 提出的方法

通過反捲積對網絡的中間層進行可視化,可以給人最直觀的理解,更換分類器的類型。

6. 結果

對一個五層的網絡進行可視化
在這裏插入圖片描述
Layer2中,我們可以看到左上角第一個3x3的區域以及右邊對應位置的區域,如下所示,
在這裏插入圖片描述在這裏插入圖片描述
從這兩個圖中我們可以發現,通過學習的參數對其進行可視化,我們發現網絡學的東西是一些很奇怪的東西,但是通過反捲積可視化後,我們可以直觀的看到網絡學習到的特徵。從圖中我們可以發現,在Layer2中,網絡大致學了一些簡單的特徵,例如紋理在這裏插入圖片描述
在Layer3中,同樣是左上角的位置,我們可以發現,網絡學習到了一些有很多孔的物品的特徵;在最後一行倒數第二塊中,我們發現網絡中學習到了一些人的輪廓,對其可視化後,我們可以發現它提取了一些人物的特徵,這意味着網絡已經能夠辨別人
在這裏插入圖片描述
在Layer4中,我們通過觀察左上角可以發現一些狗的輪廓,通過反捲積可視化之後可以看到一些狗的照片,這意味着這層的網絡已經可以辨別一些狗了;
Layer5中的特徵同理
在這裏插入圖片描述
這個圖展示了訓練過程中,每層網絡的特徵演變過程,從圖中我們可以發現,在低層學習的都是一些簡單的特徵,例如輪廓,方向等,隨着網絡深度的增加,我們發現網絡中學習的特徵越來越複雜,這也印證了卷積網絡的特點——低層學習簡單特徵,高層學習的是一些語義特徵,更復雜,但是與物體的相似度更高
在這裏插入圖片描述

a和b表示Layer1的結果,c和d表示Layer2的結果,其中a和c表示網絡的默認結果,b和d表示修改後的結果(將b中的卷積核從11x11變到7x7,stride從4變到2)
當stride變大時,會出現混淆現象
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述
改變網絡結構後的誤差
在這裏插入圖片描述
預訓練模型的重要性
在這裏插入圖片描述
從圖中第三行46.5%的正確率說明使用一個小的訓練集訓練大的卷積網絡幾乎不可能有很好地效果

注意:
預訓練模型不一定能顯著提升效果,當兩個數據集或者兩個網絡的任務相似時,使用預訓練模型也許能提升效果

在這裏插入圖片描述
從上表中可以發現,使用基於ImageNet上預訓練的網絡,在Pascal2012數據集並不能得到很好的效果,這可能是因爲兩個數據集的分佈不太一樣。更換損失函數也許能解決這種精度問題
在這裏插入圖片描述

7. 改進&存在的問題

  1. 只能對單個通道進行可視化,不能可視化一個層

8. 可借鑑的點

9. 知識補充

9.1 RMS(root mean square)值

RMS=1n(x12+x22++xn2RMS = \sqrt{\frac{1}{n} (x^2_1 + x^2_2 + \cdots + x^2_n}

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