BN實驗總結

利用每個channel下的max 和min計算均值方差

方差 方差係數 均值 resnet-20/cifar-10的錯誤率
(maxmin)2(max-min)^2 (maxmin)/2(max-min)/2 0.28
(maxmin)2(max-min)^2 12ln(n)\frac {1} {\sqrt{2*ln(n)}}n是該channel下參數個數 (maxmin)/2(max-min)/2 0.24
(maxmin)2(max-min)^2 12ln(n)\frac {1} {\sqrt{2*ln(n)}} origin_mean 0.18
maxminmax-min (maxmin)/2(max-min)/2 0.31
maxminmax -min abs(1+λ)λabs(1+\lambda) ,\lambda是可學習參量 (maxmin)/2(max-min)/2 0.25
maxminmax -min abs(1+λ)abs(1+\lambda) origin_mean 0.19
origin_var origin_mean 0.18

將resnet20中間的一個卷積層的輸出記錄下來,該卷積層的輸出有32個channel。計算輸出的方差real_var和均值real_mean,同時按照上面的估算公式,分別估計方差estimateVar,均值estimateMean。

利用weight的統計值來估計均值和方差

z=xw=X1W1+X2W2+....XCinWCin=CinXWz = x * w = X_1W_1+X_2W_2+....X_{C_{in}}W_{C_{in}}=C_{in}XW
E(z)=Cin12πμwE(z) = C_{in} * \sqrt{\frac{1}{2\pi}}*\mu_w
E(z2)=Cin212σw2E(z^2)=C_{in}^2*\frac{1}{2}*\sigma^2_{w}
將resnet20中間的一個卷積層的輸出記錄下來,該卷積層的輸出有32個channel。計算輸出的方差real_var和均值real_mean,同時按照上面的估算公式,分別估計方差estimateVar,均值estimateMean。
下圖是varDiff=estimateVar/realVarvarDiff=estimateVar/realVar
在這裏插入圖片描述
下圖是meanDiff=estimateMean/realMeanmeanDiff=estimateMean/realMean
在這裏插入圖片描述
由上面兩圖可以看出,對方差的估計是非常靠近真實的方差取值的。而均值的估計則比較差。

均值方差在整個訓練過程中的變化

仍然取該層的輸出,畫出mean和var在整個訓練過程中的變化趨勢
在這裏插入圖片描述
從上面可以看出,隨着訓練過程的推進,各個channel的均值向着0靠近。
在這裏插入圖片描述
從上面的圖看出,隨着訓練過程的推進,各個channel的方差逐漸降低。

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