首頁 > 軟體

反向傳播BP學習演演算法Gradient Descent的推導過程

2022-05-13 21:48:59

BP演演算法是適用於多層神經網路的一種演演算法,它是建立在梯度下降法的基礎上的。本文著重推導怎樣利用梯度下降法來minimise Loss Function。

給出多層神經網路的示意圖:

1.定義Loss Function

每一個輸出都對應一個損失函數L,將所有L加起來就是total loss。

那麼每一個L該如何定義呢?這裡還是採用了交叉熵,如下所示:

最終Total Loss的表示式如下:

2.Gradient Descent

L對應了一個引數,即Network parameters θ(w1,w2…b1,b2…),那麼Gradient Descent就是求出引數 θ∗來minimise Loss Function,即:

梯度下降的具體步驟為:

3.求偏微分

從上圖可以看出,這裡難點主要是求偏微分,由於L是所有損失之和,因此我們只需要對其中一個損失求偏微分,最後再求和即可。

先抽取一個簡單的神經元來解釋:

因為我們並不知道後面到底有多少層,也不知道情況到底有多複雜,我們不妨先取一種最簡單的情況,如下所示:

4.反向傳播

l對兩個z的偏導我們假設是已知的,並且在這裡是作為輸入,三角形結構可以理解為一個乘法運算電路,其放大係數為 σ′(z)。但是在實際情況中,l對兩個z的偏導是未知的。假設神經網路最終的結構就是如上圖所示,那麼我們的問題已經解決了:

其中:

但是假如該神經元不是最後一層,我們又該如何呢?比如又多了一層,如下所示:

原理跟上面類似,如下所示:

那假設我們再加一層呢?再加兩層呢?再加三層呢?。。。,情況還是一樣的,還是先求l對最後一層z的導數,乘以權重相加後最後再乘上 σ′(z′′,z′′′,...)即可。

最後給一個範例:

它的反向傳播圖長這樣:

我們不難發現,這種計算方式很清楚明瞭地體現了“反向傳播”四個字。好了,目標達成!!

5.總結

以上就是反向傳播BP學習演演算法-Gradient Descent的推導過程的詳細內容,更多關於BP反向傳播Gradient Descent推導的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com