閱讀提醒:花點時間弄清楚本文的記號說明,看到公式用實際訓練集、初始化的W、b等數字驗證一下後會一目瞭然。
1 反向傳播算法和BP網絡簡介
誤差反向傳播算法簡稱反向傳播算法(即BP算法)。使用反向傳播算法的多層感知器又稱爲BP神經網絡。BP算法是一個迭代算法,它的基本思想爲:(1)先計算每一層的狀態和激活值,直到最後一層(即信號是前向傳播的);(2)計算每一層的誤差,誤差的計算過程是從最後一層向前推進的(這就是反向傳播算法名字的由來);(3)更新參數(目標是誤差變小)。迭代前面兩個步驟,直到滿足停止準則(比如相鄰兩次迭代的誤差的差別很小)。
本文的記號說明:
下面以三層感知器(即只含有一個隱藏層的多層感知器)爲例介紹“反向傳播算法(BP 算法)”。
2 信息前向傳播
3 誤差反向傳播
3.1 輸出層的權重參數更新
3.2 隱藏層的權重參數更新
3.3輸出層和隱藏層的偏置參數更新
3.4 BP算法四個核心公式
3.5 BP 算法計算某個訓練數據的代價函數對參數的偏導數
3.6 BP 算法總結:用“批量梯度下降”算法更新參數
4 梯度消失問題及其解決辦法