国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于密集卷積神經(jīng)網(wǎng)絡(luò)的全卷積池化算法

2021-08-09 10:53:20宋佳霏宋欣霞楊賀群黃若琳
智能計算機與應(yīng)用 2021年3期

宋佳霏 宋欣霞 楊賀群 黃若琳

摘 要: 目前用于圖像識別的大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)(CNN)都使用相同的原理構(gòu)建,即:卷積層、池化層、全連接層。文中使用密集卷積神經(jīng)網(wǎng)絡(luò)重新評估了用于圖像識別的所有組件,并對池化層不存在的必要性提出了質(zhì)疑。經(jīng)過實驗,分析發(fā)現(xiàn)池化層可以由步幅增加的卷積層代替,卻不會降低圖像識別的準確率。研究中則在DenseNets上訓練提出的由卷積層替代池化層的方法,組成新的卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),并在多個圖像分類的數(shù)據(jù)集(CIFAR-10,SVHN)上產(chǎn)生了先進的性能。本文提出了基于密集卷積神經(jīng)網(wǎng)絡(luò)(DenseNets)的全卷積池化算法,提高了圖像分類的準確率。最后,在多個經(jīng)典數(shù)據(jù)集上進行比較,實驗結(jié)果驗證了全卷積池化算法的高效性。

關(guān)鍵詞: 全卷積; 池化算法; DenseNets

文章編號: 2095-2163(2021)03-0066-04 中圖分類號:TP391.41 文獻標志碼:A

【Abstract】Most convolutional neural networks (CNN) currently used for image recognition are constructed using the same principles: convolutional layer, pooling layer, and fully connected layer. The paper re-evaluates all the components used for image recognition using dense convolutional neural networks and questions the need for the pooling layer to not exist. After experiments, it is found that the pooling layer can be replaced by a convolutional layer with an increased stride, but it will not reduce the accuracy of image recognition. The research also trains the proposed convolutional layer instead of the pooling layer on DenseNets to form a new convolutional neural network architecture, and produces advanced performance on multiple image classification data sets (CIFAR-10, SVHN). This paper proposes a fully convolutional pooling algorithm based on dense convolutional neural networks (DenseNets), which improves the accuracy of image classification. Finally, compared on multiple classic data sets, the experimental results verify the efficiency of the fully convolutional pooling algorithm.

【Key words】 fully convolutional; pooling algorithm; DenseNets

0 引 言

目前,卷積神經(jīng)網(wǎng)絡(luò)(CNNs)在計算機視覺領(lǐng)域占據(jù)了主導地位,因其在許多應(yīng)用中都具有出色的性能,例如圖像分類、物體檢測和姿態(tài)估計。從最初問世以來,對網(wǎng)絡(luò)體系結(jié)構(gòu)的探索一直是卷積神經(jīng)網(wǎng)絡(luò)模型研究的一部分。為了獲得更高的圖像分類精度,CNN的網(wǎng)絡(luò)架構(gòu)變得越來越深,越來越復雜[1-5]。在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的文獻中,F(xiàn)ahlman等人[6]已經(jīng)研究了類似于密集網(wǎng)絡(luò)結(jié)構(gòu)的級聯(lián)結(jié)構(gòu)。研究中是通過逐層方式訓練完全連接的多層感知器。如今,用于進行圖像分類的卷積神經(jīng)網(wǎng)絡(luò),組成結(jié)構(gòu)幾乎是相同的,包括卷積層、池化層以及全連接層。通常在卷積層、池化層、全連接層之間都會使用激活函數(shù)。此后在網(wǎng)絡(luò)的訓練期間進行層數(shù)的丟棄,從而實現(xiàn)網(wǎng)絡(luò)參數(shù)的優(yōu)化。在2014年ImageNet挑戰(zhàn)賽中,頂級參賽作品[7](Simonyan和Zisserman提出的)通過在池化層之間引入多個卷積或者Szegedy等人[1]提出的通過在每一個網(wǎng)絡(luò)層中構(gòu)建多個模塊的混合卷積池化層。但是分析后卻發(fā)現(xiàn)所有新增加的擴展層在不同的網(wǎng)絡(luò)體系結(jié)構(gòu)中都有自己的參數(shù)和訓練過程,因此在進行圖像分類的任務(wù)中,需要不斷實驗?zāi)軐崿F(xiàn)最先進的分類效果所實際需要哪些組件。根據(jù)以往的經(jīng)驗,可以先從最簡單的卷積層開始,即整個網(wǎng)絡(luò)的池化層完全被卷積層替代,可以使用步幅長度為2,以此來降低圖片的維度。由于在實現(xiàn)降低維度的過程中,是通過步幅為2的卷積層而不是池化層實現(xiàn)的,有研究學者Estrach等人[8]發(fā)現(xiàn)這也適用于神經(jīng)網(wǎng)絡(luò)的可逆性問題研究。

