此篇文章主要是給大家介紹了Caffe神經網絡視覺效果層VisionLayers及主要參數詳細說明,感興趣的小伙伴可以參考參考一下,希望可以有一定的幫助,祝愿大家多多的發展,盡早漲薪
前言
每一個層都有著的主要參數,如name,type,bottom,top和transform_param請參考我前篇文章:Caffe神經網絡數據訪問層及主要參數
文中只解讀視覺效果層(VisionLayers)的主要參數,視覺效果層包含Convolution,Pooling,LocalResponseNormalization(LRN),im2col等層。
1、Convolution層:
便是卷積層,是神經網絡(CNN)的核心員工。
層種類:Convolution
lr_mult:學習率的指數,最后的學習率就是這個數乘以solver.prototxt環境變量中的base_lr。
若是有兩個lr_mult,則第一位表明權重值的學習率,第2個表明偏置項的學習率。通常偏置項的學習率是權重值學習率兩倍。
后邊的sonvolution_param中,我們能設定卷積層的獨有主要參數。
務必設定的主要參數:
num_output:全連接層(filter)的數量
kernel_size:全連接層大小。假如全連接層的長度寬度不一,要用kernel_h和kernel_w各自設定
其它主要參數:
stride:全連接層的步幅,默認1。還可以用stride_h和stride_w來設定。
pad:擴大邊沿,默認0,不擴大。擴大時是上下、上下對稱的,例如全連接層大小為5*5,那樣pad設為2,則4個邊沿都擴大2個清晰度,即寬和相對高度都擴大了4個清晰度,那樣離散卷積以后的特征圖也就不會縮小。還可以通過pad_h和pad_w來各自設定。
weight_filler:權重值復位。默認“constant",值均為0,有時候我們用"xavier"優化算法去進行復位,還可以設為”gaussian"
bias_filler:偏置項的復位。通常設為"constant",值均為0。
bias_term:是不是打開偏置項,默認true,打開
group:分類,默認1組。假如超過1,大家限定卷積和聯接實際操作在這個子集合內。假如我們依據圖象通道來分類,那樣第i個導出分類只有與第i個鍵入分類開展聯接。
如果設置stride為1,前后兩次卷積部分存在重疊。如果設置pad=(kernel_size-1)/2,則運算后,寬度和高度不變。
示例
layer{ name:"conv1" type:"Convolution" bottom:"data" top:"conv1" param{ lr_mult:1 } param{ lr_mult:2 } convolution_param{ num_output:20 kernel_size:5 stride:1 weight_filler{ type:"xavier" } bias_filler{ type:"constant" } } }
2、Pooling層
也叫池化層,為了減少運算量和數據維度而設置的一種層。
層類型:Pooling
必須設置的參數:
kernel_size:池化的核大小。也可以用kernel_h和kernel_w分別設定。
其它參數:
pool:池化方法,默認為MAX。目前可用的方法有MAX,AVE,或STOCHASTIC
pad:和卷積層的pad的一樣,進行邊緣擴充。默認為0
stride:池化的步長,默認為1。一般我們設置為2,即不重疊。也可以用stride_h和stride_w來設置。
示例:
layer{ name:"pool1" type:"Pooling" bottom:"conv1" top:"pool1" pooling_param{ pool:MAX kernel_size:3 stride:2 } }
pooling層的運算方法基本是和卷積層是一樣的。
如果設置stride為2,前后兩次卷積部分不重疊。100*100的特征圖池化后,變成50*50.
3、Local Response Normalization(LRN)層
此層是對一個輸入的局部區域進行歸一化,達到“側抑制”的效果??扇ニ阉鰽lexNet或GoogLenet,里面就用到了這個功能
層類型:LRN
參數:全部為可選,沒有必須
local_size:默認為5。如果是跨通道LRN,則表示求和的通道數;如果是在通道內LRN,則表示求和的正方形區域長度。
alpha:默認為1,歸一化公式中的參數。
beta:默認為5,歸一化公式中的參數。
norm_region:默認為ACROSS_CHANNELS。有兩個選擇,ACROSS_CHANNELS表示在相鄰的通道間求和歸一化。WITHIN_CHANNEL表示在一個通道內部特定的區域內進行求和歸一化。與前面的local_size參數對應。
歸一化公式:對于每一個輸入,去除以
得到歸一化后的輸出
示例:
layers{ name:"norm1" type:LRN bottom:"pool1" top:"norm1" lrn_param{ local_size:5 alpha:0.0001 beta:0.75 } }
4、im2col層
如果對matlab比較熟悉的話,就應該知道im2col是什么意思。它先將一個大矩陣,重疊地劃分為多個子矩陣,對每個子矩陣序列化成向量,最后得到另外一個矩陣。
看一看圖就知道了:
在caffe中,卷積運算就是先對數據進行im2col操作,再進行內積運算(inner product)。這樣做,比原始的卷積操作速度更快。
看看兩種卷積操作的異同:
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128772.html
摘要:陳建平說訓練是十分重要的,尤其是對關注算法本身的研究者。代碼生成其實在中也十分簡單,陳建平不僅利用車道線識別模型向我們演示了如何使用生成高效的代碼,同時還展示了在脫離環境下運行代碼進行推斷的效果。 近日,Mathworks 推出了包含 MATLAB 和 Simulink 產品系列的 Release 2017b(R2017b),該版本大大加強了 MATLAB 對深度學習的支持,并簡化了工程師、...
摘要:深度神經網絡能夠煥發新春,大數據功不可沒,然而大數據的版權是否應當延伸到深度學習產生的知識,這是一個現實的問題。要獲得有用的學習效果,大型多層深度神經網絡又名深度學習系統需要大量的標簽數據。 深度神經網絡能夠煥發新春,大數據功不可沒,然而大數據的版權是否應當延伸到深度學習產生的知識,這是一個現實的問題。本文通過ImageNet可視化大數據、Caffe共享深度學習模型和家中訓練三個場景審查了深...
摘要:將這些需要保留的信息直接通過恒等映射進行傳輸,展示了中的很多層對最終的結果影響極小,可以在訓練時隨機丟棄部分層。得益于密集連接的方式,可以同時具有恒等映射深度監督和深度多樣性的特性。 DenseNet Densely Connected Convolutional NetworksGao Huang, Zhuang Liu, Kilian Q. Weinberger, Laurens ...
早期成果卷積神經網絡是各種深度神經網絡中應用最廣泛的一種,在機器視覺的很多問題上都取得了當前較好的效果,另外它在自然語言處理,計算機圖形學等領域也有成功的應用。第一個真正意義上的卷積神經網絡由LeCun在1989年提出[1],后來進行了改進,它被用于手寫字符的識別,是當前各種深度卷積神經網絡的鼻祖。接下來我們介紹LeCun在早期提出的3種卷積網絡結構。?文獻[1]的網絡由卷積層和全連接層構成,網絡...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02