日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

feature map 意义_FeatureMap Viewer以及中心化对统计分布变化的影响讨论

發布時間:2025/3/21 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 feature map 意义_FeatureMap Viewer以及中心化对统计分布变化的影响讨论 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Introduction

準備做一個feature map瀏覽器,可以做些intuitive的觀察。code在這里(tool目錄下放的支持變形輸入的module.py模塊)。

可以支持對feature map和softmax output的瀏覽,其中feature map用了簡單的平均化方法(可視化之前進行了歸一化),這一方法似乎簡潔有效,之前有fine grained的任務是照此進行的。

Similar Map

測試的時候,有一項是對feature map進行操作,用的是vgg16。偶然間發現沒有經過mean處理的輸入產生的feature map和經過的看起來沒有什么區別,而probability有明顯的變化。

Figure 1. 經過中心化的featuremap

Figure 2. 原圖數據輸入獲得的featuremap

關于`softmax output`的概率輸出就不貼出來了,沒什么說的。

但兩個`feature map`就有些意思了。

## Exploration

從輸入的數據上來看,兩者有$50\%$的統計差距,在經過多次非線性映射后,表現出極為相似的map。一個容易想到的解釋是,兩者間有一個系數的差別,路上和大師兄說起,他第一感覺也是這樣。

下面兩個圖是兩個feature map 的`histogram`,這里注明一下,由于被抑制的元素很多(是非常多),所以統計范圍區間設置為$[0.01,100]$。

Figure 3. Histogram-經過中心化的featuremap

Figure 4. Histogram-原始圖數據的featuremap

上面第一張是經過中心化的,第二張沒有。如果說是有一個系數的差異,似乎更容易接受兩個分布是相同的!

如果說還需要確認其中有值得從理論上考察的理由,再來看看`第一個`*Activation*后Map的分布:

Figure 5. with *mean*

Figure 6. no *mean*

以上兩圖的也是按照`with mean`,`no mean`排列。大致上兩個也可以認為是相同分布。

### Link

如果再腦補一下的話,還可以想象這些分布是一種正態分布,因為`ReLU`的存在被truncate了,只剩下正半部分,還可以繼續腦補,如果權重也是一個正態分布(之前有過觀察,發現確實是正太),另外從初始化方式上,也可以認為其符合。

之前Kaiming He有過一個關于初始化方法的[方差理論](https://arxiv.org/abs/1502.01852),暗示在這個問題上還是可以過一把推導癮的。

# Formulation

令$x\sim\mathcal{N}(\mu,\sigma^2)$是未經中心化的輸入變量,$z\sim\mathcal{N}(0,\delta^2)$是中心化后的變量,$w$是一個零均值正態分布,獨立是必須假設的:) 。需要注意的是,這些假定與實際是相當接近的。

經過一個卷積后,輸出$y$的計算式:

$$

\begin{equation}

y_i = \sum_jw_{ij}x_{j}\label{eq:output_y}

\end{equation}

$$

下面考察均值和方差兩部分的差異。

## 均值

在上述假定的情況下,均值式計算如下:

$$

\begin{eqnarray}

E[y_i] & = & E\left[ \sum_j w_{ij}x_{j} \right]\nonumber\\

& = & \sum_j E\left[ w_{ij}x_{j} \right]\nonumber\\

& = & \sum_j E[w_{ij}]E[x_j] \label{eq:mean}

& = & 0

\end{eqnarray}

$$

方差

如果方差計算出來也是相同的,那么理論與觀察又產生了一種成就感。

\[\begin{eqnarray}

E\left[ \left( \sum_jw_{ij}x_j \right)^2 \right] & = & E\left[ \sum_j\left(w_{ij}x_j \right)^2 + \sum_j\sum_kw_{ij}w_{ik}x_kx_j \right]\label{eq:var1}

\end{eqnarray}

\]

\ref{eq:var1}中第二項根據相關假定,歸結為\(0\),第一項,由獨立假定處理。簡化為:

\[\begin{eqnarray}

E\left[ \left( \sum_jw_{ij}x_j \right)^2 \right] & = & E\left[ \sum_j\left(w_{ij}x_j \right)^2 + \sum_j\sum_kw_{ij}w_{ik}x_kx_j \right]\nonumber\\

& = & \sum_jE[w_{ij}^2]E[x_j^2]

\end{eqnarray}

\]

這說明方差與\(x\)的均值是有關的。