1 密集卷積神經(jīng)網(wǎng)絡(luò)模型

1.1 DenseNets模型結(jié)構(gòu)原理

DenseNets采用的是密集連接機制,即互相連接所有的層。每一層都會與前面所有層在channel維度上連接在一起,該層作為下一層的輸入,實現(xiàn)了特征重用的功能。DenseNets主要包括4個創(chuàng)新點,分別是:減少了梯度消失的問題;加強了圖像特征的傳遞;更有效地利用了圖像;一定程度上減少了參數(shù)數(shù)量。DenseNets網(wǎng)絡(luò)連接方式如圖1所示。

在DenseNets中會連接前面所有層作為輸入:DenseNets網(wǎng)絡(luò)中,X0,X1,...,Xl-1表示將0~l-1層的輸出圖像特征圖做通道的合并,就像Inception那樣。例如由圖1可看到,第X3層,是由X0,X1,X2的輸出作為輸入。就是在圖1中看到的黃色特征圖的輸入是由紅色、綠色、紫色特征圖的輸出組成。即前面所有層的輸出是這一層的輸入。也可以認為每一層都直接連接輸入層和損失函數(shù),所以可以減輕梯度消失現(xiàn)象。由此可知,在DenseNets中,特征傳遞方式是直接將前面所有層的特征concact后傳到下一層,Hl·代表非線性轉(zhuǎn)化函數(shù),是一個組合操作,采用的是BN+ReLU+3*3Conv結(jié)構(gòu)。如式(1)所示:

由于DenseNets采用的密集連接方式,所以需要圖像特征圖大小保持一致。所以在DenseNets網(wǎng)絡(luò)結(jié)構(gòu)中,使用Dense Block塊和Transition(Convolution、Pooling)結(jié)構(gòu)。Dense Block塊是包含很多層的模塊,每一個層需要圖像特征圖大小相同,層與層之間采用密集連接的方式。這樣就可以實現(xiàn)在每個Dense Block塊內(nèi)部的圖像特征圖大小統(tǒng)一,在進行concatenation操作時就不會出現(xiàn)特征圖大小不一致的問題。Transition是位于2個不同Dense Blocks塊之間,通過Pooling操作使圖像的特征圖大小降低。

1.2 池化模型理論

1.2.1 最大值池化算法

最經(jīng)典的池化方法之一是最大值池化。該方法是將原始的輸入數(shù)據(jù),進行采樣分塊實現(xiàn)區(qū)域選擇,選取每個區(qū)域位置的最大值。最大值池化的缺點是無法保留圖片的更多背景信息。最大值池化算法原理可寫為如下形式:

1.2.2 平均值池化算法

平均值池化也是先經(jīng)過采樣分塊后,再進行的是計算池化域中所有元素的平均值輸入到下一層。平均值池化并不會只考慮最大的特征,而是考慮全局的元素值。所以,平均值池化后將不會保留特征圖的最大特征信息。平均值池化算法公式可寫為:

但需要指出的是,如果特征圖中有很多零元素,則特征圖的特性將大大降低。

2 全卷積池化算法

本文在實驗中用步長為2的標準卷積層替換了DenseNets網(wǎng)絡(luò)中存在的池化層。為了驗證此種方案替換的可行性,這里涉及的用于定義CNNs中卷積層和池化層操作的數(shù)學公式為:

