神經網路的BP推導過程

來源:互聯網
上載者:User

標籤:需要   設定   之間   數學   接下來   oid   更新   權重   根據   

神經網路的BP推導過程

下面我們從一個簡單的例子入手考慮如何從數學上計算代價函數的梯度,考慮如下簡單的神經網路,該神經網路有三層神經元,對應的兩個權重矩陣,為了計算梯度我們只需要計算兩個偏導數即可:

首先計算第二個權重矩陣的偏導數,即

首先需要在之間建立聯絡,很容易可以看到的值取決於,而,而又是由取sigmoid得到,最後,所以他們之間的聯絡可以如下表示:

按照求導的鏈式法則,我們可以先求對的導數,然後乘以對的導數,即

由於

不難計算

上式可以重寫為

接下來僅需要計算即可,由於

 

忽略前面的

以及正則項

設k=1得到

這裡只對一個example推導,最後累加即可

因此

得到下面的求導過程

由於

,計算如下,得

至此我們得到了

 

接下去我們需要求的偏導數,的依賴關係如下:

根據鏈式求導法則有

分別計算等式右邊的三項可得

帶入後得

上式可以重寫為

將上面的結果放在一起,我們得到對兩個權重矩陣的偏導數為:

觀察上面的四個等式,我們發現

  • 偏導數可以由當層神經元向量與下一層的誤差向量相乘得到
  • 當前層的誤差向量可以由下一層的誤差向量與權重矩陣的乘積得到

所以可以從後往前逐層計算誤差向量,然後通過簡單的乘法運算得到代價函數對每一層權重矩陣的偏導數。

 

假設我們有m個訓練example,L層神經網路,並且此處考慮正則項,即

初始化:設定(理解為對第l層的權重矩陣的偏導累加值,每一個訓練的偏導數累加值,最後再除以樣本數得到均值)

For k=1:m

    設定 =

    通過前向傳播演算法(FP)計算對各層的預測值,其中l=1,2,3,4…,L

    計算最後一層的誤差向量,利用後向傳播演算法(BP)從後至前逐層計算誤差向量,計算公式為

    更新

End//

計算梯度:

 

 

附錄:

 

 

神經網路的BP推導過程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.