1. 程式人生 > >反向傳播的工作原理(深度學習第三章)

反向傳播的工作原理(深度學習第三章)

What is backpropagation really doing?

這裡寫圖片描述
梯度向量的每一項大小是在告訴大家,代價函式對於每一個引數有多敏感。

這裡寫圖片描述
對於改變啟用值,可以有三種方法:
1.增加偏置
2.增加權重
3.改變上一層的啟用值

對於梯度下降,我們不知看每個引數是該增大還是減小,我們還看哪個引數的價效比最高。

反向傳播的原理

把最後一層的神經元期待全部加起來,作為對如何改變倒數第二層神經元的指示,這些期待變化不僅是權重的倍數,也是每個神經元啟用值改變數的倍數,這就是反向傳播的實現原理。我們把所有期待的改變加起來,就得到了一串對倒數第二層改動的變化量。有了這些,我們就可以重複這個過程,改變影響倒數第二層神經元啟用值的相關引數,從後一層帶前一層,把這個過程一直迴圈到第一層。

小結

反向傳播(backpropagation)演算法算的是單個訓練樣本想怎樣修改權重和偏置,不僅是說每個引數應該變大還是變小,還包括了這些變化的比例是多大,才能最快的降低代價。
真正的梯度下降,得對好幾萬個訓練樣本都這麼操作。然後對這些變化值取平均,但是這樣算起來太慢了。所以可以先把所有的樣本分到各個minibatch中,計算一個minibatch來作為梯度下降的一步,計算每一個minibatch的梯度,來調整引數,不斷迴圈。最終你就會收斂到代價函式的一個區域性最小值上。