深度學習輸入圖像爲何要減去均值

兩種計算均值的方式

對於每幀圖像來說,均值分爲兩種:image mean 和 pixel mean。

image mean:
假設一張彩色圖像形狀是(N*N*3),計算其image mean,形狀也是(N*N*3)。相當於把所有訓練集在同一個空間位置上的像素的對應通道求了均值,也就是caffe裏生成的mean.binaryproto文件。

pixel mean:
pixel mean是把訓練集裏面所有圖片的所有R通道像素求均值(G、B通道類似),也就是不考慮空間位置了。所以求出來就是三個數值(R_mean,G_mean,B_mean)。

去均值的作用

1、從主成分分析(PCA)入手解釋

特徵標準化指的是使得數據的每一個維度具有零均值和單位方差。這是歸一化中最常見的方法並被廣泛地使用(例如,在使用支持向量機(SVM)時,特徵標準化常被建議用作預處理的一部分)。在實際應用中,特徵標準化的具體做法是:首先計算每一個維度上數據的均值(使用全體數據計算),之後在每一個維度上都減去該均值。下一步便是在數據的每一維度上除以該維度上數據的標準差。

對於自然圖像,更多的是做圖像零均值化,並不需要估計樣本的方差。這是因爲在自然圖像上進行訓練時,對每一個像素單獨估計均值和方差意義不大,因爲圖像任一部分的統計性質都應該和其它部分相同,圖像的這種特性被稱作平穩性(stationarity)。

對於圖像,這種歸一化可以移除圖像的平均亮度值 (intensity)。很多情況下我們對圖像的照度並不感興趣,而更多地關注其內容,比如在對象識別任務中,圖像的整體明亮程度並不會影響圖像中存在的是什麼物體。此時,在每個樣本上減去數據的統計平均值可以移除共同的部分,凸顯個體差異。其效果如下所示:

可以看到天空的紋理被移除了,凸顯了汽車和高樓等主要特徵。

2、從深度學習反向傳播計算入手解釋

                                                                    f\left ( \sum_{i}w_{i}x_{i}+b\right )

1、根據求導的鏈式法則,w的局部梯度是X,當X全爲正時,由反向傳播傳下來的梯度乘以X後不會改變方向,要麼爲正數要麼爲負數,也就是說w權重的更新在一次更新迭代計算中要麼同時減小,要麼同時增大。爲了更好得理解,假設w有兩維,做出下圖:

其中,w的更新方向向量只能在第一和第三象限。假設最佳的w向量如藍色線所示,由於輸入全爲正,現在迭代更新只能沿着紅色路徑做zig-zag運動,更新的效率很慢。基於此,當輸入數據減去均值後,就會有負有正,會消除這種影響。

2、如果輸入層 x 很大,在反向傳播時候傳遞到輸入層的梯度就會變得很大。梯度大,學習率就得非常小,否則會越過最優。在這種情況下,學習率的選擇需要參考輸入層數值大小,而直接將數據歸一化操作,能很方便的選擇學習率。而且受 x 和 w 的影響,各個梯度的數量級不相同,因此,它們需要的學習率數量級也就不相同。對 w1 適合的學習率,可能相對於 w2 來說會太小,如果仍使用適合 w1 的學習率,會導致在 w2 方向上走的非常慢,會消耗非常多的時間,而使用適合 w2 的學習率,對 w1 來說又太大,搜索不到適合 w1 的解
 

https://blog.csdn.net/zhou4411781/article/details/101205535

https://blog.csdn.net/hai008007/article/details/79718251

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