亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        改進(jìn)的輕量型網(wǎng)絡(luò)在圖像識(shí)別上的應(yīng)用

        2021-04-11 12:49:20肖振久楊曉迪唐曉亮
        計(jì)算機(jī)與生活 2021年4期
        關(guān)鍵詞:特征提取深度

        肖振久,楊曉迪+,魏 憲,唐曉亮

        1.遼寧工程技術(shù)大學(xué)軟件學(xué)院,遼寧葫蘆島 125105

        2.中國(guó)科學(xué)院海西研究院泉州裝備制造研究所,福建晉江 362200

        隨著AlexNet[1]在圖像分類領(lǐng)域ImageNet 競(jìng)賽中取得優(yōu)異的成績(jī),卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)開始廣泛應(yīng)用在計(jì)算機(jī)視覺(jué)領(lǐng)域中。至此以后,各種新型的網(wǎng)絡(luò)結(jié)構(gòu)不斷被提出,如ConvNet[2]、VGG[3](visual geometry group)和ResNet[4]等。這些網(wǎng)絡(luò)結(jié)構(gòu)大多使用卷積層與池化層的組合提取圖像的特征并使用全連接層(fully-connected layer,F(xiàn)C)對(duì)圖像進(jìn)行分類,但采用傳統(tǒng)卷積方式會(huì)帶來(lái)較大的計(jì)算成本,而用全連接層訓(xùn)練的模型會(huì)消耗較大的存儲(chǔ)空間。通常,一種解決這些問(wèn)題的方式是對(duì)訓(xùn)練好的模型進(jìn)行網(wǎng)絡(luò)剪枝、網(wǎng)絡(luò)蒸餾[5]等,最終使得模型具有輕量且準(zhǔn)確度高的網(wǎng)絡(luò)。另一種是直接設(shè)計(jì)出輕量級(jí)的神經(jīng)網(wǎng)絡(luò)架構(gòu)[6]。在第二種方法上,有些學(xué)者通過(guò)壓縮卷積過(guò)濾器,提出了SqueezeNet[7]及SqueezeNext[8]方法,并使用了Batch Normalization[9]來(lái)加快訓(xùn)練網(wǎng)絡(luò)時(shí)的收斂過(guò)程。有些學(xué)者從特征提取的角度出發(fā),利用深度可分離卷積提出了MobileNet[10]。類似設(shè)計(jì)輕量化卷積結(jié)構(gòu)的方法還有Inception[11]、Xception[12]、ShuffleNet[13-14]和ThunderNet[15]等。從而使得深度可分離卷積在人臉識(shí)別[16]、目標(biāo)檢測(cè)、圖像分割[17]等領(lǐng)域得到廣泛應(yīng)用。

        但這些方法都是針對(duì)特征提取模塊的改進(jìn),Lin等[18]提出NIN(network in network)網(wǎng)絡(luò),采用全局平均池化(global average pooling,GAP)替換全連接層用于控制模型規(guī)模,但全局平均池化嚴(yán)重依賴于特征提取模塊輸出特征圖的質(zhì)量,若特征圖包含的特征較多,全局池化會(huì)丟失許多有用信息,同時(shí)也會(huì)造成模型訓(xùn)練收斂速度降低等問(wèn)題。吳進(jìn)等[19]提出用卷積層直接替換全連接層的方法,并用多個(gè)小卷積逐層縮小特征圖的方法達(dá)到了一定的壓縮效果。Zhou 等[20]提出了克羅內(nèi)克積(Kronecker product,KP)的方法應(yīng)用于分類器模塊,在SVHN和ImageNet數(shù)據(jù)集上能夠?qū)崿F(xiàn)10倍的壓縮率,且精度只有1%的損失。Jose 等[21]提出了一種克羅內(nèi)克循環(huán)單元(Kronecker recurrent units,KRU)用于分解循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)中的權(quán)重矩陣,這種方法在降低參數(shù)量的同時(shí)還能在一定程度上解決網(wǎng)絡(luò)訓(xùn)練過(guò)程中梯度消失和梯度爆炸問(wèn)題。Thakker 等[22-23]為應(yīng)用于移動(dòng)互聯(lián)網(wǎng)設(shè)備,進(jìn)一步利用克羅內(nèi)克積壓縮循環(huán)神經(jīng)網(wǎng)絡(luò),取得了38 倍的壓縮率,同時(shí)可以有效解決自然語(yǔ)言處理(natural language processing,NLP)任務(wù)中模型規(guī)模大的問(wèn)題。

        為解決上述只單一優(yōu)化特征提取模塊或分類器模塊帶來(lái)的局限性,本文側(cè)重在分類器模塊上運(yùn)用克羅內(nèi)克積方法,同時(shí)在特征提取模塊上結(jié)合深度可分離卷積、ResNet 殘差結(jié)構(gòu),旨在圖像分類任務(wù)中更大限度降低計(jì)算量及存儲(chǔ)空間。通過(guò)大量實(shí)踐,設(shè)計(jì)了一個(gè)能夠?qū)崿F(xiàn)端到端的稱為sep_res18_s3 的網(wǎng)絡(luò)架構(gòu),該架構(gòu)用克羅內(nèi)克積方法設(shè)計(jì)了3 層separable 模塊,并在特征提取模塊上設(shè)計(jì)了一層卷積和一個(gè)18 層的深度可分離殘差模塊。實(shí)驗(yàn)結(jié)果表明,該網(wǎng)絡(luò)結(jié)構(gòu)相比只用ResNet 殘差結(jié)構(gòu)或只用深度可分離卷積網(wǎng)絡(luò),可以在分類任務(wù)中更好權(quán)衡網(wǎng)絡(luò)模型的精度和存儲(chǔ)空間。

        1 提出方法

        在這一部分,首先介紹在分類器模塊中用克羅內(nèi)克積方法替換全連接層權(quán)重矩陣的實(shí)現(xiàn)原理,然后介紹了在特征提取模塊設(shè)計(jì)可分離殘差模塊的原理,最后介紹了權(quán)衡網(wǎng)絡(luò)寬度、深度進(jìn)一步改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)的方法,并給出了一系列可以實(shí)現(xiàn)端到端訓(xùn)練的網(wǎng)絡(luò)架構(gòu)。

        1.1 克羅內(nèi)克積替換全連接層權(quán)重矩陣原理

        深度神經(jīng)網(wǎng)絡(luò)的一個(gè)全連接層可以理解為輸入向量到輸出向量的映射??紤]到一個(gè)輸入樣本的情形,若輸入向量X∈?m×1,輸出向量為Y∈?n×1,全連接層可以表示為:

        其中,W∈?n×m和b∈?n×1分別表示權(quán)重矩陣和偏置,σ(?)表示非線性激活函數(shù),權(quán)重矩陣W的大小由輸入向量和輸出向量共同決定。全連接某層的參數(shù)量r和浮點(diǎn)運(yùn)算次數(shù)(floating point of operations,F(xiàn)LOPs)o可以表示為:

        當(dāng)全連接層輸入向量X∈?m×1與輸出向量Y∈?n×1的維度很大時(shí),容易導(dǎo)致網(wǎng)絡(luò)參數(shù)爆炸問(wèn)題。如VGG16 有三層全連接層,整個(gè)網(wǎng)絡(luò)架構(gòu)中有90%的參數(shù)都源自于此。為了緩解多層感知機(jī)參數(shù)量大的問(wèn)題,提出了一種分離全連接權(quán)重矩陣的方法。這一方法將權(quán)重矩陣W∈?n×m分解為兩個(gè)較小權(quán)重矩陣,并且W等于兩個(gè)小參數(shù)矩陣的克羅內(nèi)克積:

        且滿足n=n1n2,m=m1m2,由式(1)、式(2)可知:

        其中,vec-1(*)為把一個(gè)列向量轉(zhuǎn)化為對(duì)應(yīng)的矩陣操作,因此,可以將式(1)全連接層改寫為式(5)中輸入矩陣vec-1(X)∈與兩個(gè)小參數(shù)矩陣A∈和BT∈的乘積再加上一個(gè)偏置矩陣vec-1(b)∈,小參數(shù)矩陣可以用反向傳播算法學(xué)習(xí)。為對(duì)比需要,在公式或表格中用FC 表示全連接層,把替換全連接層的這種方式稱為separable 層。vec-1(Y)∈是separable 層的輸出,vec-1(X)∈是separable層的輸入,vec-1(b)∈是可學(xué)習(xí)的偏置。

        圖1 為式(5)第一行的全連接層替換為第三行separable層的過(guò)程。

        Fig.1 Schematic diagram of replacing fully connected layer with separable layer圖1 全連接層替換為separable層示意圖

        因此,一層separable的參數(shù)量為n1m1+n2m2+n1n2,一層FC 的參數(shù)量為n1m1×n2m2+n1n2。若兩者均不考慮偏置參數(shù)帶來(lái)的影響,參數(shù)之比可以表示為:

        因?yàn)閚1,n2,m1,m2?1,可推知,因此separable層相比FC 層可以極大程度降低參數(shù)量。

        由于一個(gè)separable 層包含兩次矩陣乘法運(yùn)算,運(yùn)算復(fù)雜度為O(m1×m2×n1+m2×n2×n1),而一層全連接層的運(yùn)算復(fù)雜度為O(m1×m2×n1×n2),兩者運(yùn)算復(fù)雜度之比可以表示為:

        因?yàn)閚2,m1?1,由式(4)可推知separable 層相比FC 層可以在降低參數(shù)量的同時(shí)降低運(yùn)算成本。

        當(dāng)m1=m2=n1=n2,如VGG16 第二層全連接權(quán)重矩陣為W1∈?4096×4096,可以分解為A1∈?64×64和B1∈?64×64的克羅內(nèi)克積,則使用separable 層替換該層全連接可分別使參數(shù)量和計(jì)算量減少99.95%和96.88%。

        1.2 深度可分離殘差模塊

        深度可分離卷積是一種應(yīng)用于特征提取模塊的輕量化結(jié)構(gòu),自從在MobileNet 網(wǎng)絡(luò)架構(gòu)中大量運(yùn)用此結(jié)構(gòu)后,這種較新的網(wǎng)絡(luò)結(jié)構(gòu)不斷被應(yīng)用于各種領(lǐng)域,如目標(biāo)檢測(cè)[24]、圖像語(yǔ)義分割[25]等。圖2(a)黃色部分為傳統(tǒng)的標(biāo)準(zhǔn)3D 卷積核,圖2(b)、(c)綠色部分為深度可分離卷積組成結(jié)構(gòu)。分別將標(biāo)準(zhǔn)3D 卷積核分解成一個(gè)逐通道處理的二維(2D)卷積核和一個(gè)跨通道的1×1 大小的3D 卷積核。如果不考慮偏置參數(shù),根據(jù)圖2(a),標(biāo)準(zhǔn)3D 在某一卷積層進(jìn)行卷積的參數(shù)量R1和計(jì)算量分別為:

        Fig.2 Comparison between traditional convolution filters and depthwise separable convolution filters圖2 傳統(tǒng)卷積核與深度可分離卷積核對(duì)比

        其中,DK×DK為卷積核尺寸;M為輸入通道數(shù);N為輸出通道數(shù);DF×DF為輸入分辨率。而根據(jù)圖2(b)、(c),深度可分離卷積在某一層進(jìn)行卷積的參數(shù)量R2和計(jì)算量分別為:

        因此,深度可分離卷積相比傳統(tǒng)卷積的參數(shù)量和計(jì)算量可表示為式(12)的形式。

        由式(12)可知,在一層卷積中,采用深度可分離卷積相比傳統(tǒng)3×3 卷積在參數(shù)量和復(fù)雜度上具有相同的壓縮效果,壓縮幅度僅與輸出通道數(shù)N和卷積核的尺寸DK有關(guān)。例如當(dāng)某一層輸入輸出通道數(shù)均為64 時(shí),傳統(tǒng)3×3 卷積的參數(shù)量為36 864 個(gè);深度可分離卷積的參數(shù)量?jī)H為4 672 個(gè),參數(shù)量相比傳統(tǒng)3×3 卷積壓縮了87.33%。同理計(jì)算量同樣減少了87.33%。

        為增加網(wǎng)絡(luò)特征提取能力,在網(wǎng)絡(luò)卷積層上借鑒了殘差網(wǎng)絡(luò)結(jié)構(gòu)。圖3(a)為殘差模塊,這種結(jié)構(gòu)可以表示為:

        x、y分別表示殘差塊的輸入和輸出,F(xiàn)(x,ω)表示經(jīng)過(guò)可學(xué)習(xí)的參數(shù)ω線性變化后的輸出。通過(guò)跳躍連接相加,可以實(shí)現(xiàn)不同特征的結(jié)合,淺層網(wǎng)絡(luò)包含低級(jí)語(yǔ)義的特征,而深層網(wǎng)絡(luò)有高級(jí)語(yǔ)義特征,因此通過(guò)特征映射(feature map),可以將前面層學(xué)習(xí)到的特征直接傳到后面層中。當(dāng)輸入輸出特征圖分辨率不同時(shí),這種跳躍連接還可以融合不同分辨率的特征,使得殘差結(jié)構(gòu)擁有更好的特征提取能力。

        Fig.3 Two types of residual modules圖3 兩種殘差模塊

        本文受深度可分離卷積結(jié)構(gòu)和殘差結(jié)構(gòu)的啟發(fā),通過(guò)將兩種結(jié)構(gòu)結(jié)合的方式,在深度可分離卷積的基礎(chǔ)上引入殘差結(jié)構(gòu)。圖3(b),在輸入輸出通道數(shù)不變的情況下,采用一層逐通道的(2D)3×3 卷積和一層跨通道的(3D)1×1 卷積替換了圖3(a)中傳統(tǒng)(3D)3×3 卷積,可知,這種深度可分離殘差模塊相比殘差模塊,可以進(jìn)一步降低訓(xùn)練所需的計(jì)算量和存儲(chǔ)空間,相比只使用深度可分離卷積,這種網(wǎng)絡(luò)結(jié)構(gòu)又可以融合不同尺度上的空間信息,同時(shí)也可以在訓(xùn)練過(guò)程中有效防止梯度消失問(wèn)題。

        1.3 SepNet分類器結(jié)構(gòu)

        在分類器模塊中,使用三層separable 構(gòu)建了一個(gè)SepNet 分類器網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)相當(dāng)于對(duì)標(biāo)準(zhǔn)VGG16 網(wǎng)絡(luò)中兩層4 096 個(gè)神經(jīng)元和一個(gè)Softmax 分類器全連層的替換。表1 和表2 分別列出了VGG16和SepNet分類器的網(wǎng)絡(luò)結(jié)構(gòu)。

        Table 1 VGG16 network structure of classifier module表1 VGG16 分類器模塊網(wǎng)絡(luò)結(jié)構(gòu)

        Table 2 Network structure of SepNet classifier module表2 SepNet分類器模塊網(wǎng)絡(luò)結(jié)構(gòu)

        實(shí)驗(yàn)將表1 中FC1 輸入向量X∈?m×1reshape 為表2 中Sep1 的輸入矩陣X1∈,然后,SepNet 分類器的輸入與兩個(gè)定義好的小參數(shù)矩陣A和B進(jìn)行矩陣乘法運(yùn)算,通過(guò)逐層訓(xùn)練,在Sep3 中得到一個(gè)?1×n的輸出,并經(jīng)過(guò)Softmax 層后用于分類(n為分類類別數(shù))。與輸入輸出元素個(gè)數(shù)相同的全連接層相比,SepNet 分類器的網(wǎng)絡(luò)參數(shù)和運(yùn)算成本更少,更適合應(yīng)用于移動(dòng)終端設(shè)備等智能場(chǎng)景中。

        1.4 整體改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)

        在特征提取模塊中,參考了EfficientNet[26]網(wǎng)絡(luò)的設(shè)計(jì)思路。EfficientNet 研究了模型尺度縮放,發(fā)現(xiàn)均衡網(wǎng)絡(luò)的深度、寬度和分辨率可以獲得更好的性能?;诖颂岢隽艘环N新的縮放方法,使用一個(gè)簡(jiǎn)單而高效的復(fù)合系數(shù)來(lái)均勻地標(biāo)度深度、寬度、分辨率的所有維度,并采用神經(jīng)架構(gòu)搜索(neural architecture search,NAS)控制模型規(guī)模,在給定的資源條件下最大化模型精度。

        本文借鑒了EfficientNet 部分思想,綜合考慮特征提取模塊中的網(wǎng)絡(luò)深度、寬度,通過(guò)手工設(shè)計(jì)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練出了一系列效率更高、參數(shù)更少的網(wǎng)絡(luò)。圖4(a)為最終設(shè)計(jì)的sep_res18_s3 網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)在特征提取模塊上由一層卷積和18 層的深度可分離殘差模塊組成。圖4(b)、(c)、(d)分別為在(a)的基礎(chǔ)上設(shè)計(jì)的對(duì)比網(wǎng)絡(luò),分別稱為sep18_s3、cov_res18_s3、sep_res18_fc。其中圖4(b)去掉了所有殘差結(jié)構(gòu),用于對(duì)比驗(yàn)證殘差結(jié)構(gòu)的重要性,圖4(c)替換了所有深度可分離卷積而用傳統(tǒng)3×3 卷積,用于對(duì)比驗(yàn)證深度可分離卷積的重要性,圖4(d)替換了三層separable 而直接用一層全連接,用于對(duì)比驗(yàn)證克羅內(nèi)克積方法的有效性。圖4 中的sep、cov 分別表示深度可分離卷積模塊和傳統(tǒng)3×3 卷積模塊,跳躍連接實(shí)線部分為恒等映射(identical mapping),可以直接進(jìn)行Concat 操作,因此不需要增加額外參數(shù)量。虛線部分為保證輸出特征圖尺寸不變而用步長(zhǎng)為2的1×1 卷積。

        2 實(shí)驗(yàn)結(jié)果及分析

        2.1 實(shí)驗(yàn)評(píng)估方法及數(shù)據(jù)集介紹

        在圖像分類任務(wù)中,往往將分類結(jié)果準(zhǔn)確率作為參考依據(jù),而在各種輕量化網(wǎng)絡(luò)模型中,除了考慮準(zhǔn)確率以外,網(wǎng)絡(luò)模型的存儲(chǔ)空間和計(jì)算量也是很重要的參考因素,因此本文結(jié)合各種輕量化網(wǎng)絡(luò)結(jié)構(gòu)評(píng)估方法,主要對(duì)比各網(wǎng)絡(luò)結(jié)構(gòu)在各數(shù)據(jù)集上的分類精度、模型參數(shù)量、計(jì)算量、訓(xùn)練收斂速度等,作為分析網(wǎng)絡(luò)性能的依據(jù)。

        MNIST 數(shù)據(jù)集來(lái)自美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所(National Institute of Standards and Technology(NIST))。訓(xùn)練集(training set)包含60 000 個(gè)樣本,測(cè)試數(shù)據(jù)集(testing set)包含10 000 個(gè)樣本,每張圖片由28×28 個(gè)像素點(diǎn)構(gòu)成。

        CIFAR-10 是由Hinton 的學(xué)生Alex Krizhevsky和Ilya Sutskever 整理的一個(gè)用于識(shí)別普適物體的小型數(shù)據(jù)集,分為10 個(gè)類別,一共有60 000 個(gè)32×32 彩色圖像,每個(gè)類有6 000 個(gè)圖像。分為50 000 個(gè)訓(xùn)練圖像和10 000 個(gè)測(cè)試圖像。

        作為兩種比較典型的小數(shù)據(jù)集,用于圖像分類任務(wù)上對(duì)比各網(wǎng)絡(luò)結(jié)構(gòu)的性能指標(biāo)具有一定的代表性。

        CIFAR-100 數(shù)據(jù)集有100 類,每類包含600 張圖片,其中有500 個(gè)訓(xùn)練圖片和100 個(gè)測(cè)試圖片,圖片的大小和格式與CIFAR-10 相同。由于CIFAR-100 每類訓(xùn)練樣本和測(cè)試樣本都只有CIFAR-10 的1/10,因此識(shí)別難度更大。

        Fig.4 4 kinds of baseline network structures圖4 4 種網(wǎng)絡(luò)結(jié)構(gòu)

        2.2 實(shí)驗(yàn)環(huán)境及參數(shù)說(shuō)明

        本實(shí)驗(yàn)用到的硬件環(huán)境為CoreTMi7-6700CPU@3.40 GHz、GeForce GTX1080 Mobile 顯卡,主要用到的軟件為pycharm2019.2 及anaconda3-5.3.1。用于配置的虛擬環(huán)境基于python3.6,用到的深度學(xué)習(xí)框架為keras2.2.4,并用tensorflow1.14 作為后端。采用matplotlib3.1.1 作為繪圖工具。

        為了便于對(duì)比,在訓(xùn)練各數(shù)據(jù)集時(shí),使用Keras框架自帶的數(shù)據(jù)增強(qiáng)對(duì)輸入樣本進(jìn)行了輕微的預(yù)處理。由于訓(xùn)練數(shù)據(jù)的不同,訓(xùn)練CIFAR-10 和CIFAR-100時(shí)統(tǒng)一采用學(xué)習(xí)率0.001,訓(xùn)練MNIST 時(shí)統(tǒng)一采用學(xué)習(xí)率0.000 5,每次在epoch數(shù)為80、120時(shí),將當(dāng)前學(xué)習(xí)率降低90%,并都以Adam 優(yōu)化器訓(xùn)練150 個(gè)epoch。

        2.3 克羅內(nèi)克積有效性驗(yàn)證

        為了對(duì)比驗(yàn)證separable 層替換全連接層的有效性,用VGG16 變體作為對(duì)比網(wǎng)絡(luò),對(duì)比實(shí)驗(yàn)首先保證特征提取模塊網(wǎng)絡(luò)結(jié)構(gòu)不變,以驗(yàn)證分類器模塊的性能。由于VGG16 原本用于大圖像分類,因此適當(dāng)降低VGG16 網(wǎng)絡(luò)的寬度和深度以適應(yīng)小數(shù)據(jù)集的分類任務(wù)。

        表3 和表4 分別為縮小后的VGG16 特征提取網(wǎng)絡(luò)結(jié)構(gòu)和分類器結(jié)構(gòu),稱為VGG10。表中一共用7層卷積層和3 層池化層以及3 層全連接層,其中Filter size 為卷積核尺寸,F(xiàn)ilter num 為對(duì)應(yīng)卷積核的數(shù)量,同時(shí)也為該層卷積層的輸出通道數(shù)。Strides為步長(zhǎng)。

        Table 3 Feature extraction module of VGG10表3 VGG10 特征提取模塊

        同時(shí)在分類器模塊,將VGG16 全連接層的4 096個(gè)神經(jīng)元替換為1 024 個(gè)神經(jīng)元,見(jiàn)表4。

        Table 4 VGG10 network structure of classifier module表4 VGG10 分類器模塊網(wǎng)絡(luò)結(jié)構(gòu)

        X為經(jīng)過(guò)Faltten 之后的輸入,W為權(quán)重矩陣,組合表3 和表4,最終形成縮小后的VGG10 網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)通過(guò)用3 層separable 結(jié)構(gòu)替換了VGG16 的3 層全連接層,組合表3 和表2,最終形成SepNet網(wǎng)絡(luò)。

        分別在MNIST、CIFAR-10、CIFAR-100 數(shù)據(jù)集上訓(xùn)練VGG10 和SepNet網(wǎng)絡(luò)。表5 列出了各網(wǎng)絡(luò)結(jié)構(gòu)分別在每個(gè)數(shù)據(jù)集上的精度、參數(shù)量及浮點(diǎn)運(yùn)算次數(shù)(FLOPs)。由表5 可以看出,采用MNIST 數(shù)據(jù)集訓(xùn)練,SepNet結(jié)構(gòu)在分類準(zhǔn)確度上與VGG10 相近,但參數(shù)量和運(yùn)算量相比VGG10 網(wǎng)絡(luò)分別降低了91.89%和92.59%。采用CIFAR-10 數(shù)據(jù)集訓(xùn)練,使用SepNet結(jié)構(gòu)在分類準(zhǔn)確度上略好于VGG10 網(wǎng)絡(luò)結(jié)構(gòu),而且參數(shù)量和計(jì)算量相比VGG10 均降低了94.09%。采用CIFAR-100 數(shù)據(jù)集訓(xùn)練,使用SepNet 結(jié)構(gòu)在精度上高出VGG10 近6 個(gè)百分點(diǎn),而且參數(shù)量和計(jì)算量相比VGG10 均降低了94.07%。實(shí)驗(yàn)結(jié)果表明,在保證分類精度不降低的情況下,使用separable 層替換全連接層可以極大程度降低參數(shù)冗余和計(jì)算成本,證實(shí)了克羅內(nèi)克積方法的有效性。

        Table 5 Comparative results on VGG10 and SepNet表5 VGG10 和SepNet對(duì)比實(shí)驗(yàn)結(jié)果

        為了進(jìn)一步探究VGG10 和SepNet 訓(xùn)練MNIST、CIFAR-10 和CIFAR-100 的表現(xiàn),圖5 展示了VGG10和SepNet 網(wǎng)絡(luò)在訓(xùn)練CIFAR-10 時(shí)各自的訓(xùn)練結(jié)果,分別為訓(xùn)練集準(zhǔn)確率和驗(yàn)證集準(zhǔn)確率、訓(xùn)練集損失函數(shù)和驗(yàn)證集損失函數(shù)之間的對(duì)比曲線。

        從圖5 可以看出,在訓(xùn)練集準(zhǔn)確率acc 上,圖5(b)不如圖5(a),且損失值loss 相比圖5(a)更大,主要是由于VGG10 參數(shù)量較多,能夠?qū)W習(xí)更復(fù)雜的特征,因此圖5(a)在訓(xùn)練集上表現(xiàn)得更好。但由圖5(a)可以看出,在第15 次迭代后,驗(yàn)證集上的準(zhǔn)確度并沒(méi)有隨著訓(xùn)練集準(zhǔn)確度上升而上升,而是趨于平穩(wěn)。這一過(guò)程在驗(yàn)證集損失值val_loss 上表現(xiàn)出不能很好地收斂,并在第20 次迭代之后損失值開始不斷輕微增大,由此可以判斷出現(xiàn)了一定程度的過(guò)擬合現(xiàn)象。而由圖5(b)可以看出,通過(guò)采用SepNet 結(jié)構(gòu),驗(yàn)證集準(zhǔn)確度曲線基本可以“一直跟隨”訓(xùn)練集曲線上升,并且驗(yàn)證集上的損失值可以很好地收斂。

        為了對(duì)比VGG10 和SepNet 訓(xùn)練不同數(shù)據(jù)集收斂速度和損失值下降過(guò)程的表現(xiàn),圖6 分別展示了VGG10 和SepNet 在MNIST、CIFAR-10 和CIFAR-100各自的訓(xùn)練結(jié)果。其中圖6 各子圖上方為驗(yàn)證集準(zhǔn)確率對(duì)比曲線,下方為驗(yàn)證集損失函數(shù)的對(duì)比曲線。

        Fig.5 SepNet and VGG10 training curve圖5 SepNet與VGG10 訓(xùn)練曲線

        實(shí)驗(yàn)表明,在MNIST 數(shù)據(jù)集上,如圖6(a),SepNet 和VGG10 的收斂速度區(qū)別不大,主要是MNIST易于訓(xùn)練。在CIFAR-10數(shù)據(jù)集上,如圖6(b),VGG10 在20 次epoch 之前的收斂速度快于SepNet,但是在20 次epoch 之后,由于VGG10 參數(shù)量過(guò)多導(dǎo)致過(guò)擬合現(xiàn)象,最終使得SepNet 的分類精度高于VGG10,同樣在圖6(c)中,這一現(xiàn)象在更難訓(xùn)練的CIFAR-100 數(shù)據(jù)集上表現(xiàn)更為明顯。實(shí)驗(yàn)結(jié)果表明,在MNIST、CIFAR-10 和CIFAR-100 數(shù)據(jù)上,SepNet比VGG10 具有更高分類精度,且更容易防止過(guò)擬合。

        為了探究SepNet 和VGG10 在同一數(shù)據(jù)集上的訓(xùn)練速度,表6 列出了SepNet和VGG10 分別在GPU、CPU 上訓(xùn)練CIFAR-10 的每個(gè)batch 平均訓(xùn)練時(shí)間。

        Fig.6 Comparison training curve between SepNet and VGG10圖6 SepNet與VGG10 對(duì)比訓(xùn)練曲線

        Table 6 Comparison of running time of CIFAR-10表6 CIFAR-10 的運(yùn)行時(shí)間對(duì)比 ms

        實(shí)驗(yàn)結(jié)果表明,SepNet 在GPU 上的訓(xùn)練時(shí)間與VGG10 相當(dāng),這主要是用separable 替換全連接層后,雖然運(yùn)算量降低了,但是每層separable 需要依次進(jìn)行兩次矩陣乘法運(yùn)算,增加了更多必要的串行運(yùn)算。而在CPU 上,主要采用串行運(yùn)算的方式,由于沒(méi)有了并行運(yùn)算的優(yōu)勢(shì),因此SepNet 在CPU 上的運(yùn)行時(shí)間則明顯低于VGG10。

        綜合對(duì)比可以發(fā)現(xiàn),SepNet 方法相比VGG10 更不容易發(fā)生過(guò)擬合,在擁有更小的參數(shù)量和計(jì)算量的前提下仍能達(dá)到更高的精度,且在CPU 上的訓(xùn)練速度更快,更能滿足部署在移動(dòng)設(shè)備等智能場(chǎng)景中。

        2.4 Baseline網(wǎng)絡(luò)與其他網(wǎng)絡(luò)的對(duì)比

        2.3 節(jié)驗(yàn)證了用separable 層替換全連接層的有效性,為了進(jìn)一步改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),在特征提取模塊上設(shè)計(jì)了一個(gè)深度可分離殘差模塊,見(jiàn)圖3(b)。在MNIST、CIFAR-10 數(shù)據(jù)集上訓(xùn)練圖4 中的4 個(gè)網(wǎng)絡(luò)模型,表7 為在各網(wǎng)絡(luò)的訓(xùn)練準(zhǔn)確率、參數(shù)量及計(jì)算量(FLOPs)對(duì)比。圖7 為對(duì)應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)在CIFAR-10 上的訓(xùn)練集準(zhǔn)確率及驗(yàn)證集準(zhǔn)確率的對(duì)比曲線。

        Table 7 Comparison results of each network on MNIST and CIFAR-10 datasets表7 各網(wǎng)絡(luò)在MNIST、CIFAR-10數(shù)據(jù)集上的對(duì)比結(jié)果

        結(jié)果表明,在MNIST 數(shù)據(jù)集上,sep_res18_s3 訓(xùn)練準(zhǔn)確率均高出其他3 個(gè)網(wǎng)絡(luò)的準(zhǔn)確率,在CIFAR-10 數(shù)據(jù)集上,由圖7 可以看出,各網(wǎng)絡(luò)的訓(xùn)練結(jié)果無(wú)論是在訓(xùn)練集準(zhǔn)確率還是在測(cè)試集準(zhǔn)確率上,分類精度基本相同。

        Fig.7 Test set accuracy of each network on CIFAR-10圖7 各網(wǎng)絡(luò)在CIFAR-10 上的測(cè)試集準(zhǔn)確率

        結(jié)合表7 可以發(fā)現(xiàn),sep_res18_s3 訓(xùn)練準(zhǔn)確率僅低于sep_res18_fc,準(zhǔn)確率減少了0.39 個(gè)百分點(diǎn),但同時(shí)參數(shù)量和計(jì)算量相比sep_res18_fc 分別降低了11.10%和10.93%,這說(shuō)明相比目前較流行只用一層全連接來(lái)做分類的方法,用separable 層替換全連接層的方法在一定程度上仍然可以進(jìn)一步降低參數(shù),并保證訓(xùn)練準(zhǔn)確率。對(duì)比sep_res18_s3 與sep18_s3,sep_res18_s3 在兩個(gè)數(shù)據(jù)集上訓(xùn)練準(zhǔn)確率均高于sep18_s3,在CIFAR-10 數(shù)據(jù)集上高出了sep18_s3 網(wǎng)絡(luò)1.37 個(gè)百分點(diǎn)。但sep18_s3 參數(shù)量和計(jì)算量相比sep_res18_s3 分別降低了7.92%和9.73%,參數(shù)增加的部分來(lái)自sep_res18_s3 網(wǎng)絡(luò)“跳躍連接”的虛線部分,這說(shuō)明殘差結(jié)構(gòu)可以付出額外很小的存儲(chǔ)空間來(lái)進(jìn)一步提升準(zhǔn)確率。對(duì)比sep_res18_s3 與cov_res18_s3,sep_res18_s3 網(wǎng)絡(luò)在CIFAR-10、MNIST 上的準(zhǔn)確率均高于cov_res18_s3,且參數(shù)量和計(jì)算量相比cov_res18_s3 分別降低了58.33%和81.82%。這說(shuō)明在ResNet 殘差結(jié)構(gòu)中使用3×3 卷積仍然存在較大的參數(shù)冗余,在小數(shù)據(jù)集的分類任務(wù)中,采用深度可分離卷積相比傳統(tǒng)的3×3 卷積可以在保證訓(xùn)練準(zhǔn)確率的同時(shí)極大降低參數(shù)量。

        為與其他網(wǎng)絡(luò)對(duì)比,在訓(xùn)練CIFAR-100 時(shí)增加了網(wǎng)絡(luò)的特征提取能力以提升一定的精度,在特征提取模塊采用ResNet18 結(jié)構(gòu),將每層的通道數(shù)設(shè)置為64。在分類器模塊上仍然用表2 的3 層separable 層,形成的網(wǎng)絡(luò)結(jié)構(gòu)稱為ResNet18+s3,表8 列出了各網(wǎng)絡(luò)結(jié)構(gòu)在CIFAR-100 上的參數(shù)量和訓(xùn)練精度,實(shí)驗(yàn)結(jié)果表明,ResNet18+s3 在保持較低參數(shù)量的同時(shí)仍然可以達(dá)到更高的精度。同時(shí),設(shè)計(jì)的sep_res18_s3、sep18_s3 在參數(shù)量上相比X-KerasNet[27]等網(wǎng)絡(luò)仍具有較大優(yōu)勢(shì)。

        Table 8 Training accuracy and number of parameters on CIFAR-100表8 CIFAR-100 訓(xùn)練精度及參數(shù)量

        3 結(jié)束語(yǔ)

        本文提出了一種用于替換多層感知機(jī)全連接層和改進(jìn)特征提取模塊傳統(tǒng)卷積層的方法,該方法首先用克羅內(nèi)克積解決了傳統(tǒng)類似VGG 網(wǎng)絡(luò)全連接層參數(shù)量大,且在訓(xùn)練過(guò)程中容易過(guò)擬合的問(wèn)題,然后結(jié)合在特征提取模塊上設(shè)計(jì)的深度可分離殘差模塊,既解決了類殘差網(wǎng)絡(luò)用傳統(tǒng)3×3 卷積冗余度高的問(wèn)題,又保證了深度可分離卷積層與層之間的信息流通。實(shí)驗(yàn)結(jié)果表明,通過(guò)權(quán)衡網(wǎng)絡(luò)深度、寬度,同時(shí)結(jié)合深度可分離卷積、殘差結(jié)構(gòu)及克羅內(nèi)克積方法,形成的sep_res18_s3 網(wǎng)絡(luò)能夠?qū)崿F(xiàn)圖像分類任務(wù)中精度和存儲(chǔ)空間的平衡,可以進(jìn)一步應(yīng)用到移動(dòng)設(shè)備或嵌入式設(shè)備等智能視覺(jué)場(chǎng)景中。

        由于本文只是在MNIST、CIFAR-10、CIFAR-100這樣的小數(shù)據(jù)集分類任務(wù)上驗(yàn)證了sep_res18_s3 網(wǎng)絡(luò)的有效性,對(duì)網(wǎng)絡(luò)性能的驗(yàn)證仍有一定的局限性,在下一步工作中,將按照同樣的方法改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)以適應(yīng)圖像識(shí)別任務(wù)中更多小數(shù)據(jù)集及大數(shù)據(jù)集樣本的分類,并考慮結(jié)合網(wǎng)絡(luò)剪枝、參數(shù)量化等壓縮方法,訓(xùn)練出冗余度更小的模型。

        猜你喜歡
        特征提取深度
        特征提取和最小二乘支持向量機(jī)的水下目標(biāo)識(shí)別
        深度理解一元一次方程
        基于Gazebo仿真環(huán)境的ORB特征提取與比對(duì)的研究
        電子制作(2019年15期)2019-08-27 01:12:00
        深度觀察
        深度觀察
        深度觀察
        基于Daubechies(dbN)的飛行器音頻特征提取
        電子制作(2018年19期)2018-11-14 02:37:08
        深度觀察
        Bagging RCSP腦電特征提取算法
        提升深度報(bào)道量與質(zhì)
        新聞傳播(2015年10期)2015-07-18 11:05:40
        亚洲一区二区三区免费网站| 91精品国产91久久久无码95| 69av视频在线| 久久久免费精品国产色夜| 国产美女高潮流白浆免费视频| 亚洲欧美日韩国产精品一区二区| 久久久国产精品ⅤA麻豆| 亚洲美女国产精品久久久久久久久 | 红杏性无码免费专区| 日韩女优一区二区在线观看| 2021亚洲国产精品无码| 男女性高爱潮免费网站| 国产成人综合久久久久久 | 日本一区二区三区女优在线| 久久理论片午夜琪琪电影网| а√天堂资源8在线官网在线| 国产欧美日韩不卡一区二区三区| 久久久精品少妇—二区| 亚洲欧洲成人精品香蕉网| 亚洲粉嫩高潮的18p| 久久久国产精品ⅤA麻豆百度 | 国产AV边打电话边出轨| 国产一区二区三区资源在线观看 | 超级碰碰人妻中文字幕| 精品亚洲国产日韩av一二三四区| 精品久久久久久久无码人妻热| 好爽…又高潮了毛片免费看| 中文字幕麻豆一区二区| 偷拍美女上厕所一区二区三区| 欧美日韩国产码高清综合人成| 91老司机精品视频| 国产无套粉嫩白浆内精| 一本大道av伊人久久综合| 国产午夜视频在线观看| 久草视频在线这里只有精品| 亚洲高清一区二区三区在线播放 | 99精品国产99久久久久久97| 亚洲国产精品久久九色| 91l视频免费在线观看| 人妻夜夜爽天天爽三区麻豆av网站 | 上海熟女av黑人在线播放|