影象卷積操作的應用沒有嚴格的數學推導,即沒有數學推導表明每一層究竟表示什麼。
為了了解卷積神經網路中每一層與原有影象的對應關係,
文章visualizing and understanding convolutional networks通過反向卷積的方式實現了該過程。
那具體如何操作的呢?得到的h1與真實的上一層有什麼關係呢?
從這個部落格中我們可以看到,反向傳播過程中,計算delta值採用的也是卷積過程,
只不過在h1層的上周圍進行了填充而已,另外,這裡用到的卷積核與正向傳播時相比,
進行了180度的旋轉。
這篇visualizing and understanding convolutional networks文章中filtering中採用的
反卷積採用的就是反向傳播過程中計算delta值得方法。
至於為什麼採用得到的delta值作為影象的視覺化展示,從這個知乎問答中似乎能明白答案:
:因為這樣的反卷積過程類似於求feature對原影象的梯度,也就說凸顯出哪些畫素對某feature的
影響大,影響大畫素組成的圖案就是這個feature的視覺化顯示。
卷積視覺化瞎掰
首先讀取一張1271273的rgb影象,然後把讀到的影象轉換成tensor 13127127 執行11卷積 把卷積後得到的tensor轉換成numpy 再把numpy轉換成能生成的那種格式 1 127 127大小 卷積之前 crop z tensor.size conv2 torch.nn.conv...
卷積層特徵視覺化
import torch import numpy as np from torchvision import datasets import torchvision.transforms as transforms set the parameters num workers 0batch siz...
pytorch 反卷積 視覺化 手推反卷積
在推導反卷積之前,先推導一下卷積。假設輸入為 將輸入矩陣轉成乙個 則 所以 用pytorch驗證一下結果 import torch import torch.nn.functional as f x torch.tensor 0,1,2,3 4,5,6,7 8,9,10,11 12,13,14,15...