深度學習 2 1 1 神經網路引數初始化

2021-08-15 18:59:43 字數 1045 閱讀 6377

三種引數初始化方法:

zero initialization:將輸入引數初始化為0

random initialization:隨機初始化輸入引數,權重w初始化的值較大

he initialization:在一定範圍內隨即初始化權重w值

zero initialization實現**:

for l in range(1, l):

parameters['w' + str(l)] = np.zeros((layers_dims[l], layers_dims[l-1])) 

parameters['b' + str(l)] = np.zeros((layers_dims[l], 1))

訓練結果是cost函式不下降,一層中的每個神經元學習的內容都一樣,導致無法打破對稱性。為了打破對稱性,w的值需要隨機初始化,b的值則可以初始化為0.

random initialization實現**:

for l in range(1, l):

parameters['w' + str(l)] = np.random.randn(layers_dims[l], layers_dims[l-1]) * 10

parameters['b' + str(l)] = np.zeros((layers_dims[l], 1))

權重w隨機初始化為較大的值,b初始化為0,這會導致cost函式的收斂速度變慢,也有可能引起梯度消失/梯度**等問題

he initialization實現**:

for l in range(1, l + 1):

parameters['w' + str(l)] = np.random.randn(layers_dims[l], layers_dims[l-1]) * np.sqrt(2/layers_dims[l-1])

parameters['b' + str(l)] = np.zeros((layers_dims[l], 1))

對於relu啟用函式,he initialization效果好

機器學習,深度學習,神經網路,深度神經網路

先來說一下這幾者之間的關係 人工智慧包含機器學習,機器學習包含深度學習 是其中比較重要的分支 深度學習源自於人工神經網路的研究,但是並不完全等於傳統神經網路。所以深度學習可以說是在傳統神經網路基礎上的公升級。神經網路一般有輸入層 隱藏層 輸出層,一般來說隱藏層大於2的神經網路就叫做深度神經網路,深度...

深度學習 深度神經網路

神經網路是由乙個個神經元相互連線並按層次排列構成的,深度神經網路是有任意層的神經網路,這裡的深度是指層次的多,而不是神經元數量的多。有任意層,那麼就要有乙個迴圈來負責遍歷每一層進行計算。所以深度神經網路的計算形式,就必須要適應這個迴圈結構。我們先來說說神經元吧 對於多神經元神經網路,其實也是一樣的。...

神經網路和深度學習 淺層神經網路

乙個淺層神經網路示意圖 如圖所示,表示乙個單隱層的網路結構。這裡主要需要注意的是,層與層之間引數矩陣的規格大小 隱藏層和輸出層之間 由上面我們可以總結出,在神經網路中,我們以相鄰兩層為觀測物件,前面一層作為輸入,後面一層作為輸出,兩層之間的w引數矩陣大小為 n out,nin b引數矩陣大小為 n ...