DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略
DL之BP:神經網絡算法簡介之BP算法簡介(鏈式法則/計算圖解釋)、案例應用之詳細攻略
相關文章:DL之DNN之BP:神經網絡算法簡介之BP算法/GD算法之不需要額外任何文字,只需要八張圖講清楚BP類神經網絡的工作原理
?
?
目錄
BP算法思路簡介
1、神經網絡訓練的優化目標
2、梯度下降
3、反向傳播(backpropagation)算法
4、前向傳播計算
5、反向傳播誤差信號
6、更新參數
鏈式法則
鏈式法則簡介
1、鏈式法則與復合函數
2、鏈式法則和計算圖
鏈式法則使用
BP算法原理推導—以三層神經網絡為例
1、理論推導
1.1、前向傳播計算
數學式子描述該神經網絡:
(1)、一般情況下,同一層的激活函數都是一樣的,并且此處是進行二分類,所以隱藏層、輸出層都可以采用Sigmoid激活函數。
| 輸入數據 | 隱藏層1 | 隱藏層2 | 輸出層 |
| 前向傳播計算 | ? | ||
| 經過Sigmoid函數輸出 | 、、 | 、 |
1.2、反向傳播計算
? ? ? ? 反向傳播的計算過程。假設我們使用隨機梯度下降的方式來學習神經網絡的參數,損失函數定義為 L(y,y^),其中y是該樣本的真實類標。使用梯度下降進行參數的學習,我們必須計算出損失函數關于 神經網絡中各層參數(權重w和偏置b)的偏導數。
0、比如要對第k隱藏層參數w、b求偏導數
1、先計算、
因為偏置b是一個常數項,因此偏導數的計算也很簡單。
?
2、再計算
?
?
2、BP算法帶入實例推導
?
?
?
?
?
?
?
?
BP算法思路簡介
?? ? ? ?前饋神經網絡(NN),而是和循環神經網絡(RNN)的概念是相對的。而反向傳播方法可以用在FF網絡中,此時,基于反向傳播算法的前饋神經網絡,被稱為BP神經網絡。? ? ? ?
?? ? ??反向傳播(Backpropagation)算法,深度學習模型采用梯度下降和誤差反向傳播進行模型參數更新。
?
1、神經網絡訓練的優化目標
梯度下降(Gradient Descent):
- 求解非線性無約束優化問題的最基本方法;
- 最小化損失函數的一種常用的一階優化方法。
?
2、梯度下降
沿負梯度方向,函數值下降最快
?? ?? ?? ? ???
?
3、反向傳播(backpropagation)算法
深度學習模型,采用梯度下降和誤差反向傳播進行模型參數更新。
|
?
4、前向傳播計算
使用損失函數比較實際輸出和期望輸出
| 計算圖(Computation Graph):計算過程可以表示成有向圖的形式。 | |
| 前向計算過程: 計算各計算結點的導數。 |
?
5、反向傳播誤差信號
后向傳播誤差到前面的層,傳播的誤差用來計算損失函數的梯度。
| 計算損失函數?對各參數的梯度(偏導數)
|
?
| 反向傳播(backpropagation)
|
?
6、更新參數
得到梯度以后,就可以進行更新參數。
?
?
鏈式法則
鏈式法則簡介
? ? ? ?鏈式法chain rule,屬于微積分領域,是微積分中的求導法則,用于求一個復合函數的導數,是在微積分的求導運算中一種常用的方法。復合函數的導數將是構成復合這有限個函數在相應點的 導數的乘積,就像鎖鏈一樣一環套一環,故稱鏈式法則。
?? ? ? 這個結論可推廣到任意有限個函數復合到情形,于是復合函數的導數將是構成復合這有限個函數在相應點的 導數的乘積,就像鎖鏈一樣一環套一環,故稱鏈式法則。
?
1、鏈式法則與復合函數
? ? ? ? ?鏈式法則是關于復合函數的導數的性質:如果某個函數由復合函數表示,則該復合函數的導數可以用構成復合函數的各個函數的導數的乘積表示。
? ? ? ? ?數學式表示
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
2、鏈式法則和計算圖
? ? ? ? 其中“**2”節點表示平方運算,沿著與正方向相反的方向,乘上局部導數后傳遞。反向傳播的計算順序是,先將節點的輸入信號乘以節點的局部導數(偏導數),然后再傳遞給下一個節點。
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ?
反向傳播是基于鏈式法則的。
(1)、根據計算圖的反向傳播的結果,dz/dx = 2(x + y)
(2)、乘法的反向傳播:左圖是正向傳播,右圖是反向傳播。
?? ? ? ? ??????
? ? ? ? 因為乘法的反向傳播會乘以輸入信號的翻轉值,所以各自可按1.3 × 5 =6.5、1.3 × 10 = 13 計算。另外,加法的反向傳播只是將上游的值傳給下游,并不需要正向傳播的輸入信號。但是,乘法的反向傳播需要正向傳播時的輸入信號值。因此,實現乘法節點的反向傳播時,要保存正向傳播的輸入信號。
(3)、購買蘋果的反向傳播的例子:這個問題相當于求“支付金額關于蘋果的價格的導數”“支付金額關于蘋果的個數的導數”“支付金額關于消費稅的導數”。
?
?
鏈式法則使用
1、求導案例
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成功解决win10下dos中运行tens
- 下一篇: VB:使用Visual Studio 2