神经网络中使用Batch Normalization 解决梯度问题
生活随笔
收集整理的這篇文章主要介紹了
神经网络中使用Batch Normalization 解决梯度问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
BN本質(zhì)上解決的是反向傳播過程中的梯度問題。
詳細點說,反向傳播時經(jīng)過該層的梯度是要乘以該層的參數(shù)的,即前向有:
那么反向傳播時便有:
那么考慮從l層傳到k層的情況,有:
上面這個 便是問題所在。因為網(wǎng)絡層很深,如果 大多小于1,那么傳到這里的時候梯度會變得很小比如 ;而如果 又大多大于1,那么傳到這里的時候又會有梯度爆炸問題 比如 。BN所做的就是解決這個梯度傳播的問題,因為BN作用抹去了w的scale影響。
具體有:
() = ()
那么反向求導時便有了:
可以看到此時反向傳播乘以的數(shù)不再和 的尺度相關,也就是說盡管我們在更新過程中改變了 的值,但是反向傳播的梯度卻不受影響。更進一步:
即尺度較大的 將獲得一個較小的梯度,在同等的學習速率下其獲得的更新更少,這樣使得整體 的更新更加穩(wěn)健起來。
總結(jié)起來就是BN解決了反向傳播過程中的梯度問題(梯度消失和爆炸),同時使得不同scale的 整體更新步調(diào)更一致。
?
轉(zhuǎn)載于:https://www.cnblogs.com/mengxiangtiankongfenwailan/p/9895117.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的神经网络中使用Batch Normalization 解决梯度问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工业机器人智能发展:视觉和触觉感应简化
- 下一篇: 东芝打印机共享怎么设置_东芝2303am