《MATLAB Deep Learning》Ch3 - Training of Multi-Layer Neural Network 學習筆記

Back-propagation algorithm

由於隱藏層的誤差項沒有被很好地定義(不像輸出層有真實值 did_i),多層神經網絡的發展停滯了許久。1986年,後向傳播算法 Back-propagation algorithm 的引入解決了這個問題。

考慮一個三層網絡(輸入—隱藏—輸出),下面是隱藏層到輸出層的轉換:
在這裏插入圖片描述
由前面的章節,我們已經知道對於隱藏層—輸出層,δ=φ(v)e\delta=\varphi^{'}(v)eδi\delta_iW2W_2 的每一行求導,就得到輸出層神經元 i 對每一個隱藏層神經元的梯度。

但是現在我們的問題是要求出輸入層—隱藏層對應的 δ\delta,由於要更新的是 W1,W1x=v(1),y(1)=φ(v(1))W_{1},W_1x=v^{(1)},y^{(1)}=\varphi(v^{(1)}),我們需要將 δi\delta_i 對隱藏層神經元 y(1)y^{(1)} 求導。

考慮對每一個隱藏層神經元 yj(1)y^{(1)}_{j},它通過 wij(2)w^{(2)}_{ij}豎着看 W 權重矩陣)作用於輸出層神經元 yiy_i,故對第一個隱藏層神經元,有:
在這裏插入圖片描述
轉換成矩陣形式,即:
在這裏插入圖片描述
由此,我們可以統一隱藏層和前面單一網絡結構的梯度計算形式,它們的唯一區別就是 δ\delta 的計算不同。
在這裏插入圖片描述

Momentum

momentum 就是增加到 delta 法則上的一個附加項,它考慮到了之前的梯度的影響。
在這裏插入圖片描述

Cost Function and Learning Rule

在這裏插入圖片描述
上面是兩個經典的損失函數,一個是平方誤差損失函數,一個是交叉熵損失函數。“the cross entropy-driven learning rule yields a faster learning process.”

考慮如下圖的交叉熵損失,當 d=1 時,y 越接近 1,損失越小;y 越接近 0,損失越大。d=0 時同理。
在這裏插入圖片描述

梯度計算參考:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章