1 11 神經網路的權重初始化

2022-05-28 07:21:10 字數 770 閱讀 1986

理想的權重矩陣既不會增長過快,也不會太快下降到 0,從而訓練出乙個權重或梯度不會增長或消失過快的深度網路。

有乙個神經元的情況 :

暫時忽略b:

$z = + + ... + $為了預防 z值過大或過小,你可以看到

n越大,你希望$$越小,因為 z是$$的和如果你把很多此類項相加,希望每項值更小,最合理的方法就是設定

$ = \frac$,n表示神經元的輸入特徵數量,實際上,你要做的就是設定某層權重矩陣:

$}$就是我餵給第l層神經單元的數量(即第l-1層神經元數量)。

如果啟用函式的輸入特徵被零均值和標準方差化,方差是 1, z也會調整到相似範圍,這就沒解決問題(梯度消失和**問題)。

因為它給權重矩陣 w設定了合理值,你也知道,它不能比 1 大很多,也不能比 1 小很多,所以梯度沒有**或消失過快。

如果你想用 relu 啟用函式,使用如下公式:

如果使用 tanh 函式 ,使用如下公式:

所有這些公式只是給你乙個起點,它們給出初始化權重矩陣的方差的預設值,如果你想新增方差,方差引數則是另乙個你需要調整的超級引數

,例如給公式

增加乙個乘性係數,進行調優。

有時調優該超級引數效果一般,這並不是我想調優的首要超級引數,但我發現調優過程中產生的問題,雖然調優該引數能起到一定作用,但考慮到相比調優,其它超級引數的重要性,我通常把它的優先順序放得比較低。 

解析深度學習神經網路權重初始化

以全連線模型為例 輸入資料為a 784 的陣列,模型共2層神經元,第一層100個,第二層即輸出層為10個神經元,則第一層的權重有 784,100 個,截距有 100 個,第二層有 100,10 個權重,截距 10 個,用w1表示第一層權重矩陣,b1表示截距行向量,w2表示第二層權重矩陣,b2表示截距...

神經網路的引數初始化

1.對於神經網路fminunc函式,我們需要初始化神經網路的initialtheta的引數。對於邏輯回歸來說,我們可以全部初始化為0,但是對於神經網路來說將initialtheta全部初始化為0是不可以的。2.為什麼全部初始化成0是不可以的呢?如果所有引數初始化成0,那麼隱藏層的每個節點的輸出都是相...

讀書筆記 初始化神經網路

本文是根據 neuralnetworksanddeeplearning 這本書的第三章improving the way neural networks learn整理而成的讀書筆記,根據個人口味做了刪減 上一章,我們介紹了神經網路容易出現的過擬合問題,並學習了最常用的正則化方法,以及其他一些技巧,...