1. 程式人生 > >caffe詳解之全連線層

caffe詳解之全連線層

全連線層引數說明

全連線層,輸出的是一個一維向量,引數跟卷積層一樣。一般將全連線置於卷積神經網路的後幾層。權重值的初始化採用xavier,偏置初始化為0.

layer {
 name: "ip1"
 type: "InnerProduct" #全連線層
 bottom: "pool2" #輸入
 top: "ip1" #輸出
 param {
   lr_mult: 1 #權重學習率倍數
 }
 param {
   lr_mult: 2 #偏置學習率倍數
 }
 inner_product_param {
   num_output: 500 #輸出一維向量個數
   weight_filler {
     type: "xavier"
#權重初始化方式
   }
   bias_filler {
     type: "constant" #偏置初始化方式
   }
 }
}

全連線配置引數意義

全連線計算公式

全連線計算圖示

全連線意義

全連線計算是神經網路的基本計算單元,從歷史的角度考慮,全連線其實是前饋神經網路,多層感知機(MLP)方法在卷積神經網路的延用。因此,在全連線計算圖示模組中我採用的是傳統的MLP結構。全連線層一般置於卷積神經網路的結尾,因為其引數量和計算量對輸入輸出資料都比較敏感,若卷積神經網路結構前期採用全連線層容易造成引數量過大,資料計算冗餘進一步使得模型容易過擬合,因此,我們採用卷積的計算過程減少了引數量,並更夠提取合適的特徵。但是隨著深度的增加,資料資訊會不斷地丟失,最後採用全連線層能夠保留住前面的重要資訊

,因此全連線與卷積的合理調整會對整個模型的效能產生至關重要的作用!