1. 程式人生 > >反向傳播演算法中的矩陣求導

反向傳播演算法中的矩陣求導

反向傳播中的梯度


在神經網路演算法中,可以把複雜的網路結構看作一個複合函式。即用一個函式表徵輸入與輸出之間的關係。誤差的反向傳遞,提供了確定這個函式的方法。這裡的誤差,指的就是梯度。所以,BP演算法就是根據複合函式求導的鏈式法則一步步求得。

計算圖

在這裡插入圖片描述
為了更直觀的理解這個函式,我們用 m=a+b 、n=c+d 顯然,
f=mn
在這裡插入圖片描述
本例中前向傳播的過程中,f=4.5,
a若增加0.001,則m增加0.001,則f增加0.001
n。使用鏈式法則可以求得對a\b\c\d的偏導數。
在這裡插入圖片描述

矩陣求導

前饋神經網路嵌入層中,每一層要學習的引數都是一個矩陣。如前一層的神經元個數為n1,本層神經元個數為n2。不計偏置的話,本層的要學習的引數是一個n2*n1的矩陣。此時就涉及到了矩陣求導。其實矩陣求導的實質還是多元函式,只不過把結果寫成了矩陣的形式。從原理上講,完全可以逐元素求導。
在這裡插入圖片描述

多條連結

與最後一層softmax層(多分類神經網路)不同的是,中間的嵌入層,相鄰的神經元獨立的影響著最終的結果,如計算圖中的m和n的關係。但是softmax層中,變數有多條影響函式值的路徑。則需要對每條路徑求導再加和。