1,由於更新權重導致輸入取值範圍的變化導致收斂慢。
2,由於輸入數量的增多,一般都是累加x*w。而若假設他們都是正太0,1分布,那麼加的越多會導致方差越大,因此使用sigmoid會導致飽和,而使用relu 等線性的會導致數有可能很大,幾百上千的值。
將每個核的輸出給乙個歸一化,讓其都保持期望是0,方差為1。
歸一化的話無非就是求均值方差,而根據求得方法分為很多種,因此出現各種normalization 方法。
batch 方法就是在batch範圍內對每個單個得輸出求均值。
layer 方法是在每個layer求均值。
而最新的cross iteration batch normalization,由於batch normalization是batch 求均值,因此batch小了的話反而造成不好的效果,因此嘗試累計這個均值和方差。
但是不同次batch 訓練時引數都變了,因此直接利用前幾次batch 的均值和方差有偏差,因此需要做乙個簡單的線性擬合。
具體計算見原**,或
Batch Normalization的理解體會
網路上對於batch normalization的講解也非常多了,本文主要想記錄下對此的心得體會,並總結下我所理解的bn的優勢。在此先mark一下我認為寫得比較全面的資料 bn的原理 文章1 深度學習 深入理解batch normalization批標準化 bn的 batch normalizati...
BatchNormalization的相關注意點
今天重新學習了batchnormalization,發現遺漏的小知識還是不少的,今天的學習主要是參考了這位大佬的一篇文章 keras batchnormalization的坑 training引數和 momentum引數 根據了解,總結如下 batch,即每個epoch訓練的樣本數,最好不要小於10...
batch normalization為什麼效果好
batch normalization為什麼效果好 深度學習中 batch normalization為什麼效果好?龍鵬 言有三的回答 知乎 深度學習中 batch normalization為什麼效果好?魏秀參的回答 知乎 為什麼batch normalization那麼有用?autocyz的文章...