其中,f表示卷積神經(jīng)網(wǎng)絡(luò)中某一層產(chǎn)生的特征圖像。該特征圖可以將其描述尺寸為W×H×N的3維數(shù)組,而W表示寬度,H表示高度,N表示通道數(shù);k表示池化域的大小,k/2表示池化域一半的長度;步幅長度為r;gh,w,i,j,u=r·i+h,r·j+w,u是從s的位置映射到f的步長映射關(guān)系;p是階數(shù)范式。如果r>k,則池化區(qū)域不會重疊;但是,當前的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)通常包括k=3和r=2的池化重疊區(qū)域。

其實,池化層可以看作是按特征圖大小進行卷積,其中將激活函數(shù)替換為p范式。因此,在這里有一個疑問,為什么要在網(wǎng)絡(luò)層中引入這種特殊的層。也就是說池化層為什么可以幫助CNNs更好地提取特征。本次研究給出3種解釋:p范式表示的CNNs更加具有不變性;通過池化操作后的空間維數(shù)會減少,在較高層中網(wǎng)絡(luò)有可能會輸入較大的圖像;池化操作的特征提取功能可以使網(wǎng)絡(luò)優(yōu)化變得更加容易。

研究中先假設(shè)只有通過池化執(zhí)行的降維操作對CNNs有著至關(guān)重要的作用。現(xiàn)在就可以用步長大于1的普通卷積層替換池化層。比如說對于k=3且r=2的池化層,可將其替換為具有相應(yīng)步幅和卷積核大小的卷積層,輸出通道數(shù)等于輸入通道數(shù)。其實刪除池化層的研究已然有了一些工作成果,LeCun等人[9]提出將池化層稱為子采樣層,這就指出后續(xù)研究可以使用不同的操作進行子采樣。

3 實驗分析

3.1 實驗環(huán)境

在本次研究中,所有的實驗都是在內(nèi)存大小為32 G RAM,操作系統(tǒng)是Ubuntu16.04 LTS的計算機上運行。使用開源的機器視覺庫OpenCV,深度學習框架為TensorFlow。可公開獲得的cuda-convnet[10]軟件包用于使用單個NVIDIA GeForce GTX 1080TI GPU進行實驗,另外CPU版本為Intel(R) Core(TM) i7-8700 CPU@3.20 GHz 3.19 GHz。以上算法均采用Python語言實現(xiàn)。

3.2 數(shù)據(jù)集

本文所使用的數(shù)據(jù)CIFAR-10數(shù)據(jù)集包括10個類別,是由32*32像素的自然彩色圖像組成的集合。研究中遵循CIFAR-10的通用實驗協(xié)議,即選擇50 000張圖像進行訓練,選擇10 000張圖像進行測試。實驗中網(wǎng)絡(luò)的參數(shù)是通過10 000張在驗證集上的錯誤率來選擇的。過程中仍然遵循標準Nesterov Adam優(yōu)化器,其momentum為0.9,mini-batch(最小批量)為128。

街景門牌號碼(SVHN)數(shù)據(jù)集,包含了32*32彩色數(shù)字圖像。訓練集中有73 257張圖像,測試集中有26 032張圖像,驗證集有531 131張圖像。仿真時是按照3:1的比例劃分訓練集和測試集,同時使用momentum為0.9的動量和0.000 1的權(quán)重衰減來訓練網(wǎng)絡(luò)。最小批量大小設(shè)置為128,初始學習率設(shè)置為0.001。同樣,訓練100個epochs,每個epoch有20次迭代。

3.3 實驗結(jié)果及分析

為了驗證本文提出的全卷積替代池化的算法對圖像分類的效果,文中是以DenseNets網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),比較了3組使用不同池化方法的實驗。與最大值池化和平均值池化進行了比較,以此證明網(wǎng)絡(luò)性能的提高。實驗在2個基準圖像分類數(shù)據(jù)集上評估了性能,包括CIFAR-10和SVHN數(shù)據(jù)集。

