圖示全連接層 如上圖所示,該全鏈接層輸入n * 4,輸出為n * 2,n為batch 該層有兩個參數W和B,W為繫數,B為偏置項 該層的函數為F(x) = W*x + B,則W為4 * 2的矩陣,B 為 1 * 2 的矩陣 從公式理解全連接層 假設第N層為全連接層,輸入為Xn,輸出為Xn+1,其他與 ...
圖示全連接層
- 如上圖所示,該全鏈接層輸入n * 4,輸出為n * 2,n為batch
- 該層有兩個參數W和B,W為繫數,B為偏置項
- 該層的函數為F(x) = W*x + B,則W為4 * 2的矩陣,B 為 1 * 2 的矩陣
從公式理解全連接層
假設第N層為全連接層,輸入為Xn,輸出為Xn+1,其他與該層無關的信息可以忽略
- 該層公式有Xn+1 = Fn(Xn) = W * Xn + B
前向傳播
- 已知Xn,Xn+1 = W * Xn + B, 為前向傳播
反向傳播
反響傳播這裡需要求兩個梯度,loss 對 W的梯度 和 loss 對 B 的梯度,
- loss 對 W 的梯度
- 具體公式如下:
- loss 對 B 的梯度
- 具體公式如下:
- 上面兩個梯度都用到了loss 對 該層輸出的梯度,所以在這層應該把loss 對該層輸入的梯度傳遞到上一層。
- 具體公式如下:
caffe中innerproduct的代碼
前向傳播
這一步在代碼裡面分為兩步:
- Xn+1 = W * Xn,如下圖:
- Xn+1 = Xn+1 + B,如下圖:
- 和上面推導的一樣
反向傳播
這裡需要求三個梯度,loss 對 W的梯度 ,loss 對 B的梯度, loss 對 Xn的梯度
- loss 對 W 的梯度
- 公式:
- 代碼:
- 以上公式和推導的公式有點區別,後面加多loss 對W 的梯度,實現的是累積梯度
- loss 對 B 的梯度
- 公式:
- 代碼:
- 以上公式和推導的公式有點區別,後面加多loss 對B 的梯度,實現的是累積梯度
- loss 對 Xn 的梯度,:
- 公式:
- 代碼:
- 公式和推導的並無區別