BP演算法推導

2021-08-03 21:02:49 字數 1953 閱讀 7774

反向傳播演算法是深度學習的基礎之一,其主要的核心就是對代價函式$e$關於權重$w$(或偏置$b$)的偏導數$$/$$的表示式。這個表示式代表在改變權值和偏置時,代價函式變化的快慢。

使用$w_^l$表示從$(l-1)^$層的$k^$神經元到$l^$層的$j^$神經元上的權重。之所以$l$的序號在$(l-1)$層的序號之前,是因為後期進行矩陣運算的時候會比較方便。

有了這些,$l^$層的$j^$神經元的啟用值$a_j^l$就和$(l-1)^$層關聯起來了:

$a_j^l = \sigma (\sum\limits_ w_^la_k^+b_j^l)$

基礎的bp演算法中$\sigma(x)$為sigmoid函式,即$\sigma(x)=\frac}$

bp演算法的二次代價函式是lms(最小均方差),其定義為:

$e = \frac\sum\limits_(y_j-a_j^l)^2$

設$z_k^l=\sum\limits_ w_^la_k^+b_j^l$,則$a_j^l = \sigma (z_k^l)$

設$\delta_j^l=\frac$,以代表該神經元的誤差,以$\delta_j^l$代表$l$層的誤差向量。之所以不用$\frac$是因為後面用$\frac$來計算隱藏層誤差的時候更加方便。

$\delta_k^l=(\sum\limits_w_^\delta_j^)\sigma'(z_k^l)$

所以總結出4個方程式:

$\delta^l = \nabla_ae$⊙$\delta'(z^l)$ (bp1)

$\delta_k^l=((w^)^t\delta_j^)$⊙$\sigma'(z^l)$ (bp2)

$\frac=\delta_j^l$ (bp3)

$\frac^l}=a_k^\delta_j^l$ (bp4)

(bp1)的證明:

$\delta^l$的定義是:

$\delta_j^l = \frac$

於是,應用鏈式法則,對其求導,可以把上面的式子表示為

$\delta_j^l = \sum\limits_\frac\frac$

由於$e$只通過$a_j^l$與$z_j^l$關聯,所以,當$k\neq j$時,$\frac$消失了,於是,簡化後的方程為:

$\delta_j^l = \frac\frac$

這正是分量形式的(bp1)

(bp2)的證明

$\delta_j^l=\frac$

$=\sum\limits_\frac}\frac}$

$=\sum\limits_\frac}\delta_k^$ (1)

由於$z_k^=\sum\limits_w_^a_j^l+b_k^=\sum\limits_w_^\sigma(z_j^l)+b_k^\$

所以,做微分,可以得到

$\frac}=w_^\sigma'(z_j^l)$

所以,把他帶入(1)得:

$\delta_j^l=\sum\limits_w_^\delta_k^\delta '(z_j^l)$

(bp3)與(bp4)證明:

$\frac^l}=\frac\frac^l}$ (2a)

$\frac^l}=\frac\frac^l}$ (2b)

因為:$\delta_j^l$的定義就是$\frac$,所以將其代入(2)變為:

$\frac^l}=\frac^l}\delta_j^l$ (3a)

$\frac^l}=\frac^l}\delta_j^l$ (3b)

由於:$z_j^l=\sum\limits_w_^la_k^+b_j^l$,所以:

$\frac^l}=a_k^$ (4a)

$\frac^l}=1$ (4b)

於是將(4a)帶入(3a),(4b)帶入(3b)中,得:

$\frac^l}=a_k^\delta_j^l$

$\frac^l}=\delta_j^l$

以上即(bp3)和(bp4)的證明

以上為bp演算法最基礎的證明公式

BP演算法的推導

bp演算法步驟 1 正向傳播 輸入樣本 輸入層 各隱層 處理 輸出層 注1 若輸出層實際輸出與期望輸出 教師訊號 不符,則轉入2 誤差反向傳播過程 2 誤差反向傳播 輸出誤差 某種形式 隱層 逐層 輸入層 其主要目的是通過將輸出誤差反傳,將誤差分攤給各層所有單元,從而獲得各層單元的誤差訊號,進而修正...

BP神經網路演算法推導

1 前饋神經網路 反饋神經網路 bp網路等,他們之間的關係 前饋型神經網路 取連續或離散變數,一般不考慮輸出與輸入在時間上的滯後效應,只表達輸出與輸入的對映關係 在此種神經網路中,各神經元從輸入層開始,接收前一級輸入,並輸入到下一級,直至輸出層。整個網路中無反饋,可用乙個有向無環圖表示。常見的前饋神...

BP神經網路演算法推導

目錄正向計算 反向傳播 設損失函式為f vec 則f vec delta f vec nabla cdot delta 其中 nabla 是 f vec 的梯度 所以當 delta eta nabla f vec eta 0 時,下降速率最快 即 delta eta frac 設當前啟用函式為f x...