深度神經網路模型(DNN)與前向傳播演算法

2021-10-24 08:26:30 字數 2685 閱讀 4275

原文見:深度神經網路模型(dnn)與前向傳播演算法

這裡具體寫一下摘要及感想

1、dnn(深度神經網路)簡介:

從dnn按不同層的位置劃分,dnn內部的神經網路層可以分為三類,輸入層,隱藏層和輸出層,如下圖示例,一般來說第一層是輸入層,最後一層是輸出層,而中間的層數都是隱藏層。

輸入層的每個神經元輸入樣本資料x的一維

層與層之間是全連線的,也就是說,第i

ii層的任意乙個神經元一定與第i+1

i+1i+

1層的任意乙個神經元相連。雖然dnn看起來很複雜,但是從小的區域性模型來說,還是和感知機一樣,即乙個線性關係z=∑

wixi

+bz=∑w_ix_i+b

z=∑wi​

xi​+

b加上乙個啟用函式σ(z

)σ(z)

σ(z)

。2、引數定義

由於dnn層數增多,則線性關係係數w

ww和偏倚b

bb的數量就會很多,具體的定義方法如下:

首先我們來看看線性關係係數w

ww的定義。以下圖乙個三層的dnn為例,第二層的第4個神經元到第三層的第2個神經元的線性係數定義為w243

w_^3

w243

​上標 3 代表線性係數w

ww所在的層數,而下標對應的是輸出的第三層索引 2 和輸入的第二層索引 4 。你也許會問,為什麼不是w423

,w^3_,

w423​,

而是w24

3w^3_

w243

​呢,如果是w423

w^3_

w423

​而每次進行矩陣運算是wtx

+bw^tx+b

wtx+

b, 需要進行轉置。將輸出的索引放在前面的話,則線性運算不用轉置,即直接為wx+

bwx+b

wx+b

。總結下,第l−1

l−1l−

1層的第k

kk個神經元到第l

ll層的第j

jj個神經元的線性係數定義為wjk

lw_^l

wjkl

​。注意,輸入層是沒有w

ww引數的。

再來看看偏倚b

bb的定義。還是以這個三層的dnn為例,第二層的第三個神經元對應的偏倚定義為b

23b_

b23​

。其中,上標2

22代表所在的層數,下標3

33代表偏倚所在的神經元的索引。同樣的道理,第三個的第乙個神經元的偏倚應該表示為b

31b_

b31​

。同樣的,輸入層是沒有偏倚引數b

bb的。

3、傳播公式

從上面可以看出,使用代數法乙個個的表示輸出比較複雜,而如果使用矩陣法則比較的簡潔。假設第l−1

l−1l−

1層共有m

mm個神經元,而第l

ll層共有n

nn個神經元,則第l

ll層的線性係數w

ww組成了乙個n×m

n×mn×

m的矩陣w

lw^l

wl, 第l

ll層的偏倚b

bb組成了乙個n×1

n×1n×

1的向量b

lb^l

bl, 第l−1

l−1l−

1層的的輸出a

aa組成了乙個m×1

m×1m×

1的向量al−

1a^al−1

,第l

ll層的的未啟用前線性輸出z

zz組成了乙個n×1

n×1n×

1的向量z

lz^l

zl, 第l

ll層的的輸出a

aa組成了乙個n×1

n×1n×

1的向量a

la^l

al。則用矩陣法表示,第l層的輸出為:矩陣化:

4、前向傳播過程

所謂的dnn的前向傳播演算法也就是利用我們的若干個權重係數矩陣w

ww,偏倚向量b

bb來和輸入值向量x

xx進行一系列線性運算和啟用運算,從輸入層開始,一層層的向後計算,一直到運算到輸出層,得到輸出結果為值。

輸入: 總層數l

ll,所有隱藏層和輸出層對應的矩陣w

ww,偏倚向量b

bb,輸入值向量x

xx輸出:輸出層的輸出a

la^l

al1) 初始化a1=

xa_1=x

a1​=

x2) for l=2 to l, 計算:

a l=

σ(wl

al−1

+bl)

a_l=\sigma(w^la^+b^l)

al​=σ(

wlal

−1+b

l)最後的結果即為輸出a

la^lal。

深度神經網路(DNN)模型與前向傳播演算法

深度神經網路 deep neural networks,以下簡稱dnn 是深度學習的基礎,而要理解dnn,首先我們要理解dnn模型,下面我們就對dnn的模型與前向傳播演算法做乙個總結。在感知機原理小結中,我們介紹過感知機的模型,它是乙個有若干輸入和乙個輸出的模型,如下圖 輸出和輸入之間學習到乙個線性...

深度神經網路(DNN)模型與前向傳播演算法

深度神經網路 deep neural networks,以下簡稱dnn 是深度學習的基礎,而要理解dnn,首先我們要理解dnn模型,下面我們就對dnn的模型與前向傳播演算法做乙個總結。在感知機原理小結中,我們介紹過感知機的模型,它是乙個有若干輸入和乙個輸出的模型,如下圖 輸出和輸入之間學習到乙個線性...

深度神經網路(DNN)模型與前向傳播演算法

深度神經網路 deep neural networks,以下簡稱dnn 是深度學習的基礎,而要理解dnn,首先我們要理解dnn模型,下面我們就對dnn的模型與前向傳播演算法做乙個總結。在感知機原理小結中,我們介紹過感知機的模型,它是乙個有若干輸入和乙個輸出的模型,如下圖 輸出和輸入之間學習到乙個線性...