劉國柱,趙鵬程,于 超,王曉甜
(青島科技大學 信息科學技術學院,山東 青島266061)
卷積神經(jīng)網(wǎng)絡是一種典型的多層前饋人工神經(jīng)網(wǎng)絡。激活函數(shù)則是人工神經(jīng)網(wǎng)絡模型中不可缺少的重要組成部分。通常在大多數(shù)人工神經(jīng)網(wǎng)絡中所使用的激活函數(shù)多為Sigmoid、Ramp(ReLU)、Tanh等單調、非周期性的非線性函數(shù)。并且在多層卷積神經(jīng)網(wǎng)絡中,通常都會使用同一種激活函數(shù),而幾乎不會同時使用多種激活函數(shù)。大多數(shù)人并不認可Sinusoid函數(shù)作為神經(jīng)網(wǎng)絡中激活函數(shù)的能力,因為它并不單調。而早 在1987 年,LAPEDES 與FARBER 首 先 成 功地建立了使用Sinusoid函數(shù)作為激活函數(shù)的具有一個隱藏層的神經(jīng)網(wǎng)絡[1]。他們將此解釋為廣義的傅里葉分解。最近的一個研究工作中,GASHLER 和ASH MORE 在深度神經(jīng)網(wǎng)絡中使用了Sinusoid,Linear和ReLU 函數(shù)作為激活函數(shù)用于預測時間序列數(shù)據(jù)[2]。ALEXANDER、MAXIMILIAN 和ALEXANDER 在簡單進化網(wǎng)絡(evolving parsimonious networks)中使用了混合激活函數(shù)[3]。而在卷積神經(jīng)網(wǎng)絡中使用Sinusoid函數(shù)作為激活函數(shù)進行圖像分類任務以及在卷積神經(jīng)網(wǎng)絡中使用混合激活函數(shù)的有關工作尚缺乏。
本研究將Sinusoid(Sin)函數(shù)作為激活函數(shù)引入到多層卷積神經(jīng)網(wǎng)絡中,建立了一個使用混合激活函數(shù)的多層卷積神經(jīng)網(wǎng)絡模型,并在圖像分類任務中對其收斂速度和識別效果進行了研究。另外,也將該模型同其他研究者所使用的一些圖像分類算法在分類效果上進行了對比。
提出一個使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型。作為對照,在保持神經(jīng)網(wǎng)絡的基礎結構不變的情況下,分別將每個神經(jīng)網(wǎng)絡中各單元所使用的激活函數(shù)替換為其他4種激活函數(shù)中的同一種函數(shù),建立其他4個神經(jīng)網(wǎng)絡模型。
對于使用任意有界、連續(xù)的非常數(shù)函數(shù)作為激活函數(shù)的標準多層前饋神經(jīng)網(wǎng)絡而言,HORNIK 的研究表明通用逼近理論[4]仍然適用。只要在輸出有界的情況下,這類網(wǎng)絡能夠以任意精度逼近任何實值連續(xù)函數(shù)[5-6]。
因此激活函數(shù)的具體選取,理論上不會影響神經(jīng)網(wǎng)絡的表達能力。
函數(shù)Sinusoid:f(x)=sin(x)為在實數(shù)域上連續(xù)有界的非常數(shù)函數(shù)。在多層卷積神網(wǎng)絡中使用Sinusoid激活函數(shù)是可行的。
基于相關工作和理論基礎[1-6],在構建的5 個卷積神經(jīng)網(wǎng)絡模型中使用了4種激活函數(shù),如圖1所示,分別為Sinusoid:f(x)=Sin(x),Ramp:。
圖1 神經(jīng)網(wǎng)絡所使用的4種激活函數(shù):Sinusoid,Ramp,Sigmoid,TanhFig.1 Four activation functions used in neural networks:Sinusoid,Ramp,Sigmoid,Tanh
由LECUN 等[7]提出的Le Net-5是一種已經(jīng)被廣泛使用的經(jīng)典多層卷積神經(jīng)網(wǎng)絡模型。該網(wǎng)絡原始結構如圖2所示,不包括輸入層其總共有7層,其輸入數(shù)據(jù)為大小32×32×3的圖像。其第1層為卷積層,卷積核大小為5×5;第2層為池化層,采樣區(qū)域大小為2×2;第3層為卷積層,卷積核大小為5×5;第4層為池化層,采樣區(qū)域的大小為2×2;其他層為全連接層。該網(wǎng)絡在第1層與第2層之間、第3層與第4層之間和第5層與第6層之間全部使用Sigmoid激活函數(shù)。
S-S-R LeNet-5:以原始LeNet-5 為基本結構,如圖2所示,將其中第4、第9節(jié)點所使用激活替換為Sinusoid函數(shù),將第15節(jié)點替換為Ramp函數(shù)。
Ramp LeNet-5:以LeNet-5 為基本結構,將第4、第9和第15節(jié)點全部替換為Ramp函數(shù)。
Sinusoid LeNet-5:以Le Net-5 為基本結構,將第4、第9和第15節(jié)點全部替換為Sinusoid函數(shù)。
Tanh Le Net-5:以LeNet-5 為基本結構,將第4、第9和第15節(jié)點全部替換為Tanh函數(shù)。它們的網(wǎng)絡層次結構依次如圖3所示。
圖2 LeNet-5網(wǎng)絡結構Fig.2 LeNet-5 network structure
圖3 S-S-R LeNet-5,Ramp LeNet-5,Sinusoid LeNet-5,Tanh LeNet-5網(wǎng)絡結構Fig.3 S-S-R LeNet-5,Ramp LeNet-5,Sinusoid LeNet-5,Tanh LeNet-5 network structure
本研究中所使用的數(shù)據(jù)集為CIFAR-10[8]數(shù)據(jù)集和MNIST 數(shù)據(jù)集。
其中,CIFAR-10數(shù)據(jù)集在圖像分類任務中被廣泛使用。它包括了10類共60 000張大小為32*32的彩色圖片,每個類有6 000張圖片。其中訓練集包括50 000張圖片,測試集有10 000張圖片。該數(shù)據(jù)集中所包含的圖片分為Airplane、Automobile、Bird、Cat、Deer、Dog、Frog、Horse、Ship、Truck 共十類。
MNIST 數(shù)據(jù)集是一個公開的手寫數(shù)字數(shù)據(jù)集,該數(shù)據(jù)集由一個具有60 000個樣本的訓練集和一個具有10 000個樣本的測試集組成。樣本的標簽值為0到9的10個數(shù)字,共10類。該數(shù)據(jù)集中每一個樣本均為大小為28*28的灰階圖片。
實驗設備所使用的中央處理器為Intel(R)Core(TM)i7-7700 HQ@2.80 GHz;內存大小為8 GB;圖形處理器為NVIDIA GeForce GTX 1050Ti;實驗設備使用的操作系統(tǒng)為Windows 10專業(yè)版操作系統(tǒng)。
以S-S-R LeNet-5混合激活函數(shù)卷積神經(jīng)網(wǎng)絡為實驗模型,用其他4個模型作對照。對于上述的每一個模型,均使用ADAM[9]優(yōu)化算法來訓練,5個神經(jīng)網(wǎng)絡模型全部采用隨機初始化方法進行權重初始化。
在驗證圖像分類任務中混合激活函數(shù)卷積神經(jīng)網(wǎng)絡S-S-R Le Net-5模型的分類精度和收斂速度優(yōu)勢的實驗中,將使用CIFAR-10數(shù)據(jù)集來訓練5個模型,訓練模型時,將使用CIFAR-10數(shù)據(jù)集中訓練數(shù)據(jù)集的所有圖片樣本,批處理大小均設為64,總訓練次數(shù)為6次。底層使用MXnet深度學習框架進行訓練和評估。
在驗證圖像分類任務中混合激活函數(shù)卷積神經(jīng)網(wǎng)絡S-S-R LeNet-5模型的分類精度同其他研究者的分類算法相比具有競爭力的實驗中,將使用MNIST 數(shù)據(jù)集中訓練集的所有60 000個樣本來訓練S-S-R LeNet-5模型。本實驗使用的優(yōu)化算法同上一個實驗保持一致,總訓練次數(shù)修改為35次。由于MNIST 數(shù)據(jù)集中的訓練樣本數(shù)量比CIFAR-10數(shù)據(jù)集中的訓練樣本數(shù)量多10倍,為了提高模型的訓練速度,本實驗將批處理大小修改為5 000,以加速模型的訓練過程。
為了比較使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡S-S-R LeNet-5模型和使用單一激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型在圖像分類任務中識別準確率以及收斂速度的表現(xiàn),實驗設置了Sigmoid LeNet-5、Tanh LeNet-5、Ramp LeNet-5、Sinusoid Le Net-5共4種使用單一激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型作為對照模型。表1展示了上述5種神經(jīng)網(wǎng)絡模型在CIFAR-10數(shù)據(jù)集中測試集上的識別準確率。
表1 各模型在CIFAR-10測試集上的分類精度Table 1 Classification accuracy of each model on the CIFAR-10 test set
表1中的數(shù)據(jù)可以表明,同Ramp LeNet-5模型和Tanh LeNet-5模型相比較,S-S-R LeNet-5模型的識別準確率分別提高了1.52%和1.78%,而與Sigmoid LeNet-5模型相比,其分類準確率要高14.44%。同其他4種模型相比,S-S-R LeNet-5模型的識別準確率指標均有顯著提高,且S-S-R LeNet-5模型具有最高的圖像識別準確率,達到了68.04%。
上述實驗結果和分析表明了使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型在圖像分類任務中的識別準確率具有明顯的提升。同時該實驗從另一個方面表明,激活函數(shù)的類型是神經(jīng)網(wǎng)絡在圖像分類任務中識別準確率指標的重要影響因素,在保持神經(jīng)網(wǎng)絡基本結構不變的條件下,僅通過改變激活函數(shù)的組合,使用混合激活函數(shù)即取得了更高的識別準確率。
另外為了比較上述5種模型的收斂速度表現(xiàn),驗證使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡S-S-R LeNet-5模型具有更快的收斂速度,對5種模型在CIFAR-10數(shù)據(jù)集上的訓練過程進行了統(tǒng)計和分析。
對于深度神經(jīng)網(wǎng)絡模型而言,模型在訓練階段的學習曲線(包括訓練識別錯誤率學習曲線、訓練損失學習曲線兩種)表現(xiàn)了在訓練過程中相應模型的收斂速度。本實驗中5種模型的訓練識別錯誤率學習曲線和訓練損失學習曲線結果分別如圖4和圖5所示。此外,統(tǒng)計了5種神經(jīng)網(wǎng)絡模型的總訓練時間、最終訓練損失和最終訓練準率,結果如表2所示。
圖4 5種網(wǎng)絡分類錯誤率隨著訓練次數(shù)的改變情況Fig.4 Five networks classification error rates change with the number of training times
圖5 5種網(wǎng)絡訓練損失隨著訓練次數(shù)的改變情況Fig.5 Five networks training cost change with the number of training times
表2中的數(shù)據(jù)表明:在相等的27 s總訓練時間里,5種模型中使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡S-S-R LeNet-5模型所取得的最終訓練損失最低,達到了0.372 7;取得的最終訓練準確率最高,達到了92.54%。另外結合圖4與圖5所示的兩種學習曲線進行分析可知,使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡S-S-R LeNet-5模型在5種模型的訓練過程中具有最快的收斂速度。相比于其他4種使用單一激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型,其訓練過程中的收斂速度具有較大提升。
表2 各模型的總訓練時間、最終訓練損失和最終訓練準確率Table 2 Classification accuracy of each model on the CIFAR-10 test set
值得注意的是,從上述兩個實驗的結果中可以發(fā)現(xiàn),使用Sinusoid LeNet-5模型在圖像分類任務中的識別準確率和訓練收斂速度方面,同其他使用經(jīng)典激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型相比,取得了較為優(yōu)秀的表現(xiàn)。實驗數(shù)據(jù)驗證了Sinusoid函數(shù)作為神經(jīng)網(wǎng)絡激活函數(shù)使用的可行性。
最后,為了驗證S-S-R LeNet-5 模型在其他圖像分類數(shù)據(jù)集上同樣有有效,且在識別準確度指標上同其他研究者的分類算法相比具有競爭力,在MNIST 數(shù)據(jù)集上重新初始化并訓練了S-S-R LeNet-5模型。在MNIST 數(shù)據(jù)集上進行圖像分類的算法有許多種,選取了反條紋支持向量機(IFSVM)[10]、多層感知機(MLP)[11]、一種著名的深度卷積神經(jīng)網(wǎng)絡(Alex Net)[12]、模糊受限玻爾茲曼機(FRBM)[13]4種算法在MNIST 測試數(shù)據(jù)集上同SS-R LeNet-5模型就分類準確率指標進行對比,其中IFSVM 算法的分類結果來自參考文獻[13],其他3種對比算法的分類結果來自參考文獻[14]。上述各算法在MNIST 測試數(shù)據(jù)集上的分類準確率如表3所示。
表3 各模型在MNIST測試集上的分類精度Table 3 Classification accuracy of each model on the MNIST test set
通過分析表3中的有關數(shù)據(jù),使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡S-S-R LeNet-5模型在MNIST測試數(shù)據(jù)集上達到了99.20%的分類準確率,高于其他4種對比算法。該實驗驗證了S-S-R LeNet-5模型同樣適用于其他圖像分類數(shù)據(jù)集,且相比于其他研究者的算法,本模型在圖像分類準確率指標方面具有競爭力。
使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型S-S-R LeNet-5模型在圖像分類任務中的識別準確率達到了68.08%,明顯高于其他4種使用單一激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型;使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型S-S-R LeNet-5 具有更快的收斂速度,在訓練集上取得了更高的識別準確率;圖像分類實驗初步驗證了在多層卷積神經(jīng)網(wǎng)絡中使用Sinusoid函數(shù)作為激活函數(shù)的可行性,實驗數(shù)據(jù)表明Sinusoid LeNet-5模型相較于使用傳統(tǒng)激活函數(shù)的Sigmoid LeNet-5模型,在圖像分類任務方面具有更高的準確率;同其他研究者的工作進行對比,雖然使用混合激活函數(shù)的卷積神經(jīng)網(wǎng)絡模型初步展現(xiàn)出有競爭力的精度優(yōu)勢,但在其他任務中該類模型的性能表現(xiàn)有待進一步研究,未來的工作方向可探索此類模型在回歸任務上的表現(xiàn)。