勵志

勵志人生知識庫

初始化方法

初始化方法有多種,包括全零或等值初始化正態初始化均勻初始化Xavier初始化等。

全零或等值初始化:每個神經元學到的東西相同,可能導致「對稱性」問題。

正態初始化:均值為零,標準差設定一個小值,有助於有相同的偏差,權重有正有負。

均勻初始化:均勻分布的區間通常為【-1/sqrt(fan_in),1/sqrt(fan_in)】,其中fan_in表示輸入神經元的數量,fan_out表示輸出神經元的數量。

Xavier Initialization:根據sigmoid函式圖像的特點,如果初始化值很小,那麼隨著層數的傳遞,方差就會趨於0,此時輸入值也變得越來越小,接近於線性,失去了非線性。如果初始值很大,那麼隨著層數的傳遞,方差會迅速增加,此時輸入值變得很大,而sigmoid在大輸入值附近寫倒數趨近於0,反向傳播時會遇到梯度消失的問題。

此外,在程式語言如C++中,變數的初始化方法包括默認初始化直接初始化拷貝初始化。默認初始化是如果沒有顯式指定初始化值,變數將被默認初始化。直接初始化是使用等號(=)初始化一個變數,拷貝初始化是將一個對象的值賦給另一個變數。