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

2021-08-14 14:20:33 字數 2878 閱讀 2205

dnn結構示意圖如圖所示:

對於第 l 層神經網路,單個樣本其各個引數的矩陣維度為:w[

l]:(

n[l]

,n[l

−1])

b[l]:(n

[l],

1)在運算過程中,使用python的「廣播」將b[

1]複製為(n

[l],

m),m為訓練集大小dw

[l]:

(n[l

],n[

l−1]

) db

[l]:

(n[l

],1)

z[l]:(n

[l],

1) a

[l]=

z[l]

:(n[

l],1

) 人臉識別和語音識別:

對於人臉識別,神經網路的第一層從原始中提取人臉的輪廓和邊緣,每個神經元學習到不同邊緣的資訊;網路的第二層將第一層學得的邊緣資訊組合起來,形**臉的一些區域性的特徵,例如眼睛、嘴巴等;後面的幾層逐步將上一層的特徵組合起來,形**臉的模樣。隨著神經網路層數的增加,特徵也從原來的邊緣逐步擴充套件為人臉的整體,由整體到區域性,由簡單到複雜。層數越多,那麼模型學習的效果也就越精確。

對於語音識別,第一層神經網路可以學習到語言發音的一些音調,後面更深層次的網路可以檢測到基本的音素,再到單詞資訊,逐漸加深可以學到短語、句子。

所以從上面的兩個例子可以看出隨著神經網路的深度加深,模型能學習到更加複雜的問題,功能也更加強大。

電路邏輯計算:

假定計算異或邏輯輸出:y=

x1⊕x

2⊕x3

⊕⋯⊕x

n 對於該運算,若果使用深度神經網路,每層將前一層的相鄰的兩單元進行異或,最後到乙個輸出,此時整個網路的層數為乙個樹形的形狀,網路的深度為 o(

log2(n

)),共使用的神經元的個數為:1+

2+⋅+

2log2(

n)−1

=1⋅1

−2log2(n

)1−2

=2log2(n

)−1=

n−1

即輸入個數為n,輸出個數為n-1。

但是如果不使用深層網路,僅僅使用單隱層的網路(如圖右側所示),需要的隱層神經元個數為 2n

−1個 。同樣的問題,但是深層網路要比淺層網路所需要的神經元個數要少得多。

首先給定dnn的一些引數:

l:dnn的總層數;n[

l]:表示第 l 層的包含的單元個數;a[

l]:表示第 l 層啟用函式的輸出;w[

l]:表示第 l 層的權重;

輸入 x 記為 a[

0],輸出 y^

記為 a[

l]。前向傳播(forward propagation)

input: a[

l−1]

output: a[

l], ca

che(

z[l]

) 公式:z[

l]=w

[l]⋅

a[l−

1]+b

[l]

a[l]

=g[l

](z[

l])

向量化程式:z[

l]=w

[l]⋅

a[l−

1]+b

[l]

a[l]

=g[l

](z[

l])

反向傳播(backward propagation)

input: da

[l]

output: da

[l−1

] , dw

[l] ,db

[l]

公式:dz

[l]=

da[l

]∗g[

l]′(

z[l]

) dw

[l]=

dz[l

]⋅a[

l−1]

db[l]=d

z[l]

da[l−1]

=w[l

]t⋅d

z[l]

將 da

[l−1

] 代入 dz

[l] ,有:dz

[l]=

w[l+

1]t⋅

dz[l

+1]∗

g[l]

′(z[

l])

向量化程式:dz

[l]=

da[l

]∗g[

l]′(

z[l]

) dw

[l]=

1mdz

[l]⋅

a[l−

1] d

b[l]

=1mn

p.su

m(dz

[l],

axis

=1,k

eepd

ims=

true

) da

[l−1

]=w[

l]t⋅

dz[l

] 引數:引數即是我們在過程中想要模型學習到的資訊, w[

l], b[

l]。超引數:超引數即為控制引數的輸出值的一些網路資訊,也就是超引數的改變會導致最終得到的引數 w[

l], b[

l]的改變。

舉例:學習速率:α

迭代次數: n

隱藏層的層數:l

每一層的神經元個數: n[

1],n[2

] , ⋯

[1] 吳恩達網路雲課堂 deeplearning.ai 課程

[2]

神經網路和深度學習(三)深層神經網路

1 深層神經網路中的前向傳播 1 單資料情況 z 1 w 1 x b 1 a 1 g 1 z 1 z 2 w 2 a 1 b 2 a 2 g 2 z 2 z l w l a l 1 b l a l g l z l y 2 向量化情況 z 1 w 1 x b 1 a 1 g 1 z 1 z 2 w 2...

深層神經網路 吳恩達神經網路和深度學習學習筆記

l2正則化又被稱作權重衰減,因為相當於在為正則化的基礎上將之前的 正則化為啥能降低過擬合?正則化會使一部分引數接近於0,相當於降低了一些隱藏層單元的影響,相對是模型變得簡單 因為神經網路使用了非線性啟用函式,但是當w比較小時,z通常也會比較小,對有些啟用函式來說會相對集中在近線性區,例如tanh中紅...

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

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