卷積神經網路的反向傳播演算法 筆記

2021-08-02 20:37:29 字數 2085 閱讀 6135

學習了這篇部落格

目錄參考連線

列舉**中的公式,並與上圖所示流程一一對應:

代價函式: en

=12∑

n=1n

∑k=1

c(tn

k−yn

k)2

為簡化分析,只考慮第n個樣本對應的代價函式:

en

=12∑

k=1c

(tnk

−ynk

)2

公式中符號的意義:

n:

代表訓練樣本的個數 c:

代表訓練樣本所對應的類標籤的個數 e:

代表代價函式 tn

k:代表第n個樣本對應的類標籤的第k維 yn

k:代表第n個樣本對應的類標籤的第k維的**值

l層的輸出計算公式:

xl

=f(u

l),其

中,ul

=wlx

+bl

計算到最後一層l層時,也就計算出了神經網路的輸出y,至此,前向傳播完成。

首先計算代價函式關於偏移量的導數:

∂e

∂b=∂

e∂u∂

u∂b=

δ

這裡的b表示偏移量,u是:

u=

wx+b

文中提到了乙個靈敏度的問題,引用zouxy09的解釋:

靈敏度的意思就是我們的基b變化多少,誤差會變化多少,也就是誤差對基的變化率,也就是導數了

根據u的表示式,可以計算出∂e

∂b=1

,所以有∂e

∂b=∂

e∂u=

δ ,也就是說bias基的靈敏度∂e

∂b=δ

和誤差e 對乙個節點全部輸入

u的導數∂e

∂u是相等的。神奇吧,所以說求解誤差函式

e 對於

u的偏導數,只需要計算出

δ 即可。這也就是所謂的

δ 更新法則。

由於是反向傳播演算法,所以我們先計算輸出神經元對應的δl

δl

=f′(

ul)⊙

(yn−

tn)

再往回計算時(反向),每一層神經元對應的δl

為:

δl

=(wl

+1)t

δl+1

⊙f′(

ul)

最後由計算出的δl

來計算誤差函式對於該層權值矩陣的每乙個權值的導數。

∂e

∂wl=

xl−1

(δl)

t

給乙個更新率

η ,計算出權值矩陣的更新值:

δw

l=−η

∂e∂w

l

使用該值對權值矩陣進行更新。

(w

l)′=

w+δw

l

至此,一輪的反向傳播結束。在計算的過程中會發現,圖示中的計算步驟與文字說明的計算過程稍有不同。在計算

δ 時,中的描述未涉及到f′

(ul)

,實際上,它在最後的計算中是加了進去的,兩者的計算結果是一樣的。

卷積神經網路反向傳播推導

以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...

神經網路及反向傳播演算法

神經元是構成神經網路的基本單元,模擬生物神經元的結構和特性,接受輸入訊號並且產生輸出。輸入訊號要進行加權和啟用函式,然後才輸出神經元的活性值。啟用函式用來增強網路的表示能力和學習能力,需要連續可求導 允許少數點不可導 的非線性函式。可導的啟用函式可以直接利用數值優化的方法來學習網路引數 反向傳播演算...

神經網路反向傳播理解

訓練神經網路的目標是 優化代價函式,使得代價函式找到乙個 全域性最小值或者區域性最小值。不管使用何種梯度下降演算法 bgd,sgd adam 都需要先算出各個引數的梯度。反向傳播的作用 就是快速算出所有引數的偏導數。求導數通常可以分為兩類,一類是直接用定義,第二類是公式法 包括鏈式法 定義法 定義法...