在CIFAR-10數(shù)據(jù)集上的實驗結(jié)果見表1,在DenseNets中針對all-conv pooling操作后100個epochs后圖像分類在訓練集和測試集上的準確率的變化趨勢見圖2。從表1和圖2中可以看出,DenseNets中所提出的all-conv pooling在測試集上的準確性分別為90.48%。所提出的all-conv pooling在測試集上的準確率明顯高于DenseNets中平均值池化和最大值池化的準確率。這也證明了所提出的all-conv pooling優(yōu)于DenseNets中現(xiàn)有的最先進的最大值池化和平均值池化的結(jié)果。另外,還可以在圖2中看到,隨著DenseNets中的3種池化方法在CIFAR-10數(shù)據(jù)集上訓練的epochs增加,測試集上的準確率和訓練集上的準確率的總體趨勢是越來越好。研究中提出的all-conv pooling是具有最高的圖像分類準確率。這表明所提出的all-conv pooling優(yōu)于DenseNets中的其他2種經(jīng)典池化方法,即:平均值池化和最大值池化,并且可以解決過擬合問題。

在SVHN數(shù)據(jù)集上的實驗結(jié)果見表2,在實驗過程中同樣訓練100個epochs。圖3展示了在測試集上的準確率和訓練集上的準確率。由圖3可以看出,在測試集上DenseNets中all-conv pooling的準確率為94.70%。具有all-conv pooling的DenseNets超過了傳統(tǒng)的平均值池化和最大值池化,獲得當前的最佳結(jié)果。另外,由圖3中也可以看到,在DenseNets中,對于3種池化方法,隨著SVHN數(shù)據(jù)集上訓練輪數(shù)的增加,測試集上的準確率和訓練集上的準確率的總體趨勢會越來越好。all-conv pooling具有最高的測試準確率。研究所提出的all-conv pooling通過比較得知,證明了所提出的all-conv pooling的優(yōu)越性。

4 結(jié)束語

針對卷積神經(jīng)網(wǎng)絡(luò)池化層中經(jīng)典的最大值池化和平均值池化無法更詳細地提取圖像特征圖的有效信息。本文對DenseNets網(wǎng)絡(luò)結(jié)構(gòu)的池化層進行了優(yōu)化,提出了新的卷積層替代池化層的方法從而學習到原圖像特征圖中更多的有用特征。本文利用CIFAR-10和SVHN數(shù)據(jù)集對all-conv pooling方法進行測試,2組數(shù)據(jù)集均不做數(shù)據(jù)增強處理,并根據(jù)同一評價指標對比分析了相應(yīng)的圖像結(jié)果,實驗結(jié)果表明,all-conv pooling方法能提高圖像分類的準確度。

參考文獻

[1] ?SZEGEDY C, LIU Wei, JIA Yangqing, et al. Going deeper with convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Boston, MASSACHUSETTS: IEEE,2015:1-9.

[2] SIMONYAN ?K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.

[3] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA:IEEE, 2016:770-778.

[4] XIE S, GIRSHICK R, DOLLAR P, et al. Aggregated residual transformations for deep neural networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu, Hawaii:IEEE, 2017:5987-5995.

[5] HOWARD A G, ZHU Menglong, CHEN Bo, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv:1704.04861, 2017.

[6] FAHLMAN S E, LEBIERE C. The cascade-correlation learning architecture[M]// TOURETZKY D S. Advances in Neural Information Processing Systems2(NIPS). Los Altos, CA:Morgan Kaufmann, 1990:524-532.

[7] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.

[8] JOAN B, ARTHUR S, LECUN Y. Signal recovery from pooling representations[C]//1st International Conference on Machine Learning(ICML 2014). Beijing, China:International Machine Learning Society(IMLS), 2014:1585-1598.

[9] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998,86(11):2278-2324.

[10]KRIZHEVSKY A. cuda-convnet[EB/OL]. http://code.google.com/p/cuda-convnet/.

赫章县| 昭觉县| 醴陵市| 阿克| 商丘市| 通州市| 杭锦后旗| 嘉兴市| 常熟市| 油尖旺区| 米林县| 光泽县| 平昌县| 抚远县| 江口县| 波密县| 丽江市| 辽宁省| 平湖市| 长海县| 沁水县| 灯塔市| 元氏县| 鲁甸县| 张家界市| 来安县| 河南省| 德清县| 峨眉山市| 慈利县| 鄂托克前旗| 永德县| 扬中市| 仁怀市| 阿图什市| 宜黄县| 乐都县| 仙居县| 滦南县| 个旧市| 陆川县|