機器學習分享——反向傳播算法推導

反向傳播(英語:Backpropagation,縮寫爲BP)是「偏差反向傳播」的簡稱,是一種與最優化方法(如梯度降低法)結合使用的,用來訓練人工神經網絡的常見方法。該方法對網絡中全部權重計算損失函數的梯度。這個梯度會反饋給最優化方法,用來更新權值以最小化損失函數。網絡

不少同窗在學習深度神經網絡的時候,對反向傳播的相關細節表示難以理解,國外有一篇技術博客,用例子進行了很是清晰的推導。咱們對此進行了漢化,並提供了相關的代碼。有興趣的同窗快來看看吧。app

相關代碼函數

原文地址學習

假設,你有這樣一個網絡層。優化

如今對他們賦上初值,以下圖:人工智能

前向傳播過程

1. 輸入層---->隱含層:

2. 隱藏層---->輸出層:

反向傳播過程

接下來,就能夠進行反向傳播的計算了spa

1. 計算總偏差

2. 隱含層---->輸出層的權值更新:

image.png

下面的圖能夠更直觀的看清楚偏差是怎樣反向傳播的開發

咱們分別計算每一個式子的值:rem

最後三者相乘部署

看看上面的公式,咱們發現:

3.隱含層---->隱含層的權值更新:

同理,計算出

二者相加,獲得總值

最後,三者相乘

image.png

這樣偏差反向傳播法就完成了,最後咱們再把更新的權值從新計算,不停地迭代。

PC端查看完整代碼

———————————————————————————————————————————Mo (網址:http://momodel.cn )是一個支持 Python 的人工智能建模平臺,能幫助你快速開發訓練並部署 AI 應用。

相關文章
相關標籤/搜索