1. 程式人生 > >cs231n---卷積網絡可視化

cs231n---卷積網絡可視化

包含著 感受 向量 相同 可視化 pos 發現 方法 縮放

本課介紹了近年來人們對理解卷積網絡這個“黑盒子”所做的一些可視化工作,以及deepdream和風格遷移。

1 卷積網絡可視化

(1)可視化第一層的濾波器

我們把卷積網絡的第一層濾波器權重進行可視化(權重值縮放到0~255之間)可以發現:

技術分享圖片

第一層的濾波器可以看做模版匹配,那麽它尋找的模式就是一些邊和線。也就是說,當濾波器滑動到邊和線的時候,會有較大的激活值。這跟人腦的功能幾乎是一致的。

然而,我們只能可視化第一層濾波器得到如此有意義的結論,可視化後面的濾波器,我們將無法看到什麽有用的東西。

(2)研究最後一層

這裏的最後一層指的是在輸入到最後的得分之前的那一層。

最近鄰

技術分享圖片

左圖是我們在像素空間上求最近鄰的結果,右圖是我們在最後一層產生的特征向量空間上求最近鄰的結果。可以看到右邊的有些結果,雖然在像素上大有不同,但是卻有相同的語義含義。說明卷積網絡處理後的特征向量確實包含著語義信息。

t-SNE降維後可視化

還有一種方法是對最後一層產生的特征向量做t-SNE降維(一種非線性降維方法),降到兩維。然後在二維坐標系中將這些圖片的位置標識出來。具體結果可以看這裏:

http://cs.stanford.edu/people/karpathy/cnnembed/

(3)可視化激活層

有一些研究可視化了中間的激活層(featureMap):

技術分享圖片

大部分的激活好像都不能看到什麽東西,有一個激活很明顯的與人臉對應。

(4)產生最大激活值的圖片碎片

我們從每層當中選擇一個深度切片,然後在CNN上前向傳播大量的圖片,觀察這些深度切片上的神經元的激活值。對每一張圖片來說,選取深度切面上激活值最大的那個神經元,並截取這個神經元所能看到的圖片區域。然後按照激活值的大小對這些圖片區域進行排序。

技術分享圖片

上圖中,每一行表示每一個深度切面的排序結果,可以看到一個深度切面確實是在尋找一種相同的模式。並且,高層所尋找的是一種更大的圖片結構,這是因為高層的神經元具有更大的感受野。

cs231n---卷積網絡可視化