在文章最後,給了一篇pdf,這個pdf是劉大佬找的,也忘了從**看的了,這裡在文章最後給出鏈結,全文更加連貫,如果有知道出處的,務必告知,如果不介意引用,我一定給出原文軟鏈。看了網上的帖子,寫的很好,不過我還是想自己整理下,有的地方原來的博主還是有點散了,不過建議先看原博,然後在按照如下思路展開,不然可能有點跳躍。csdn的latex是真的爛,沒有之一,之前還好好的,現在就不行了!!!
自己認為下面的思路還是很清晰的,編輯公式就花了我好長時間啊。。。
正向傳播是為了計算net out的值
反向傳播
首先說一下sigmoid函式的乙個比較好的特點:
f ′(
x)=f
(x)∗
(1−f
(x))
f'(x) = f(x) * (1 - f(x))
f′(x)=
f(x)
∗(1−
f(x))∂e
tota
l∂w5
=∂et
otal
∂out
o1∗∂
outo
1∂ne
to1∗
∂net
o1∂w
5=δo
1∗∂n
eto1
∂w5=
δo1∗
outh
1\frac } } = } }} } * \color }} }} } * } }} } } = \delta_ * } } } = \delta_ * _
∂w5∂e
tota
l=
∂out
o1
∂eto
tal
∗∂n
eto1
∂o
uto1
∗
∂w5
∂net
o1
=δo
1∗
∂w5
∂net
o1
=δo
1∗
outh
1在這裡δo1
=∂et
otal
∂out
o1∗∂
outo
1∂ne
to1\delta_ = \frac } }} * \frac }} }}
δo1=
∂out
o1
∂eto
tal
∗∂n
eto1
∂o
uto1
表示\boldsymbol含義如下:
這裡的∂et
otal
∂out
h1} }} }
∂outh1
∂e
tota
l可推導如下:
這裡的δ
\delta
δ和鏈結頂部的公式是同乙個公式,所以為什麼偏導是這樣的也就解釋清楚了,當然在鏈結也給出了形式化的證明
對比這上面兩個,可以發現兩個後面的紅色字型部分是一樣的,只不過針對兩個層需要稍微改動點,並且兩個偏導數的形式是一樣的
bp從入門看到激動還想哭
博主牆裂推薦
神經網路反向傳播理解
訓練神經網路的目標是 優化代價函式,使得代價函式找到乙個 全域性最小值或者區域性最小值。不管使用何種梯度下降演算法 bgd,sgd adam 都需要先算出各個引數的梯度。反向傳播的作用 就是快速算出所有引數的偏導數。求導數通常可以分為兩類,一類是直接用定義,第二類是公式法 包括鏈式法 定義法 定義法...
卷積神經網路反向傳播推導
以tensorflow的卷積神經網路為例 卷積 池 卷積 池 全連線 softmax c1層 卷積神經網路的輸入是28 28的矩陣 a 經過f1 個5 5的卷積核k1 i i 1,2,f1 的卷積生成f1 個24 24大小的feature maps c1 i co nv2 a,k1 i,v alid...
神經網路學習引入 反向傳播
反向傳播技術是神經網路的核心技術之一。如果乙個運算我們能夠使用計算圖表式出來,那麼我們就能夠利用反向傳播的方法,即從後往前遞迴地呼叫鏈式法則來計算梯度。乙個簡單的函式f x y,z x y zf x,y,z x y z f x,y,z x y z的計算圖如下所示。假設輸入為 x 2,y 5,z 4,...