Understanding Deep Image Representations by Inverting Them

核心公式:

This paper proposed an optimisation method to invert
shallow and deep representations based on optimizing an
objective function with gradient descent. 

核心:文章提出的是用基於梯度的方法優化一個目標函數來實現淺層和深層表達的反轉。

公式含義解釋:





代碼理解:invert.nn是核心代碼

1、每一次實驗參數放入exp{}中,不同實驗TVnorm、顯示哪層的特徵圖等參數不相同;

2、net選用caffe-Alex的21層網絡,實驗參數exp中layer值,決定了選取net從第一層到選取層的訓練好的網絡weight;

3、compute_feature,計算得到輸入原始圖像im經過訓練好的weigh一層層計算後,得到最後某層的特徵圖;

4、vl_simplenn(net,x)計算得到輸入隨機圖像x,經過訓練好的weigh一層層計算後,得到的每一層的特徵圖,當然實際使用時選擇了最後一層的特徵圖,需注意,此時net中除了選取的alex_Model的部分層外,另加了custom_layer,用於計算目標函數第一項。該層包含了 nndistance_forward和nndistance_backward,計算的是原始圖像im和隨機圖像x經過n層後得到的特徵圖的平方差及對應到輸入x的每個像素的梯度。

5、目標函數的三項分別計算放入了E各行中,E的最後行爲三項和;

6、中間值dr(目標函數梯度)由後兩項構成,而隨機初始x的更新式爲:

x_momentum = opts.momentum * x_momentum- lr * dr - (lr * x0_sigma^2/y0_sigma^2) * res(1).dzdx;

x = x + x_momentum ;則x的更新實則爲三項,res(1).dzdx是目標函數第一項帶來的梯度值。

代碼圖像生成:


左上圖:隨機輸入x經過目標函數梯度方法迭代後,得到的重構圖,隨着迭代次數變化;

右上圖:藍色爲im輸入得到的特徵圖的值(拉成了向量),紅色爲隨機和im輸入分別得到的特徵圖的差值;

右中:隨機輸入x的直方圖,(x隨着迭代而改變);

左下:黑標題爲實驗該種參數的取值,obj爲優化的l2型loss,畫的是plot(E),即目標函數三個項分別的值,以及總和值(最後一個線條爲total);

右下:對E去semilogy(E)得到的值,畫出的圖像。

文章思想:

通過目標函數梯度迭代,更新隨機輸入x,使輸入x與原圖像im相差最小。這過程中,模型net的weight是不變的,in other words,通過與hog、dsift的淺層表達對比,可以得出cnn模型學習到feature更好。(由某層feature map的差,invert 得到原表達的)


ans

TVnorm帶來的inverse 特徵的變化,減少了spikes.


TVnorm不同係數帶來的變化。


大的TVnorm帶來CNN最後一層iversions的變化。

不同的淺層表達特徵採取同樣的invert方法的圖像。 


圖6.不同層inversion的顯示,TVnorm係數爲table3中表現最好的。


相同層不同feature map的inversons(應該是這個意思吧)。看relu7和fc8不同feature map得到目標不同位置和scale的多種copies.


CNN的接收域,從每層的feature中選取小patch進行invert,得到的圖。接收域比理論區域明顯要小。


CNN網絡不同的stream下的圖,grp1,grp2,網絡不同通道子集下的iversion(Reconstructs images from a subset of feature channels. CNN-A contains in fact two subsets of feature channels which are independent for the first several layers (up to norm2)----A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. InNIPS, 2012.)在norm2之前,一直有着不同通道的特徵子集。(還沒細看)


CNN模型的多樣性,都是mpool5中feature的重構,表明CNN在很深的網絡後仍保持了豐富的信息。



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