BP演算法之tricks

2021-07-11 19:52:12 字數 822 閱讀 9227

傳統的batch神經網路訓練缺點:

online learning是利用單個或者極少數樣本進行一次模型引數更新,因此收斂速度快,而且容易跟蹤網路的變化。

另一方面,由於單個或極少數樣本很容易引入雜訊。雜訊對於訓練有利有弊:

利:不容易陷入區域性最優點,雜訊的存在會使演算法收斂在不同的區域性最優,容易找到更優的區域性最優點。

弊:不會真的達到某區域性最優點,因為有雜訊,收斂點會在最優點附近徘徊。

綜上所得,

原因結果

樣本少收斂速度快

網路跟蹤能力強

存在雜訊

獲得更優的解

對於雜訊的缺點處理方法:1)使用自適應學習率;2)使用自適應batch大小(batch越大,雜訊被平均化)。接近收斂點時,學習率減小,batch增大。

對於batch收斂速度慢的問題,還可通過改變優化方法:二階優化方法,如牛頓法。不僅估計cost函式曲面在某點處的梯度(一階資訊),還可估計曲面的曲率(二階資訊),利用曲率可加速收斂。

從意料之外的樣本進行學習

1)打亂樣本,使得同類樣本分散開來,鄰近樣本盡量不同類。

2)挑選更大誤差的樣本輸入網路訓練。

引數最好初始化在梯度足夠大的地方。

前提是資料已標準化,非線性函式為sigmoid函式。因為要求是標準差為1的初始輸出,所以初始值可從均值為0,σw

=m−1

/2的分布中隨機取樣可得(m為與該節點連線的輸入個數)。

為避免不穩定和輸出飽和。

目標值應當設定在非線性函式的最大二階導數的位置。

BP演算法調研

bp演算法,即反向傳播方法,是用來訓練前向網路的一種普遍演算法。課本 artifitial intelligence a new synthesis,nils j.nilsson 提供了演算法實現方式,每乙個輸入樣本,利用遞迴等式,根據期望值與實際輸出值的誤差,從後向前逐步調整權重,從而實現網路的訓...

BP演算法推導

反向傳播演算法是深度學習的基礎之一,其主要的核心就是對代價函式 e 關於權重 w 或偏置 b 的偏導數 的表示式。這個表示式代表在改變權值和偏置時,代價函式變化的快慢。使用 w l 表示從 l 1 層的 k 神經元到 l 層的 j 神經元上的權重。之所以 l 的序號在 l 1 層的序號之前,是因為後...

BP演算法示例

誤差處理情況,第一種計算誤差的方式是將簡單的將網路計算結果與正確結果相減,但採用這種做法,如果我們把所有誤差相加在一起,結果居然為零,因為第乙個節點的結果與正確結果的差值和第二個節點結果與正確結果的差值剛好相反,於是誤差就相互抵消掉,由此直接將兩者相減不是一種理想的誤差計算方式。第二種是相減後求絕對...