考慮均值還是比較大的(\(150~vs.~[0,255]\)),所以,在兩種情況下,情況應該是不同的,而且應該是有比較明顯的不同。

Bias

這里考慮一下bias存在的情況,此種情況對應\ref{eq:var1}中右式加上標量\(b\),容易得出,bias對方差的計算沒有影響。

關于方差的進一步考察

上面關于方差的計算在我的直覺上,感覺是一致的,但卻與觀察上有沖突;我把推導的結論和大師兄討論了下,他表述了不一樣的直覺。我打算先把第一個conv的輸入/輸出做些對比。

Figure 7. distribution of the conv1_1's output with subtracting *mean*

下圖是沒有經過減均值處理的輸出分布:

Figure 8. distribution of the conv1_1's output **without** subtracting *mean*

從圖中并沒有獲得令人耳目一新的事物,但比較`title`中`variance`的值,卻會有新的發現。

很自然的,這給了我去驗證之前推導的公式的激勵。我們再來看看第一層的`weight`和`原始`圖像的分布:

Figure 9. distribution of the conv1_1's weight**

下面這張是原始圖像的分布(實際上這里只需要關注方差的變化了,所以是否經過減均值處理并不影響后面想要得出的結論)

Figure 10. distribution of the raw input image

Mathematical Formulation

數據已經足夠,在開始進行數值驗證前,再做一些假設以及驗證方法的說明。

Note1

\ref{eq:mean}是對某一分量進行的求解,在此處,假定所有\(y_i\)都是獨立同分布的,這樣就變成對單個隨機變量的求解,記這個隨機變量為\(y\);同理,設置隨機變量\(w,x\),并且用一個常量\(c\)替換求和操作,于是改寫\ref{eq:mean}:

\[\begin{equation}

E[y^2]=cE[w^2]E[x^2]\label{eq:re-formulation-var-x}

\end{equation}

\]

Note2

再用\(\hat{y}\)表示經過中心化后的變量\(z\)經過卷基層后的輸出隨機變量:

\[\begin{equation}

E[\hat{y}^2] = cE[w^2]E[z^2]\label{eq:re-formulation-var-z}

\end{equation}

\]

Note3

于是驗證的方法是比較通過\ref{eq:re-formulation-var-x}和\ref{eq:re-formulation-var-z}計算出來的\(c\)是否一致。

\ref{eq:re-formulation-var-x}:

\[\begin{eqnarray}

E[y^2] & = & cE[w^2]E[x^2]\nonumber\\

10735 & = & 0.04\times 20208c\nonumber\\

\Rightarrow c & = & 13

\end{eqnarray}

\]

\ref{eq:re-formulation-var-z}:

\[\begin{eqnarray}

E[\hat{y}^2] & = & cE[w^2]E[z^2]\nonumber\\

2590 & = & 0.04\times 4583c\nonumber\\

\Rightarrow c &= & 14

\end{eqnarray}

\]

另外,看看\(c\)的意義,按照\ref{eq:mean},c應該是元素個數,第一層conv核尺寸為3x3,通道數為3,考慮到稀疏分布,一半應該算正常。

Conclusion

在這次討論中,直觀上看起來改變不大的分布,其方差卻有了巨大改變,這是產生一種沖突的緣由;

正態分布的假設在實際數值計算中仍然有相當的效用;

過程中還發現,對變量的認定將影響數值方法的驗證感受,比如對由兩個滿足正態分布的隨機序列逐點相乘得到的序列的和與均值,會發現兩者給人的感受有很大差異。

Postscript

這個問題持續了一段時間,我最開始只是想對featureMap Viewer的code做些小結,順便貼些圖片,后面偶然發現兩種特征圖有極為相似的視覺感受,開始討論了下相關的數學原理,本來以為結束了,回去卻突然發現得出結論的邏輯剛好弄反了(第二天趕忙過來撤下),于是陷入某種僵局,最后發現Conclusion第三條中的觀點,后面從直接的輸入輸出進行了驗證。

這是一個與直覺有沖突的現象。看起來迷亂的猜測最后被計算貫徹。但也可以注意到softmax的輸出并不是正態分布的(這很容易想象到,其分布應該相近與一個dirac函數)。

另外,像前面提到的Kaiming He的工作,提供了一些最初的想法。

References

He, Kaiming, et al. "Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification." international conference on computer vision (2015): 1026-1034.

總結

以上是生活随笔為你收集整理的feature map 意义_FeatureMap Viewer以及中心化对统计分布变化的影响讨论的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。