網路引數初始化

2021-10-12 16:33:26 字數 883 閱讀 4499

神經網路一般依靠隨機梯度下降法進行模型訓練和引數更新,網路的最終效能與收斂得到的最優解直接相關,而收斂效果實際上又很大程度取決於網路引數最開始的初始化。理想的網路引數初始化使模型訓練事半功倍,相反,糟糕的初始化方案不僅會影響網路收斂甚至會導致「梯度瀰散」或「**」致使訓練失敗。因此我們應選擇合適的初始化方法。本文就具體來介紹常用的幾種網路引數初始化方式。

通過合理的資料預處理和規範化,當網路收斂到穩定狀態時,引數(權值)在理想情況下應基本保持正負各半的狀態(此時期望為0)、因此,一種簡單且聽起來合理的引數初始化做法是,乾脆將所有引數都初始化為0,因為這樣可使得初始化全零時引數的期望與網路穩定時引數的期望一致為零。

這種方法有種弊端,就是對引數進行了全零初始化後,那麼網路神經元將毫無能力對此做出改變,從而無法進行模型訓練。

實際初始化時,我們希望所有引數期望值依舊接近0。隨機引數服從高斯分布或均勻分布都是較有效的初始化方式。

推薦使用的初始化方法:除了直接隨機初始化網路引數,一種簡便易行且十分有效的方式則是利用預訓練模型——將預訓練模型的引數作為新任務上模型的引數初始化。由於預訓練模型已經在原先任務上收斂到較理想的區域性最優解,加上很容易獲得這些預訓練模型,用此最優解作為新任務的引數初始化無疑是乙個優質首選。

1.網路引數初始化的優劣極大程度上決定了網路的最終效能;

2.同時也比較推薦的網路初始化方式為he方法,將引數初始化為服從高斯分布或均勻分布的較小隨機數,同時對引數方法需施加規範化;

3.借助預訓練模型中引數作為新任務引數初始化的方式是一種簡便易行且十分有效的模型引數初始化方法。

:文章選自《解析深度學習—卷積神經網路原理與視覺實踐》魏秀參著

mockito初始化引數 初始化Mockito模擬

mockito初始化引數 與未開發的專案相比,維護專案並不有趣,但可以肯定的是,此專案提供了大部分內容。這個星期我沒有檢查生產 而是檢查了測試。在測試中看到的內容揭示了生產 本身是如何編寫的。這是一種以更少的風險使事情變得更好的方法。起初,我只想刪除盡可能多的powermock使用。然後我發現大多數...

神經網路的引數初始化

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

引數初始化表

成員初始化表的作用如下 成員初始化錶用在類的建構函式中,對類的資料成員等初始化。其實它的作用還不僅如此。class a public a int a,int b x a y b 這就是成員初始化表 private int x int y class b public b int c private ...