• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于組合激活函數(shù)的CNN 應用研究

      2019-02-28 10:35:44周月鵬盧喜利
      韶關學院學報 2019年12期
      關鍵詞:池化層池化神經元

      周月鵬,盧喜利

      (韶關學院 信息科學與工程學院, 廣東 韶關512005)

      2012 年Hinton 通過卷積神經網絡(Convolutional Neural Network,CNN)解決了ImageNet 問題并取得成功之后[1],CNN 的應用領域越來越廣,主要包括圖像識別和分類[2]、語音識別[2]、自然語言處理[3]、立體視覺匹配[4-5]等領域.CNN 通過模擬動物大腦的運行機理,實現(xiàn)對象的判斷識別過程.在CNN 模型中,神經元的特征首先進行卷積運算,然后通過激活函數(shù)將神經元的特征映射到下一層[6],激活函數(shù)提高了CNN模型的表達能力,可以模擬復雜的數(shù)據(jù)模型.

      在深度學習領域最初采用的激活函數(shù)包括Sigmoid 函數(shù)[7]和Tanh 函數(shù)[8].Sigmoid 函數(shù)主要將輸入值映射到[0,1],在特征相差不是特別大時,Sigmoid 函數(shù)效果比較好,能很好的解決二分類問題,但在反向傳播過程中容易出現(xiàn)梯度消失的情況.Tanh 函數(shù)將輸入值映射到[-1,1],Tanh 函數(shù)在有明顯特征差異時的效果很好,但和Sigmoid 一樣,依然存在梯度消失的問題.2010 年Hinton 提出了ReLU 函數(shù)作為激活函數(shù),有效緩解了Sigmoid 函數(shù)和Tanh 函數(shù)中存在的梯度消失問題[9].2017 年Prajit R 等人提出了Swish 函數(shù),和ReLU 類似,Swish 函數(shù)是無上界但有下界的,不同的是Swish 函數(shù)是光滑但非單調[10].當層數(shù)超過40 層時,ReLU 函數(shù)準確率下降的速度比Swish 函數(shù)要快,目前在深度學習領域應用最廣泛的激活函數(shù)是ReLU[10].每個激活函數(shù)都有各自的優(yōu)點,不同的激活函數(shù)都有適應的數(shù)據(jù)集,在實驗中通過在CNN 的不同層中采用不同的激活函數(shù),通過組合的方式實現(xiàn)對象識別準確率的提高.

      1 相關工作

      1.1 卷積神經網絡

      CNN 是一種深層前饋型神經網絡,最常用于圖像領域的監(jiān)督學習問題,比如圖像識別、計算機視覺等[11].LeCun 于1998 年提出CNN 模型,并將該模型應用到手寫字符的檢測中[12].CNN 是一種局部連接、權值共享的神經網絡模型,每一層都包含多個二維平面,每個平面又包含多個神經元[13].CNN 具有局部感知、參數(shù)共享、多卷積核、池化、稀疏性限制等優(yōu)勢[14],被廣泛應用在圖像識別領域.LeNet-5[12]是LeCun 設計的用于手寫數(shù)字識別的CNN,LeNet-5 包括卷積層、下采樣層、全連接層3 部分,該系統(tǒng)在小規(guī)模手寫數(shù)字識別中取得了較好的結果.

      CNN 的基本結構包括輸入層、卷積層、池化層、全連接層和輸出層[15].和全連接神經網絡相比,CNN是一種帶有卷積結構的深度神經網絡.CNN 權值共享的特性減少了網絡中參數(shù)的個數(shù),降低了網絡模型的復雜度,減少了權值的數(shù)量,緩解模型訓練過程中的過擬合現(xiàn)象,減少參數(shù)同樣可以減少在運算過程中占用的內存量[16].

      CNN 本質上是輸入到輸出的一種非線性映射,它不需要輸入和輸出之間精確的數(shù)學表達關系和嚴格的推導過程,卻能夠有效地反映輸入和輸出的非線性關系,這也是判別模型是否合適的重要依據(jù)[3].2014 年CNN 有了很大的改進,深度學習技術也在這一年快速成長.隨著CNN 網絡層數(shù)的增加,可以提取出圖像中的更多的高維特征,提取到的特征也更抽象[14].其模型見圖1.

      1.1.1 卷積層

      卷積層首先對上一層特征進行卷積運算,然后通過激活函數(shù)運算,就得到輸出特征.圖1 中C1、C3 是卷積層,每個圓圈代表一個神經元,神經元的運算見圖2.

      第i 層的神經元一定與i+1 層卷積范圍內的神經元連接,第i 層中每個神經元的值與對應權重相乘后相加再加上偏置值b,f 是激活函數(shù),通過激活函數(shù)完成輸入和輸出之間的非線性變換,即:在

      其中式(1)中ω 是每一個卷積層和上一層之間每個連接上的權值,x 是每個卷積層輸入的神經元的值,b是偏置值.通過激活函數(shù)運算后,得到下一層對應神經元的值.式(2)中f 是激活函數(shù),使得輸入值通過非線性變換后接近目標值.隨著層數(shù)的增加,非線性變換的次數(shù)增加,可使模型逼近任何非線性函數(shù),更好的擬合其它的非線性模型.

      圖1 CNN 模型

      圖2 神經元的運算

      1.1.2 池化層

      圖1 中S1、S3 為池化層. 池化層的作用是降低卷積結果的分辨率來獲得具有空間不變性的特征[17],同時池化層可以實現(xiàn)特征的二次提取,它的每個神經元通過對局部接受域進行池化操作[15].池化操作包括最大池化、平均池化、最小池化,池化的主要優(yōu)點在于可以實現(xiàn)圖像變換不變性、特征表達的緊湊性、對噪聲和擾亂的魯棒性以及擴大局部感受野[18].

      1.1.3 全連接層

      圖1 中F1 為全連接層,全連接層將池化運算之后的特征拼接為一維特征作為輸出層的輸入,全連接層神經元的值通過對輸入加權求和,并通過激活函數(shù)的運算得到[19].

      1.2 激活函數(shù)

      激活函數(shù)為CNN 引入非線性變換,通過非線性變換提高網絡的表達能力,影響了神經網絡的收斂速度[20].在傳統(tǒng)的CNN 中,激活函數(shù)一般使用飽和非線性函數(shù),如Sigmoid 函數(shù)和Tanh 函數(shù),和飽和非線性函數(shù)相比,不飽和非線性函數(shù)可以解決梯度爆炸和梯度消失問題,同時可以加快收斂速度,使得模型在訓練 過 程 中 更 穩(wěn) 定[20].

      激活函數(shù)主要包括:Sigmoid、Tanh、ReLU[22]、Maxout[21]、Softplus 和Swish[10],以及ReLU 的變形Leakly ReLU、Parametric ReLU、Randomized ReLU、ELU 等,本文采用比較常用的5 個激活函數(shù),Sigmoid、Tanh、Re-LU、Softplus 和Swish 進行組合實驗.

      1.3 Dropout 方法

      過擬合(over-fitting)[23]是指模型在訓練過程中參數(shù)過度擬合訓練數(shù)據(jù)集,而對訓練集之外的測試集效果不好,影響模型在測試數(shù)據(jù)集上的泛化性能的現(xiàn)象[24].Hinton 等[25]提出的Dropout 方法,在訓練過程中根據(jù)設定比例隨機忽略一些節(jié)點的響應,這些節(jié)點不參加CNN 的前向傳播過程,也不參加后向傳播過程[26],減輕了傳統(tǒng)全連接神經網絡的過擬合問題,有效地提高了網絡的泛化性能[24].目前CNN 的研究大都采用ReLU+ Dropout 方法,并取得了很好的分類性能[27],在實驗過程中采用了Dropout 方法.

      2 組合激活函數(shù)模型

      2.1 算法模型

      在經典的CNN 模型中,調整每個卷積層使用的激活函數(shù),運算結果作為下一層神經元的值.在CNN中,模型層數(shù)不同,采用數(shù)據(jù)集不同,取得最好測試準確率的組合方式也不相同.其中4 個卷積層和1 個全連接層的組合函數(shù)模型見圖3.

      圖3 組合不同激活函數(shù)的CNN 模型

      圖3 中包含5 個使用激活函數(shù)的層 (池化層在圖中沒有標出),5 個激活函數(shù)可以從Sigmoid、ReLU、Tanh、Softplus 和Swish 中進行選擇、組合,通過實驗發(fā)現(xiàn)取得最高準確率的組合模式,在系統(tǒng)投入使用時針對不同的數(shù)據(jù)集進行不同的設置.

      2.2 實現(xiàn)方法

      實驗過程中,根據(jù)各個激活函數(shù)的不同特點,筆者在實驗過程中選用的激活函數(shù)包括:Sigmoid、Re-LU、Tanh、Softplus 和Swish,分別進行組合,圖3 模型中共包含3 125 種組合方式,隨著層數(shù)的增多,組合的結果會越來越多. 在針對兩個數(shù)據(jù)集的測試中,MNIST 數(shù)據(jù)集采用C2_F1 (兩個卷積層和兩個全連接層)、C3_F1 和C4_F1 的3 個模型進行實驗.CIFAR-10 數(shù)據(jù)集的采用C1_F2、C2_F2、C3_F2 和C4_F2 的4個模型進行實驗.

      2.3 實驗參數(shù)設置

      數(shù)據(jù)集MNIST 采用的網絡模型輸入層是28×28 的手寫字體圖像,卷積層都采用3×3 的卷積核,卷積步長為1,第一個卷積層通道數(shù)是32,第二個卷積層通道數(shù)64,第三個卷積層通道數(shù)128;模型中ActFun采用1.2 中提到的5 個激活函數(shù)中的任意一個;池化層采用最大池化,池化層窗口大小是3×3,步長為1;每個池化層之后都使用dropout 進行處理,keep_prob 值為0.7,即30%的神經元節(jié)點在前向傳播和反向傳播過程中不參與訓練過程的運算,但測試過程中所有的神經元都要參與運算,即keep_prob 值為1;全連接層中所有的神經元都和下一層的神經元相連接,兩個全連接層的神經元個數(shù)設置為625;最后是輸出層,通過歸一化函數(shù)Softmax 完成模型的運算輸出;模型中l(wèi)earning_rate 值為0.001,training_epochs 值為15,batch_size 值為100,具體模型見圖4.

      數(shù)據(jù)集CIFAR-10 采用的網絡模型輸入層是經過處理后的24×24 的圖像,卷積層都采用5×5 的卷積核,卷積步長為1,3 個卷積層的通道數(shù)都是64;模型中ActFun 也采用1.2 中提到的5 個激活函數(shù)中的任意一個;池化層采用最大池化,池化層窗口大小是3×3,步長為2;全連接層中所有的神經元都和下一層的神經元相連接,第一個全連接層的神經元個數(shù)設置為384,第二個全連接層的神經元個數(shù)設置為192;最后通過歸一化函數(shù)Softmax 完成模型的運算輸出;模型中l(wèi)earning_rate 值為0.1,training_epochs 值為350,batch_size 值為128.具體模型見圖5.

      圖4 數(shù)據(jù)集MNIST 采用的模型

      圖5 數(shù)據(jù)集CIFAR-10 采用的模型

      3 實驗結果及分析

      3.1 實驗數(shù)據(jù)集

      組合激活函數(shù)模型在MNIST、CIFAR-10 兩個數(shù)據(jù)集上完成測試.

      MNIST 數(shù)據(jù)集是包含0~9 十個手寫數(shù)字組成的數(shù)據(jù)集,通常用于訓練各種圖像處理系統(tǒng)[29],該數(shù)據(jù)集共分為10 類,包含60 000 張訓練圖像和10 000 張測試圖像,每個圖像大小為28×28 像素.

      CIFAR-10 數(shù)據(jù)集分為10 類,每一類有6 000 張彩色圖像組成,其中包含50 000 張訓練圖像和10 000張測試圖像,所有圖像大小都是32×32 像素.在訓練和測試過程中,通過對圖片的處理,輸入圖片大小為24×24 像素.

      3.2 實驗結果分析

      3.2.1 MNIST 數(shù)據(jù)集實驗結果分析

      針對MNIST 數(shù)據(jù)集的測試中,分別采用C2F1、C3F1 和C4F13 個模型進行測試.單一激活函數(shù)的準確率見表1.C2F1、C3F1 和C4F1 的3 個模型準確率前5 的組合方式分別見表2,表3,表4.

      表1 單一激活函數(shù)在不同模型的識別準確率 %

      表2 模型C2F1 中激活函數(shù)組合識別準確率前5 的組合方式

      表3 模型C3F1 中激活函數(shù)組合識別準確率 前5 的組合方式

      表4 模型C4F1 中激活函數(shù)組合識別準確率前5 的組合方式

      從表1~表4 的實驗數(shù)據(jù)可知,3 個模型中組合的激活函數(shù)比單一的激活函數(shù)能取得更好的識別準確率. 針對MNIST 數(shù)據(jù)集,3 個模型中最好的是4 個卷積層和1 個全連接層,4 個卷積層全部采用ReLU 作為激活函數(shù),全連接層采用Swish 作為激活函數(shù),識別的準確率達到99.48%.

      3.2.2 CIFAR-10 數(shù)據(jù)集實驗結果分析

      針對CIFAR-10 數(shù)據(jù)集的測試中,分別采用C1F2、C2F2、C3F2 和C4F2 的4 個模型進行測試.單一激活函數(shù)的準確率見表5.C1F2、C2F2、C3F2 和C4F2 的4 個模型準確率前5 的激活函數(shù)組合方式分別見表6~表9.

      表5 單一激活函數(shù)在不同模型的識別準確率 %

      表6 模型C1F2 中激活函數(shù)組合識別準確率前5 的組合方式

      表7 模型C2F2 中激活函數(shù)組合識別準確率 前5 的組合方式

      表8 模型C3F2 中激活函數(shù)組合識別準確率前5 的組合方式

      表9 模型C4F2 中激活函數(shù)組合識別準確率前5 的組合方式

      從表5~表9 的實驗數(shù)據(jù)可知,除了C1F2 模型之外,其它3 個模型中組合的激活函數(shù)比單一的激活函數(shù)能取得更好的識別準確率.針對CIFAR-10 數(shù)據(jù)集,最好的模型是兩個卷積層和兩個全連接層,兩個卷積層分別采用ReLU 和Softplus 作為激活函數(shù), 兩個全連接層分別采用Softplus 和ReLU 作為激活函數(shù),識別的準確率達到86.74%.

      4 結語

      通過組合不同激活函數(shù)的實驗可以發(fā)現(xiàn),在MNIST 和CIFAR-10 數(shù)據(jù)集的圖像識別過程中,采用組合激活函數(shù)的模型可以比采用單一激活函數(shù)取得更好的識別準確率.MINST 數(shù)據(jù)集中, 模型選用4 個卷積層和1 個全連接層,4 個卷積層全部采用ReLU 作為激活函數(shù),全連接層采用Swish 作為激活函數(shù);CIFAR-10 數(shù)據(jù)集中,模型選用兩個卷積層和兩個全連接層,兩個卷積層分別采用ReLU 和Softplus 作為激活函數(shù),兩個全連接層分別采用Softplus 和ReLU 作為激活函數(shù).通過實驗數(shù)據(jù)可知,組合模型中,激活函數(shù)ReLU 使用最多,也證明的ReLU 函數(shù)具有更好的通用性.

      猜你喜歡
      池化層池化神經元
      基于緊湊型雙線性網絡的野生茵識別方法研究
      無線電工程(2024年8期)2024-09-16 00:00:00
      基于Sobel算子的池化算法設計
      卷積神經網絡中的自適應加權池化
      軟件導刊(2022年3期)2022-03-25 04:45:04
      《從光子到神經元》書評
      自然雜志(2021年6期)2021-12-23 08:24:46
      卷積神經網絡模型研究分析*
      基于卷積神經網絡的紙幣分類與點鈔
      基于深度學習卷積神經網絡的人體行為識別研究
      科技傳播(2020年6期)2020-05-25 11:07:46
      基于卷積神經網絡和池化算法的表情識別研究
      基于全卷積神經網絡的SAR圖像目標分類*
      躍動的神經元——波蘭Brain Embassy聯(lián)合辦公
      德州市| 延津县| 阿合奇县| 政和县| 漳浦县| 南康市| 大化| 莱西市| 永寿县| 巴彦淖尔市| 沁阳市| 类乌齐县| 阿勒泰市| 奉节县| 上饶县| 扎赉特旗| 汝南县| 平舆县| 始兴县| 巢湖市| 阿鲁科尔沁旗| 柳江县| 安庆市| 宁河县| 黄冈市| 德格县| 灵川县| 新巴尔虎左旗| 黑河市| 江山市| 汪清县| 徐汇区| 阳泉市| 乌兰察布市| 二手房| 桦川县| 伊川县| 潜江市| 阿城市| 清苑县| 安宁市|