談談神經網絡權重為什么不能初始化為0


 

當我們在訓練一個神經網絡的時候,參數的隨機初始化是非常重要的,對於邏輯回歸來說,把參數初始化為0是很ok的。但是對於一個神經網絡,如果我們將權重或者是所有參數初始化為0,梯度下降算法將不會起到任何作用。

 

1.為什么邏輯回歸參數初始化為0是ok的?

下圖所示,是logistic回歸的圖解:

 

 

假設我們用梯度下降法來更新我們的模型參數。

logistic回歸模型的前向傳播:

 

 

logistic回歸模型的反向傳播:

 

 

參數更新公式:

 

 

 

 

2.為什么神經網絡的權重或所有參數初始化為0,梯度下降不再work?

為了說明這個問題,我們以一個簡單的神經網絡為例,該神經網絡只有1層隱藏層,包含2個神經元,其具體的神經網絡的結構圖如下圖所示:

神經網絡的前向傳播

 

 

其中,

 

 

神經網絡的反向傳播所能用到的導數公式:

 

 

 

 

 

 

根據上述的詳細公式,我們分析一下3種情況:

 

l  模型所有權重w初始化為0,所有偏置b初始化為0

l  模型所有權重w初始化為0,所有偏置b隨機初始化

l  模型所有的權重w隨機初始化,所有偏置b初始化為0

 

2.1 模型所有權重w初始化為0,所有偏置b初始化為0

 

 

 

 

2.2 模型所有權重w初始化為0,所有偏置b隨機初始化

 

 

2.3 模型所有的權重w隨機初始化,所有偏置b初始化為0

 

 

 

結論:在訓練神經網絡的時候,權重初始化要謹慎,不能初始化為0

 

 

轉載自:https://zhuanlan.zhihu.com/p/75879624

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM