神經網路 全連線神經網路

2021-10-08 17:36:20 字數 1516 閱讀 8398

全連線神經網路 也稱作多層感知機(mlp)

1.1 神經元

神經元接收輸入向量x

xx神經元節點有權重向量w和偏置項b 輸出值為f(w

tx+b

)f(w^tx+b)

f(wtx+

b)在經過類似線性回歸之後 使用啟用函式對得到值進行操作

1.2 網路結構

個人對於每一層的理解就是 使用[這層維度,上層維度]的權重矩陣

將輸入轉化為其他維度 並且使用非線性的啟用函式 得到輸出

1.3 正向傳播

確定網路結構之後

假設有m層網路 第 l

ll 層的權重矩陣 w

lw^l

wl偏置為 b

lb^l

bl整個網路從輸入到輸出的流程為

1.4 反向傳播

如何訓練每一層的w和b 就需要反向傳播演算法

假設單個樣本的損失函式是:

l =1

2(h(

x)−y

)2l=\cfrac12(h(x)-y)^2

l=21​(

h(x)

−y)2

目標優化函式:

l =1

2m∑i

=1m(

h(xi

)−yi

)2l=\cfrac1\sum_^m(h(x_i)-y_i)^2

l=2m1​

i=1∑

m​(h

(xi​

)−yi

​)2反向傳播演算法的流程是:

需要推導出每一層都適用的結論是

▽ wl

l=[▽

ull]

(xl−

1)t\big********down _l=[\big********down _l] (x^)^t

▽wl​l=

[▽ul

​l](

xl−1

)t▽ bl

l=▽u

ll\big********down _l=\big********down _l

▽bl​l=

▽ul​

l可見需要每一層 損失函式對u的梯度

然後只有輸出層的這個梯度是可以直接求出來的

隱藏層的這個梯度都依靠於下一層才能求出來

所以按順序計算nl,

nl−1

,nl−

2,..

..,2

n_l,n_l-1,n_l-2,....,2

nl​,nl

​−1,

nl​−

2,..

..,2

層的梯度

如果訓練時使用多個樣本 對每個樣本求出梯度 求出梯度的均值 進行梯度下降即可

反向傳播演算法的證明還需掌握 (復合函式求導)

mlp神經網路 MLP(全連線神經網路)的反向傳播

3 梯度消失與 mlp可以說是最簡單的一種ann結構了,輸入通過若干個隱藏層後,進入輸出層得到輸出。下圖展示了只有乙個單隱層的mlp。圖1 單隱層mlp 如果使用交叉熵損失函式 cross entropy error function 需要在輸出層的狀態值 如果使用mse損失函式 mean squa...

什麼是全連線神經網路

對n 1層和n層而言 n 1層的任意乙個節點,都和第n層所有節點有連線。即第n層的每個節點在進行計算的時候,啟用函式的輸入是n 1層所有節點的加權。全連線是一種不錯的模式,但是網路很大的時候,訓練速度回很慢。部分連線就是認為的切斷某兩個節點直接的連線,這樣訓練時計算量大大減小 最簡單的全連線神經網路...

tensorflow2 構造全連線神經網路

使用隨機數,生成樣本資料,作為輸入,然後經過中間的隱藏層,對資料進行擬合。1個輸入單元,10個隱含單元,1個輸出單元。y coding utf 8 created on thu may 16 10 49 34 2019 author 666 import tensorflow as tf impor...