Back-propagation algorithm
由於隱藏層的誤差項沒有被很好地定義(不像輸出層有真實值 ),多層神經網絡的發展停滯了許久。1986年,後向傳播算法 Back-propagation algorithm 的引入解決了這個問題。
考慮一個三層網絡(輸入—隱藏—輸出),下面是隱藏層到輸出層的轉換:
由前面的章節,我們已經知道對於隱藏層—輸出層,, 對 的每一行求導,就得到輸出層神經元 i 對每一個隱藏層神經元的梯度。
但是現在我們的問題是要求出輸入層—隱藏層對應的 ,由於要更新的是 ,我們需要將 對隱藏層神經元 求導。
考慮對每一個隱藏層神經元 ,它通過 (豎着看 W 權重矩陣)作用於輸出層神經元 ,故對第一個隱藏層神經元,有:
轉換成矩陣形式,即:
由此,我們可以統一隱藏層和前面單一網絡結構的梯度計算形式,它們的唯一區別就是 的計算不同。
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 時同理。
梯度計算參考: