deeplearning.ai 改善深度神經網絡(正則化、優化、mini-batch等)附代碼作業答案

一、初始化

1.爲什麼神經網絡的所有參數不能全部初始化爲0>?

若w初始化爲0 ,很可能導致模型失效,無法收斂。也就是說如果我們初始將所有的w初始化爲0,那麼進行前向傳播時每一層得到的值都是一樣,這樣一來當我們使用反向傳播時,傳回的梯度也是一樣的,這就導致了我們更新參數後w還是一樣的,這就使得我們的NN不能各自學習到很好的特徵了。可以看這裏

2.Xavier Initialization

Xavier Initialization 初始化的基本思想就是保持輸入和輸出的方差一致,這樣就避免了所有的輸出值趨向於0.
首先對於前向傳播,我們需要確保所有層的激活值方差近似相等,因此每個訓練樣本傳播經過網絡的信息才能保持平滑的屬性。同樣對於反向傳播,每層梯度保持近似的方差將允許信息平滑地反向流動以更新權重。近似方差的梯度同樣確保誤差數據能夠反饋到所有層級,因此它是整個訓練中的關鍵。
這位大佬寫的很不錯

將W的方差變爲 1layersdims[l−1]

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