神經網路為什麼要進行batch norm?

2021-08-28 17:03:46 字數 370 閱讀 6023

通常我們在使用資料之前,會對輸入資料做了標準化處理:處理後的任意乙個特徵在資料集中所有樣本上的均值為 0、標準差為 1。標準化處理輸入資料使各個特徵的分布相近:這往往更容易訓練出有效的模型。(why???我也不知道)

通常來說,資料標準化預處理對於淺層模型就足夠有效了。隨著模型訓練的進行,當每層中引數更新時,靠近輸出層的輸出較難出現劇烈變化。但對於深層神經網路來說,即使輸入資料已做標準化,訓練中模型引數的更新依然很容易造成靠近輸出層輸出的劇烈變化。這種計算數值的不穩定性通常令我們難以訓練出有效的深度模型。

為解決這一問題,提出了批量歸一化,即batch norm,在模型訓練時,批量歸一化利用小批量上的均值和標準差,不斷調整神經網路中間輸出,從而使得整個神經網路在各層的中間輸出的數值更穩定。

神經網路基礎 為什麼要深層的網路

有人做了這樣乙個對比 在相同參數量的情況下,神經網路層數對最後模型結果的影響。最後得出的結論為是 神經網路 tall thin 的模型效果要好於fat short 的效果。為什麼會出現這樣的情況呢?其實神經網路在設計過程中,其實是乙個模組化的過程。設想這樣乙個場景 現在需要做影象分類,標籤為4類 長...

神經網路為什麼要歸一化

神經網路為什麼要歸一化 1.數值問題。無容置疑,歸一化的確可以避免一些不必要的數值問題。輸入變數的數量級未致於會引起數值問題吧,但其實要引起也並不是那麼困難。因為tansig的非線性區間大約在 1.7,1.7 意味著要使神經元有效,tansig w1 x1 w2 x2 b 裡的 w1 x1 w2 x...

神經網路為什麼要歸一化

這裡是分割線 1.數值問題。無容置疑,歸一化的確可以避免一些不必要的數值問題。輸入變數的數量級未致於會引起數值問題吧,但其實要引起也並不是那麼困難。因為tansig的非線性區間大約在 1.7,1.7 意味著要使神經元有效,tansig w1 x1 w2 x2 b 裡的 w1 x1 w2 x2 b 數...