趙馨宇, 黃福珍, 周晨旭
(1.上海電力大學(xué), 上海 200090; 2.上海市政工程設(shè)計(jì)研究總院(集團(tuán))有限公司, 上海 201900)
圖像特征的提取與分類一直是計(jì)算機(jī)視覺領(lǐng)域的重要研究方向。卷積神經(jīng)網(wǎng)絡(luò)提供了一種端到端的學(xué)習(xí)模型,模型中的參數(shù)可以通過傳統(tǒng)的梯度下降方法進(jìn)行訓(xùn)練,經(jīng)過訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)圖像中的特征,完成對(duì)圖像特征的提取和分類。近年來,卷積神經(jīng)網(wǎng)絡(luò)不斷得到改進(jìn),應(yīng)用領(lǐng)域進(jìn)一步擴(kuò)展,而在各個(gè)領(lǐng)域中不斷涌現(xiàn)出來的研究成果更使其成為了當(dāng)前研究熱點(diǎn)之一[1]。
卷積神經(jīng)網(wǎng)絡(luò)雛形可以追溯到1980年,由日本學(xué)者福島邦彥提出多層的人工神經(jīng)網(wǎng)絡(luò)。這個(gè)網(wǎng)絡(luò)層與層之間釆用十分稀疏的局部連接,對(duì)數(shù)據(jù)的輕微縮放和旋轉(zhuǎn)具有不變性,但是缺少對(duì)其訓(xùn)練的學(xué)習(xí)算法。之后涌現(xiàn)出對(duì)簡(jiǎn)單卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的反向傳播算法。到了1998年,由LECUN Y等人[2]提出了真正意義上的卷積神經(jīng)網(wǎng)絡(luò)——LeNet-5卷積神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)由于采用了局部連接、權(quán)值共享和子釆樣操作,在手寫字符識(shí)別中的成功應(yīng)用引起了廣泛的關(guān)注。同一時(shí)期,卷積神經(jīng)網(wǎng)絡(luò)在語音識(shí)別、物體檢測(cè)、人臉識(shí)別等方面的研究也逐漸開展起來,卷積神經(jīng)網(wǎng)絡(luò)進(jìn)入了廣泛研究時(shí)期。2012年,由KRIZHEVSKY A等人[3]提出的Alex Net,牛津大學(xué)的 VGG(Visual GeometryGroup)、Google的 GoogLeNet、微軟的ResNet等都在圖像分類等方面取得了成功。
在卷積神經(jīng)網(wǎng)絡(luò)中,起著決定性作用的是激活函數(shù)的選擇,不同的激活函數(shù)對(duì)于網(wǎng)絡(luò)的性能具有很大的影響。激活函數(shù)不同,所適用的網(wǎng)絡(luò)類型,甚至應(yīng)用領(lǐng)域也不同,而激活函數(shù)的選擇一般通過經(jīng)驗(yàn)或?qū)嶒?yàn)來確定。如若通過經(jīng)驗(yàn)來選擇,則可能出現(xiàn)不準(zhǔn)確或者無先驗(yàn)知識(shí)可尋的情況。若通過實(shí)驗(yàn)來選擇,由于訓(xùn)練算法等的參數(shù)需要一一確定最優(yōu)參數(shù),往往會(huì)出現(xiàn)工作量大且實(shí)驗(yàn)時(shí)間較長(zhǎng)的情況,所以激活函數(shù)的選擇成為了難點(diǎn)。
2013年,GOODFELLOW I J等人[4]提出了MAXOUT神經(jīng)網(wǎng)絡(luò),取一系列線性函數(shù)的最大值作為激活函數(shù)的激活值,利用多條線性函數(shù)擬合成局部線性的激活函數(shù),且當(dāng)線性函數(shù)數(shù)量趨于無窮時(shí),可以擬合成任意的函數(shù),MAXOUT神經(jīng)網(wǎng)絡(luò)的提出解決了激活函數(shù)選擇困難的問題。但是MAXOUT卷積神經(jīng)網(wǎng)絡(luò)也存在著明顯的缺點(diǎn),即激活值不稀疏。
針對(duì)該問題,有研究者提出將稀疏性引入MAXOUT卷積神經(jīng)網(wǎng)絡(luò)來改進(jìn)的方法:MIAO Y等人[5]提出可以采用非最大值掩碼,在保留最大值的情況下將其他值設(shè)為零;另一種方法是SRIVASTAVA R K等人[6]提出在pooling的局部區(qū)域中,除最大值以外其余設(shè)置為零。雖然這兩種方法引入了稀疏性,但是丟失了MAXOUT降維的優(yōu)點(diǎn)。線性修正單元(Rectified Linear Unit,ReLU)可以同時(shí)保留稀疏性和降維的優(yōu)點(diǎn)。
本文將通過ReLU對(duì)MAXOUT卷積神經(jīng)網(wǎng)絡(luò)引進(jìn)稀疏性并探討其改進(jìn)后的效果。
卷積神經(jīng)網(wǎng)絡(luò)是一種特殊的具有深度學(xué)習(xí)能力的人工神經(jīng)網(wǎng)絡(luò),能自動(dòng)學(xué)習(xí)圖像信號(hào)內(nèi)容的內(nèi)在特征[7]。它的特殊性體現(xiàn)在:一是相鄰兩層神經(jīng)元是局部連接而非全連接;二是同一層的部分神經(jīng)元的權(quán)值是共享的。基于這兩方面,卷積神經(jīng)網(wǎng)絡(luò)與其他的算法相比,減少了權(quán)值量,降低了復(fù)雜度;尤其在視覺方面優(yōu)勢(shì)顯著,大大提高了運(yùn)算效率。
作為前饋神經(jīng)網(wǎng)絡(luò)模型的一種,MAXOUT卷積神經(jīng)網(wǎng)絡(luò)與其他卷積神經(jīng)網(wǎng)絡(luò)不同之處在于激活函數(shù)上的選擇,不是選擇一般的激活函數(shù),而是采取MAXOUT單元的方式。對(duì)于給定的輸入x∈Rd(可見層或隱藏層的狀態(tài)),MAXOUT隱藏層實(shí)現(xiàn)的功能如下
hi(x)=max(zij),j∈[1,k]
(1)
zij=xTWij+bij
(2)
式中:hi(x)——輸出;
Wij——權(quán)值;
bij——偏置值。
Wij∈Rd×m,bij∈Rm是通過學(xué)習(xí)得到的。
MAXOUT卷積神經(jīng)網(wǎng)絡(luò)的特征圖是在k張仿射特征圖上按神經(jīng)元依次在對(duì)應(yīng)位置取最大值的方式得到的,具體如圖1所示。
圖1 MAXOUT卷積神經(jīng)網(wǎng)絡(luò)的特征圖
機(jī)器學(xué)習(xí)領(lǐng)域中,稀疏性的研究[8-9]一直都是熱點(diǎn),尤其在圖像識(shí)別方面,稀疏性相對(duì)來說具有更理想的分類效果。盡管MAXOUT神經(jīng)網(wǎng)絡(luò)在激活函數(shù)的選擇上有了很大的進(jìn)步,但是激活值一直存在不稀疏的缺點(diǎn),從而限制了分類精度,所以通過引入ReLU函數(shù)來提高稀疏性。
ReLU是一個(gè)分段函數(shù),若輸入值小于或者等于零,則結(jié)果為零;若輸入值大于零,則輸出值保持原值不變。定義式為:f(x)=max(0,x)。這種方法操作簡(jiǎn)單,只需要一個(gè)閾值獲取激活值,整個(gè)過程中會(huì)使得一些數(shù)據(jù)強(qiáng)制為零,但增加了訓(xùn)練之后網(wǎng)絡(luò)的稀疏性,更加符合神經(jīng)元信號(hào)激勵(lì)原理。這種操作不但使得參數(shù)間減少了相互依賴,而且對(duì)于過擬合問題的發(fā)生具有極大的緩解作用。
利用ReLU對(duì)k張仿射特征圖進(jìn)行映射,在得到的k張?zhí)卣鲌D中采取MAXOUT卷積神經(jīng)網(wǎng)絡(luò)的方法,按元素依次取最大值,最終將得到的特征圖中負(fù)值元素全置為零,其余元素保持不變。采用該方法優(yōu)點(diǎn)如下:相對(duì)于MAXOUT卷積神經(jīng)網(wǎng)絡(luò)引入了稀疏性;相對(duì)于非最大值掩碼的方法,保留了降維的優(yōu)點(diǎn);ReLU激活值大于零時(shí),其導(dǎo)數(shù)為1,基于ReLU的MAXOUT卷積神經(jīng)網(wǎng)絡(luò)算法相對(duì)于原始MAXOUT卷積神經(jīng)網(wǎng)絡(luò)在采用梯度下降法進(jìn)行學(xué)習(xí)時(shí)區(qū)別不大,所以非零元素的激活值沒有太大的差異。ReLU稀疏性原理如圖2所示。
圖2 ReLU稀疏性原理
本文實(shí)驗(yàn)數(shù)據(jù)集采用應(yīng)用廣泛的數(shù)字識(shí)別庫MINST和CIFAR-10數(shù)據(jù)集。
2.1.1 MINST
MINST數(shù)據(jù)集屬于NIST數(shù)據(jù)集的子集,是一個(gè)包含阿拉伯?dāng)?shù)字0~9手寫字體的數(shù)據(jù)集。NIST數(shù)據(jù)集訓(xùn)練集的作者來自于美國(guó)人工調(diào)查局員工,測(cè)試集的作者則來自于美國(guó)高中生,因?yàn)閮烧叩淖髡卟煌?所以訓(xùn)練集和測(cè)試集是完全獨(dú)立,沒有任何關(guān)聯(lián)的。MINST數(shù)據(jù)集的訓(xùn)練集與測(cè)試集有一半來自于NIST數(shù)據(jù)集的測(cè)試集,另一半來自于NIST數(shù)據(jù)集的訓(xùn)練集。MINST數(shù)據(jù)集共包括70 000張,其中訓(xùn)練集60 000張,測(cè)試集10 000張。該集合經(jīng)過了統(tǒng)一處理,數(shù)字均位于圖像中央,并且均為28×28的灰度圖像,像素值域?yàn)閇0,255]。MINST數(shù)據(jù)集的部分?jǐn)?shù)據(jù)樣本如圖3所示。由圖3可以看到,同一個(gè)數(shù)字因?yàn)槭謱懽髡卟煌?有著不同的形態(tài)。
圖3 MINST數(shù)據(jù)集的部分?jǐn)?shù)據(jù)樣本
2.1.2 CIFAR-10
CIFAR-10數(shù)據(jù)集屬于8千萬張小圖數(shù)據(jù)集的子集,包括60 000張32×32的彩色圖像,分為飛機(jī)、汽車、鳥、貓、鹿、狗、青蛙、馬、船、卡車10個(gè)種類,每種圖片6 000張。60 000張圖片中訓(xùn)練圖像50 000張,測(cè)試圖像10 000張。CIFAR-10數(shù)據(jù)集的部分圖像樣本如圖4所示。圖4中,每行圖像雖然是同一類物品,但是形狀、顏色、拍攝角度等方面存在較大的差異。
圖4 CIFAR10數(shù)據(jù)集的部分?jǐn)?shù)據(jù)樣本
本文通過研究基于ReLU稀疏性的MAXOUT卷積神經(jīng)網(wǎng)絡(luò)在MINST數(shù)據(jù)集和CIFAR-10兩個(gè)數(shù)據(jù)集中的分類情況,分別研究了感受野和池化層對(duì)于分類情況的影響,采用控制變量的方法,即其余變量不變,分別改變兩者之一的值來研究對(duì)于分類的影響。
2.2.1 感受野的影響
為了研究感受野(卷積核)對(duì)于稀疏性MAXOUT卷積神經(jīng)網(wǎng)絡(luò)的分類影響,在其他條件不變的情況下,取感受野的值分別為7×7,5×5,3×3,2×2,對(duì)比分析在MINST數(shù)據(jù)集和CIFAR-10數(shù)據(jù)集中的表現(xiàn)來判斷其影響。實(shí)驗(yàn)結(jié)果分別如圖5所示。
由圖5可以看出,理論上當(dāng)其他條件一致的情況下,感受野越小,分類錯(cuò)誤率越小,分類特性越好。但在實(shí)際情況下,感受野為1×1時(shí),即卷積比較小時(shí),卷積噪聲影響會(huì)很大,所以結(jié)合實(shí)際來看,感受野為3×3時(shí)結(jié)果比較理想。
2.2.2 池化層的影響
池化層的影響分為池化方法和池化大小的影響。
一是池化方法的影響。池化方法主要包括 mean pooling,max pooling和stochastic pooling 3種,分別測(cè)試這3種方法對(duì)于MINST數(shù)據(jù)集和CIFAR-10數(shù)據(jù)集的分類影響。實(shí)驗(yàn)結(jié)果中最好的數(shù)據(jù)分別如表1和表2所示。
圖5 MINST和CIFAR10數(shù)據(jù)集中不同感受野的結(jié)果
表1 MINST數(shù)據(jù)集中不同池化方法的實(shí)驗(yàn)結(jié)果 單位:%
表2 CIFAR10數(shù)據(jù)集中不同池化方法的實(shí)驗(yàn)結(jié)果 單位:%
由表1和表2可知,整體來看,3種池化方法中mean pooling的錯(cuò)誤率較高,分類性能較差;max pooling的錯(cuò)誤率較低,分類性能較理想。比較兩種數(shù)據(jù)集中3種池化方法的實(shí)驗(yàn)結(jié)果,差異較大。這是由于CIFAR-10數(shù)據(jù)集中的數(shù)據(jù)為色彩豐富的圖像,而MINST數(shù)據(jù)集中的數(shù)據(jù)為比較簡(jiǎn)單的數(shù)字,所以表2中錯(cuò)誤率遠(yuǎn)高于表1。
二是池化大小的影響。為了研究池化大小對(duì)于分類的影響,接下來選擇2×2,3×3,4×4,5×5這4種不同的池化尺寸來進(jìn)行比較。實(shí)驗(yàn)結(jié)果分別如圖6所示。
圖6 MINST和CIFAR10數(shù)據(jù)集中不同池化大小的分類結(jié)果
由圖6的實(shí)驗(yàn)結(jié)果可得,對(duì)于max pooling和mean pooling,池化的大小越小,錯(cuò)誤率越小,分類效果越好;而對(duì)于stochastic pooling,存在一個(gè)適當(dāng)?shù)某鼗叽?最理想的池化大小為3×3,因?yàn)槌鼗叽缣〉脑?會(huì)引起過擬合,而池化尺寸太大的話,會(huì)因?yàn)樵肼曔^多而增大誤差。
本文提出了通過ReLU函數(shù)對(duì)MAXOUT卷積神經(jīng)網(wǎng)絡(luò)引入稀疏性的方法,并在MINST數(shù)據(jù)集和CIFAR-10數(shù)據(jù)集上進(jìn)行性能測(cè)試實(shí)驗(yàn),主要從感受野和池化層兩方面進(jìn)行討論分析。實(shí)驗(yàn)結(jié)果表明,感受野越小,分類特性越好;而池化層的影響需要根據(jù)池化方法和池化尺寸的具體情況來具體分析。但是對(duì)于如何減少過擬合問題,仍需要進(jìn)一步的研究。