caffe 學習系列啟用層及其引數

2021-07-14 16:48:24 字數 1158 閱讀 6061

在啟用層中,對輸入資料進行啟用操作(實際上就是一種函式變換),是逐元素進行運算的。從bottom得到乙個blob資料輸入,運算後,從top輸出乙個blob資料。在運算過程中,沒有改變資料的大小,即輸入和輸出的資料大小是相等的。

輸入:n*c*h*w

輸出:n*c*h*w

常用的啟用函式有sigmoid, tanh,relu等,下面分別介紹。

1、sigmoid

對每個輸入資料,利用sigmoid函式執行操作。這種層設定比較簡單,沒有額外的引數。

層型別:sigmoid

示例:

layer
2、relu / rectified-linear and leaky-relu

relu是目前使用最多的啟用函式,主要因為其收斂更快,並且能保持同樣效果。

標準的relu函式為max(x, 0),當x>0時,輸出x; 當x<=0時,輸出0

f(x)=max(x,0)

層型別:relu

可選引數:

negative_slope:預設為0. 對標準的relu函式進行變化,如果設定了這個值,那麼資料為負數時,就不再設定為0,而是用原始資料乘以negative_slope

layer
relu層支援in-place計算,這意味著bottom的輸出和輸入相同以避免記憶體的消耗。

3、tanh / hyperbolic tangent

利用雙曲正切函式對資料進行變換。

層型別:tanh

layer
4、absolute value

求每個輸入資料的絕對值。

f(x)=abs(x)

層型別:absval

layer
5、power

對每個輸入資料進行冪運算

f(x)= (shift + scale * x) ^ power

層型別:power

可選引數:

power: 預設為1

scale: 預設為1

shift: 預設為0

layer 

}

6、bnll

binomial normal log likelihood的簡稱

f(x)=log(1 + exp(x))

層型別:bnll

layer

caffe學習系列 層解讀

層型別 accuracy layer 可以看到,caffe中計算accuracy時,是通過比較最後乙個全連線層 神經元個數 類別數 但沒有加入activation function 的輸出和資料集的labels來得到的,計算過程在accuracylayer中實現 我也一直非常困惑,計算accurac...

caffe系列之啟用函式

1 sigmoid layer 2 relu retified linear and leaky relu 可選引數 negative slope 預設為0。對標準的relu函式進行變化,如果設定了這個值,那麼資料為負數時,就不再設定為0,而是原始資料乘以negative slope。layer r...

caffe之(三)啟用函式層

在caffe中,網路的結構由prototxt檔案中給出,由一些列的layer 層 組成,常用的層如 資料載入層 卷積操作層 pooling層 非線性變換層 內積運算層 歸一化層 損失計算層等 本篇主要介紹啟用函式層 下面首先給出啟用函式層的結構設定的乙個小例子 定義在.prototxt檔案中 lay...