- 問題: 即使使用He initialization和ELU, 也不能保證在訓(xùn)練過程中, 出現(xiàn)梯度消失/爆炸
- 原因: 在訓(xùn)練過程中, 隨著上層的參數(shù)發(fā)生改變, 每層輸入的分布也會隨之改變 (內(nèi)部協(xié)變量偏移問題)
- 解決方法: 在訓(xùn)練過程中, 對每層輸入激活函數(shù)前加入一個運算, 用來對輸入進行標準化(均值(shifting), 方差(scaling))
- 因此, 每層會多兩個參數(shù), 這兩個參數(shù)通過訓(xùn)練時的小批量樣本進行計算
- 預(yù)測: 在測試過程中, 使用全部的訓(xùn)練樣本計算出經(jīng)驗均值和方差, 然后對測試數(shù)據(jù)歸一化
- 因此, BN層一共有四個參數(shù), 訓(xùn)練過程的(scale, offset), 測試過程的(mean, std)
- 非常有效的解決梯度消失問題, 對初始化方法不敏感, 明顯的提高訓(xùn)練時間
- BN也有正則化效果, 使得不用依賴其他的正則化方法(Dropout)
- 不足: 訓(xùn)練和測試時的計算量增大, 因此對于預(yù)測時間有要求的時候需要考慮
- 訓(xùn)練時要計算小批量訓(xùn)練樣本的offset和scale
- 測試時要計算經(jīng)驗均值和方差, 并對測試數(shù)據(jù)標準化
- 其他
- 簡單點說: BN就是對每層的輸入進行中心化和標準化
- BN會加大訓(xùn)練時的計算量, 但是收斂過程會更快(迭代的次數(shù)更少)
- BN相當于在兩層網(wǎng)絡(luò)的中間加入一個標準化處理層, 用來解決輸入與輸出方差的差異
- ReLU和None activity function不需要scale(下層權(quán)重會受影響)
BN 小結(jié)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 文章作者:Tyan博客:noahsnail.com | CSDN | 簡書 聲明:作者翻譯論文僅為學(xué)習,如有侵權(quán)請...
- 文章作者:Tyan博客:noahsnail.com[http://noahsnail.com] | CSDN[...
- cite from: http://blog.csdn.net/myarrow/article/details/5...
- Batch Normalization作為最近一年來DL的重要成果,已經(jīng)廣泛被證明其有效性和重要性。目前幾乎已經(jīng)成...
- 世界頂級創(chuàng)新設(shè)計事務(wù)所IDEO的聯(lián)合創(chuàng)始人Tom Kelley,最近帶著新書《Creative Confidenc...