• 
    

    
    

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

      基于跨通道交叉融合和跨模塊連接的輕量級卷積神經(jīng)網(wǎng)絡(luò)

      2020-12-31 02:23:56丁世飛于文家
      計算機應(yīng)用 2020年12期
      關(guān)鍵詞:復(fù)雜度分組架構(gòu)

      陳 力,丁世飛,于文家

      (中國礦業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院,江蘇徐州221116)

      (?通信作者電子郵箱dingsf@cumt.edu.cn)

      0 引言

      2006 年,多倫多大學(xué)的Hinton 教授等[1]在Science雜志上發(fā)表了文章,標志著人工智能的復(fù)興。計算機視覺技術(shù)也隨之取得巨大進步。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[2]作為計算機視覺領(lǐng)域的基礎(chǔ)模型之一,是當(dāng)前許多研究和應(yīng)用的基礎(chǔ)。自從AlexNet[3]在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)[4]中取得了巨大成功,目前已經(jīng)提出了許多高性能的CNN 模型,例如VGGNet[5]、ZFNet[6]、GoogLeNet[7]、ResNet[8]、DenseNet[9],SENet[10]等。但是,準確率的提高并不一定會使網(wǎng)絡(luò)在模型尺寸和速度方面更有優(yōu)勢。目前移動設(shè)備和嵌入式設(shè)備被廣泛使用,這些設(shè)備的計算資源和存儲資源非常有限,不利于大規(guī)模網(wǎng)絡(luò)的部署。

      2017 年之后,ImageNet 競賽不再舉辦,對CNN 的研究也從僅追求高精度的大規(guī)模網(wǎng)絡(luò)逐漸過渡到研究更適合實際應(yīng)用的輕量級架構(gòu)。精度高、規(guī)模小、速度快的輕量級架構(gòu)成為當(dāng)前CNN 研究的主流。近年來,壓縮卷積神經(jīng)網(wǎng)絡(luò)以實現(xiàn)準確率與模型尺寸之間的權(quán)衡已成為一種熱門的研究方向。一方面,可以對現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)模型進行壓縮,使網(wǎng)絡(luò)具有較少的參數(shù)和較低的計算復(fù)雜度。這些壓縮方法[11]可以分為四類:參數(shù)剪枝和共享[12]、低秩分解[13]、遷移/緊湊卷積濾波器[14]和知識蒸餾[15]?;趨?shù)剪枝和共享的方法主要是探索模型參數(shù)的冗余部分,并刪除對網(wǎng)絡(luò)影響不大的參數(shù)以實現(xiàn)網(wǎng)絡(luò)壓縮?;诘椭确纸獾募夹g(shù)主要分解卷積核以減少冗余,關(guān)鍵是如何設(shè)置卷積核的參數(shù)以及對哪個維度加以約束?;谶w移/壓縮卷積濾波器的方法設(shè)計具有特殊結(jié)構(gòu)的卷積內(nèi)核,以降低存儲消耗和計算復(fù)雜度。知識蒸餾的方法創(chuàng)建了一個與教師網(wǎng)絡(luò)的特征分布相適應(yīng)的學(xué)生網(wǎng)絡(luò),以便小型網(wǎng)絡(luò)可以學(xué)習(xí)大型網(wǎng)絡(luò)的知識。通常,學(xué)生網(wǎng)絡(luò)是一個輕量級網(wǎng)絡(luò),而教師網(wǎng)絡(luò)是一個較大的網(wǎng)絡(luò)。另一方面,除了壓縮現(xiàn)有的網(wǎng)絡(luò)模型,還可以使用一些高效的方法來設(shè)計新的網(wǎng)絡(luò)結(jié)構(gòu),即輕量級卷積神經(jīng)網(wǎng)絡(luò)模型設(shè)計。輕量級的CNN 可以使更多的計算機視覺研究成果應(yīng)用到工業(yè)產(chǎn)品和服務(wù)中。

      針對一些常用的輕量級模型設(shè)計方法存在的明顯不足,本文在提出相應(yīng)的解決方法的同時提出了一種輕量級卷積神經(jīng)網(wǎng)絡(luò)模型C-Net,旨在保證在高準確率水平的前提下減少模型參數(shù)量和降低計算復(fù)雜度。本文主要工作如下:

      1)針對分組卷積各分組之間缺少信息交流的問題,提出了一種跨通道交叉融合的方法,在增加深度和減少參數(shù)的同時實現(xiàn)了不同分組跨通道信息交流。

      2)針對特征提取不充分和特征圖利用不充分的問題,提出了一種跨模塊連接方法,在同一階段內(nèi)部實現(xiàn)特征重用和更好的上下文建模來增強特征的顯著性。

      3)基于提出的兩種方法設(shè)計了一種新型的輕量級卷積神經(jīng)網(wǎng)絡(luò)C-Net。

      1 相關(guān)工作

      1.1 分組卷積

      對于傳統(tǒng)卷積[16]來說,每個輸出通道都與每個輸入通道互相連接,即通道之間是密集連接。例如,如果輸入特征映射的尺寸為C×H×W,其中:C表示輸入特征映射的通道數(shù),H表示輸入特征映射的高,W表示輸入特征映射的寬,如果卷積核個數(shù)為N,則輸出特征映射的數(shù)量與卷積核的個數(shù)相同,每個卷積核的尺寸為C×K×K,總參數(shù)量為N×C×K×K。

      對于分組卷積,輸入通道和輸出通道分成g組。每組的輸出通道僅連接到相應(yīng)組的輸入通道,而與其他通道無關(guān)。具體為首先對輸入特征映射進行分組,然后將每組分別卷積。

      假設(shè)輸入特征映射的尺寸為C×H×W,輸出特征映射的尺寸為N×H×W,其中,H和W為特征映射的長度和高度,C和N分別為通道數(shù)。如果將其分為G組,則每組中的輸入特征圖的數(shù)量為,每組中的輸出特征圖的數(shù)量為。卷積核的尺寸為。卷積核的個數(shù)仍為N。每組卷積核的個數(shù)為,卷積核僅與同組的輸入特征映射進行卷積,總參數(shù)量為×K×K,可見總參數(shù)量減少到原來的。

      顯然,盡管分組卷積可以顯著減少參數(shù)量,但是存在不同分組之間缺乏信息交流的問題,這將很大程度上影響模型的性能。本文提出了一種稱為跨通道交叉融合的方法來實現(xiàn)不同分組之間信息交流。

      1.2 深度可分離卷積

      標準卷積運算實現(xiàn)了空間和通道維度上特征的聯(lián)合映射,但是計算復(fù)雜性高,內(nèi)存占用大,并且權(quán)重參數(shù)過多。深度可分離卷積的基本假設(shè)[17]是輸入的特征映射可以解耦。因此,卷積過程可分成兩個部分:首先使用給定大小的卷積核分別對每個通道進行卷積并組合結(jié)果,該部分稱為深度卷積。然后使用1×1卷積核[18]進行標準卷積并輸出特征映射,這部分稱為逐點卷積。

      深度可分離卷積的作用是將圖像的空間信息和通道信息解耦,主要目的是將空間互相關(guān)信息與通道互相關(guān)信息分離,通過使用一個一維卷積核和一個二維位置卷積核,分別學(xué)習(xí)圖像中的通道信息和位置信息。即通過3×3 卷積對每個獨立通道的空間區(qū)域提取特征,然后使用1×1卷積融合從不同通道中提取到的特征。標準卷積和深度可分離卷積的區(qū)別如圖1所示。

      圖1 卷積方式Fig.1 Convolution methods

      假設(shè)輸入特征映射的尺寸為C×H×W,輸出特征映射的尺寸為N×H×W,其中H和W為特征映射的長度和高度,C和N分別為通道數(shù)。標準卷積層使用大小為C×K×K的卷積核,計算復(fù)雜度為CK2HWN,參數(shù)量為CK2N。深度可分離卷積包括一組K×K×1×C的卷積核和一組1×1×C×N的卷積核。深度可分離卷積的計算復(fù)雜度為CK2HW+CHWN,這只是標準卷積的??紤]輸入和輸出通道數(shù)量上的差異,深度可分離卷積的權(quán)重約為標準卷積權(quán)重的10%~25%[17]。通過使用深度可分離卷積代替?zhèn)鹘y(tǒng)卷積可以減少模型參數(shù),實現(xiàn)模型的輕量化。

      1.3 快捷連接

      神經(jīng)網(wǎng)絡(luò)的深度在圖像分類中起著至關(guān)重要的作用。隨著網(wǎng)絡(luò)層數(shù)的增加,從理論上,網(wǎng)絡(luò)可以學(xué)習(xí)更多的特征,擬合更復(fù)雜的函數(shù),從而提高識別的準確率。但是,由于使用基于梯度的BP(Back Propagation)算法[19]優(yōu)化時,層數(shù)很深的網(wǎng)絡(luò)在反向傳播過程中容易出現(xiàn)梯度消失[20]或梯度爆炸[21],造成模型訓(xùn)練過程中難以收斂。

      ResNet[8]是計算機視覺領(lǐng)域一項突破性工作。ResNet 通過添加快捷連接以引入殘差學(xué)習(xí)來解決深層網(wǎng)絡(luò)的退化問題,從而可以訓(xùn)練出層數(shù)更深的網(wǎng)絡(luò)。ResNet 的核心思想是從輸入中學(xué)習(xí)殘差函數(shù)而不是原始函數(shù)??旖葸B接默認為恒等映射,即直接添加原始輸入而不進行任何改變直接與輸出做加和作為下一層的輸入。通過添加快捷連接,使得深層網(wǎng)絡(luò)更容易優(yōu)化,并得到更好的性能。包含一個快捷連接的多層網(wǎng)絡(luò)稱為一個殘差塊,如圖2所示。

      圖2 快捷連接Fig.2 Shortcut connection

      將輸入表示為X,底層映射表示為H(X),殘差映射定義為:

      其中:X代表殘差塊的輸入;H(X)代表殘差塊的輸出;F(X)代表殘差映射。進一步的:

      即變成使用神經(jīng)網(wǎng)絡(luò)來擬合輸入和輸出之間的殘差F(X)映射。

      殘差映射比原始映射更易于優(yōu)化。在極端情況下,如果恒等映射是最佳輸出,則殘差為0,相較把恒等映射用一系列非線性層的堆疊去擬合更簡單,而且通過快捷連接實現(xiàn)恒等映射,不會增加額外的參數(shù)和計算量。

      ResNet和快捷連接的提出解決了加深網(wǎng)絡(luò)層數(shù)不能提高性能的問題??旖葸B接在先進的輕量級CNN 中均有應(yīng)用。本文借鑒了殘差學(xué)習(xí)的思想并加以改進,使網(wǎng)絡(luò)能夠在同一階段內(nèi)部更好地進行局部殘差學(xué)習(xí),該方法稱為跨模塊連接。

      2 一種新型的輕量級卷積神經(jīng)網(wǎng)絡(luò)C-Net

      2.1 跨通道交叉融合

      分組卷積是輕量級卷積神經(jīng)網(wǎng)絡(luò)設(shè)計中的一種常用方法。分組卷積可以用較少的參數(shù)量和較低的計算復(fù)雜度生成大量的特征映射,而更多的特征映射意味著可以編碼更多的信息以獲得更豐富的特征。分組卷積也有明顯的缺點:將輸入特征映射分組導(dǎo)致輸入信息不完整,輸出特征圖不能包含輸入特征圖的所有信息。在ShuffleNet[22]中,使用通道重排來解決這個問題。

      表1 不同分組數(shù)在Cifar_10的準確率對比Tab.1 Accuracy comparison of different grouping numbers on Cifar_10

      通過對k的不同取值發(fā)現(xiàn),當(dāng)k=2時,即當(dāng)將輸入分為兩組時效果最好。k=2實現(xiàn)了全通道的信息交流。同時,如文獻[23]所建議,過多的分組會增加MAC(Media Access Control address),使用兩個組也是合理的。因此,應(yīng)用于C-Net 中設(shè)置k=2,即將輸入通道數(shù)分為兩組,并使用1×1 卷積實現(xiàn)兩階段的降維操作。當(dāng)然,也可以用其他大小的卷積核替換它。兩階段降維方法加深網(wǎng)絡(luò)深度的同時減少了參數(shù)量,提高了模型的非線性建模能力。首先,將輸入特征圖分為通道數(shù)相同的兩組G1和G2。兩組中的通道數(shù)均為輸入的一半,對兩組使用1×1 卷積得到和,通道數(shù)減少了一半。顯然,和包含了所在分組中所有通道的信息。然后再次卷積得到和,尺寸保持不變。最后使用跨通道交叉融合,將和添加到和的相鄰組中合并在一起,結(jié)果用作下一層的輸入。因此,輸入特征圖的維數(shù)減少是通過兩階段的分組卷積和跨通道交叉融合實現(xiàn)的。C-Net 中用于分組卷積的跨通道融合如圖3所示。假設(shè)輸入特征映射的尺寸為C×H×W,直接使用標準1×1 卷積來減小尺寸實現(xiàn)降維,則參數(shù)量為,使用本文的方法則參數(shù)量為,因此參數(shù)數(shù)量減少了。通道數(shù)C通常比較大,因此,實現(xiàn)用于分組卷積的跨通道交叉融合以提高模型的泛化能力的同時減少到原始參數(shù)量的75%。

      圖3 C-Net中的跨通道交叉融合Fig.3 Cross-channel fusion in C-Net

      2.2 跨模塊連接

      如文獻[24]中建議的那樣,為了提高網(wǎng)絡(luò)的準確性,增加基數(shù)比增加網(wǎng)絡(luò)的深度和寬度更有效,其中基數(shù)是指并行堆疊的某些模塊的數(shù)量。目前最先進的輕量級CNN 架構(gòu)[22-23,25-27]有一個共同的特征,即網(wǎng)絡(luò)結(jié)構(gòu)由基本構(gòu)建塊堆疊而成。把具有相同輸入輸出分辨率的幾個基本構(gòu)建塊的堆疊稱為一個階段,相鄰階段通過池化[28-29]或步長為2卷積運算實現(xiàn)下采樣。同一階段內(nèi)通常由許多具有相同結(jié)構(gòu)的基本構(gòu)建塊組成。通常,快捷連接通常是在單個基本構(gòu)建塊內(nèi)部實現(xiàn)的,一般是在某個基本構(gòu)建塊的輸入和輸出之間添加了快捷連接??旖葸B接破壞了網(wǎng)絡(luò)的對稱性并改善了網(wǎng)絡(luò)的表征能力。通過增加快捷連接,參數(shù)量保持不變,分類精度得到進一步提高,網(wǎng)絡(luò)的可控制性和可擴展性也得到改善。傳統(tǒng)架構(gòu)中的快捷連接如圖4所示。

      考慮到同一階段內(nèi)的基本構(gòu)建塊的輸入輸出具有相同的結(jié)構(gòu),為了進一步提高模型的特征提取和泛化能力,提出了一種稱為跨模塊連接的方法。在同一階段內(nèi)相鄰的基本構(gòu)建塊之間,上一個基本構(gòu)建塊的通過兩階段降維后的特征映射和下一個基本構(gòu)建塊的降維后的特征映射之間添加快捷連接,然后將融合后的結(jié)果用作深度可分卷積的輸入。這有助于增強模型的特征提取能力,實現(xiàn)上下文更好的建模??缒K連如圖5所示。

      圖4 傳統(tǒng)架構(gòu)中的快捷連接Fig.4 Shortcut connections in traditional architecture

      圖5 跨模塊連接Fig.5 Cross-module connections

      2.3 C-Net基本構(gòu)建塊

      利用提出的兩種方法,設(shè)計了一個輕量級的特征提取單元作為C-Net 基本構(gòu)建塊。這是從殘差塊啟發(fā)而來,采用先壓縮和后擴張策略[30]。它分為兩部分:降維層和特征提取層。降維層使用兩階段跨通道交叉融合,通過卷積進行輸入特征映射的降維處理,降維為原始輸入維的一半。特征提取層使用深度可分離卷積。首先,使用深度卷積進行特征提取,然后使用逐點卷積增加輸出通道的維度?;緲?gòu)建模塊如圖6所示。

      圖6 某一階段內(nèi)部的基本構(gòu)建塊Fig.6 Basic building blocks in a certain stage

      通常,卷積操作后會添加非線性。最常用的激活函數(shù)是ReLU。ReLU的計算式(圖7)表示如下:

      如圖7 所示,如果對ReLU 的激活范圍沒有限制,則輸出范圍為0 到正無窮大;如果激活值很大并且分布在很大的范圍內(nèi),則低精度時無法很好地精確描述造成精度損失。考慮到這些因素,使用ReLU6[26]作為C-Net中的激活函數(shù)。ReLU6是普通的ReLU,但將最大輸出值限制為6。移動終端設(shè)備float16 的精度較低,ReLU6 可以提供良好的數(shù)值分辨率。將最大值限制為6 也有助于使網(wǎng)絡(luò)為定點推理做好準備。ReLU6的計算式(圖8)表示如下:

      Xception[17]中實驗結(jié)果表明深度卷積后增加非線性會降低性能。一種猜測是深度卷積輸出通道的數(shù)量太少,非線性的應(yīng)用會造成信息丟失。因此在C-Net 基本構(gòu)建塊的設(shè)計中,去除了深度卷積后的激活函數(shù),輸出為線性。

      圖7 激活函數(shù)ReLUFig.7 Activation function ReLU

      圖8 激活函數(shù)ReLU6Fig.8 Activation function ReLU6

      2.4 網(wǎng)絡(luò)架構(gòu)

      C-Net架構(gòu)主要由C-Net基本構(gòu)建塊堆疊組成。網(wǎng)絡(luò)結(jié)構(gòu)如表2 所示,其中k為類別數(shù)。除了最后的全局平均池化[31],整個網(wǎng)絡(luò)再不使用池化,但每個階段的第一個基本構(gòu)建塊都使用步長為2 的卷積進行下采樣。全局平均池化用于防止過擬合并實現(xiàn)輕量級。此外,Dropout[32]和BatchNormalization[33]用于訓(xùn)練。

      表2 C-Net網(wǎng)絡(luò)架構(gòu)Tab.2 Network architecture of C-Net

      3 實驗與結(jié)果分析

      3.1 實驗設(shè)置

      實驗環(huán)境:整個實驗在Ubuntu16.04 LTS 和Python 3.6、Pytorch 1.2.0[34]和Opencv 3.1 的軟件環(huán)境下進行。CPU 是具有8 核3.7 GHz 的Intel Xeon E5-1620,內(nèi)存為32 GB。使用的GPU 是具有CUDA 10.0 和cuDNN 7.6 的NVIDIA-RTX2080ti。相關(guān)數(shù)據(jù)集如下:

      1)Cifar_10 數(shù)據(jù)集由10 個類別的60 000 張彩色圖像組成,每個類別有6 000 張圖像。其中有50 000 張訓(xùn)練圖像和10 000張測試圖像。

      2)Food_101 數(shù)據(jù)集包含101 種食物的101 000 張圖像,每種包含1 000張圖像。每個類別有250張測試圖像和750張訓(xùn)練圖像,因此共有75 750張訓(xùn)練圖像和25 250張測試圖像。

      3)Caltech_256 數(shù)據(jù)集共包含257 個類別的30 607 張圖像,每個類別中最少80 張圖像,最多827 張圖像,其中一個是背景的類別。在本實驗中,將背景類刪除,訓(xùn)練集和測試集以4∶1的比例隨機分離。

      在當(dāng)前的圖像識別研究中,這些公開數(shù)據(jù)集被廣泛使用。其中,Cifar_10數(shù)據(jù)集主要用于消融實驗。

      數(shù)據(jù)預(yù)處理:在訓(xùn)練之前對所有數(shù)據(jù)集進行預(yù)處理。所有數(shù)據(jù)集均使用數(shù)據(jù)增強增加訓(xùn)練樣本。對于Cifar_10,所有圖像使用像素0 填充圖像的邊緣,然后將圖像隨機裁剪為32×32。對于Food_101和Caltech_256,首先將所有圖像縮放到256×256,然后隨機裁剪為224×224。在訓(xùn)練過程中,按50%的概率水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)。最后對所有圖像進行歸一化處理。

      超參數(shù)設(shè)置:在使用Food_101和Caltech_256數(shù)據(jù)集進行的實驗中,數(shù)據(jù)處理、初始化、批處理大小和訓(xùn)練迭代次數(shù)等實驗設(shè)置保持不變。在訓(xùn)練期間,批處理大小為128,每個epoch 后進行一次測試迭代。所有層使用相同的學(xué)習(xí)率并將初始學(xué)習(xí)率設(shè)置為0.1。訓(xùn)練過程采取學(xué)習(xí)率衰減的策略,γ為0.1。學(xué)習(xí)率衰減3次后停止訓(xùn)練。使用交叉熵損失函數(shù),優(yōu)化器為隨機梯度下降(Stochastic Gradient Descent,SGD),動量為0.9,權(quán)重衰減參數(shù)為0.000 5。Food_101在180 000次迭代后結(jié)束訓(xùn)練,而Caltech_256 在90 000 次迭代后結(jié)束訓(xùn)練。

      3.2 結(jié)果分析

      為了評估C-Net 的性能,在Food_101 數(shù)據(jù)集和Caltech_256 數(shù)據(jù)集進行了實驗。實驗評估了Food_101 數(shù)據(jù)集和Caltech_256 數(shù)據(jù)集上具有代表性的不同類型的典型CNN 模型的性能。AlexNet[3]和ResNet[8]是傳統(tǒng)CNN 架構(gòu)的代表,其中AlexNet 沒有快捷連接,ResNet 包含快捷連接;SqueezeNet[25]、MobileNetV2[27]和ShuffleNetV2[23]是目前最先進的輕量級CNN 的代表,其中,SqueezeNet 通過提出FireModule模塊,先利用1×1 卷積進行降維,再利用1×1 卷積+3×3 卷積組合升維,實現(xiàn)了參數(shù)優(yōu)化;MobileNetV2 通過使用深度可分離卷積和Inverted Residual Block,可以用較少的運算量得到較高的精度,適用于移動端的需求;ShuffleNetV2 通過使用channel split和channel shuffle等方法,在速度和準確度之間做了很好的平衡。實驗結(jié)果如表3和表4所示。

      從表3 和表4 可以看出,C-Net 在Food_101 數(shù)據(jù)集和Caltech_256 數(shù)據(jù)集上的準確率相較AlexNet 分別提高了8.67個百分點和8.91 個百分點,但參數(shù)僅為AlexNet 的4%和4.2%,計算復(fù)雜度僅為AlexNet 的47.69%和47.67%。這充分說明傳統(tǒng)的CNN 架構(gòu)具有很大的冗余和缺陷,可以通過使用更有效的卷積方法和設(shè)計高質(zhì)量的網(wǎng)絡(luò)架構(gòu)來實現(xiàn)CNN性能的提高,而不僅是單純依靠網(wǎng)絡(luò)規(guī)模的增加。此外,C-Net 的準確率相較ResNet-18 低1.34 個百分點和1.61 個百分點,但參數(shù)數(shù)量和計算復(fù)雜度遠小于ResNet-18,大約僅為ResNet-18 的20%和25%,更加適合在存儲和計算資源有限的設(shè)備上運行。

      表3 不同模型在Food_101上的分類性能對比Tab.3 Comparison of different models for classification performance on Food_101

      表4 不同模型在Caltech_256上的分類性能對比Tab.4 Comparison of different models for classification performance on Caltech_256

      另外,與SqueezeNet、MobileNetV2、ShuffleNetV2 這三個最先進的輕量級模型的對比實驗結(jié)果表明,C-Net不僅比傳統(tǒng)的CNN模型更有優(yōu)勢,而且與其他最先進的輕量級架構(gòu)相比也具有很強的競爭力。與SqueezeNet 相比,C-Net的準確率分別高出6.97個百分點和8.60個百分點,盡管參數(shù)量增加,但計算復(fù)雜度大幅降低,這主要得益于深度可分離卷積和快捷連接帶來的特征提取能力的增強。C-Net在兩個數(shù)據(jù)集的準確率表現(xiàn)均介于1.0MobileNetV2 和ShuffleNetV2 1.5x 之間,參數(shù)量與1.0MobileNetV2和ShuffleNetV2 1.5x處于同一級別,但均比它們小,顯示出C-Net 在移動端部署的可行性。C-Net 的計算復(fù)雜度略高于1.0MobileNetV2,但僅為ShuffleNetV2 1.5x的大約68.05%,這也解釋了C-Net在準確度上與MobileNetV2基本持平卻低于ShuffleNetV2,主要是復(fù)雜度相較ShuffleNetV2 極大降低,這也充分說明模型復(fù)雜度在特征提取和建模過程中的重要性。這些輕量級架構(gòu)是為資源有限的設(shè)備設(shè)計的,與某些基準模型相比具有競爭優(yōu)勢。不同模型在Food_101 和Caltech_256訓(xùn)練過程中的準確率如圖9和圖10所示。

      圖9 不同模型在Food_101上的準確率Fig.9 Accuracies of different models on Food_101

      圖10 不同模型在Caltech_256上的準確率Fig.10 Accuracies of different models on Caltech_256

      總的來說,C-Net 不僅在參數(shù)量方面相較傳統(tǒng)的CNN 架構(gòu)占用更少的硬件資源,而且在不犧牲模型性能的情況下比其他幾種先進的輕量級架構(gòu)更輕巧。實驗結(jié)果表明,C-Net通過使用跨通道交叉融合進行分組卷積以減少參數(shù)數(shù)量,并在同一階段內(nèi)部實現(xiàn)跨模塊連接以增強特征表達,與其他網(wǎng)絡(luò)架構(gòu)相比,C-Net 是一種高效且輕量的網(wǎng)絡(luò)模型,具有更少的參數(shù)和更高的識別精度。C-Net 更加便于硬件應(yīng)用,性能更優(yōu)。

      3.3 消融實驗

      為了對提出的兩種方法進行評估,使用Cifar_10 數(shù)據(jù)集進行消融實驗。為了適應(yīng)數(shù)據(jù)集的變化,對網(wǎng)絡(luò)輸入輸出進行相應(yīng)修改。輸入大小改為32×32,最后一個全連接層的輸出更改為10。此外,由于輸入分辨率的寬度和高度變小,將階段2 的步幅為2 的卷積更改為步幅為1,不進行下采樣,然后全局平均池化從7×7變?yōu)?×4。其他參數(shù)保持不變。

      3.3.1 跨通道交叉融合的分組卷積vs.普通分組卷積

      為了評估分組卷積中各分組間跨通道交叉融合對于分組卷積的重要性,比較了是否包含跨通道融合的兩組模型。由于沒有引入額外參數(shù),因此兩組模型的參數(shù)量和計算復(fù)雜度相同,其準確率曲線如圖11所示。

      圖11 跨通道交叉融合的分組卷積vs.普通分組卷積Fig.11 Cross-channel fusion for grouped convolution vs.traditional grouped convolution

      從圖11 可以看出,使用跨通道交叉融合進行分組卷積的模型(C-Net)與使用普通分組卷積的模型在收斂方面沒有太大差異,但是最終精度比使用普通分組卷積的模型高1%~2%。這表明跨通道交叉融合在實現(xiàn)了跨通道信息交流的同時,提高了模型的特征提取能力和模型泛化性能。這表明了跨通道信息通信對提高分組卷積性能的重要性。

      3.3.2 跨模塊連接vs.無連接

      為了評估跨模塊連接的重要性,比較了是否包含跨模塊連接的兩組模型。由于跨模塊連接也沒有引入額外參數(shù),因此,這兩組模型的參數(shù)量和計算復(fù)雜度相同,其準確率曲線如圖12所示。

      如圖12 所示,使用跨模塊連接的模型(C-Net)的收斂比不使用跨模塊連接的模型快得多,并且其最終的分類精度明顯高于不使用跨模塊連接的模型,表明了跨模塊連接更好地實現(xiàn)了特征重用和梯度反向傳播,而特征提取能力的增強和反向傳播的優(yōu)化也帶來了更好的模型泛化性能。這也顯示了快捷連接對于在深層網(wǎng)絡(luò)中梯度傳播的重要性。

      圖12 跨模塊連接vs.無連接Fig.12 Cross-module connection vs.no connection

      4 結(jié)語

      本文提出了一種新型的輕量級卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)C-Net。首先,提出了跨通道交叉融合的方法,在一定程度上解決了分組卷積中不同分組間缺乏信息交流的問題;然后,提出了跨模塊連接的方法,更好地實現(xiàn)同一階段內(nèi)部的特征提取和特征復(fù)用;最后,基于上述兩種方法設(shè)計出輕量級網(wǎng)絡(luò)模型C-Net。C-Net 在Food_101 數(shù)據(jù)集上的準確率為69.41%,在Caltech_256 數(shù)據(jù)集上的準確率為63.93%,表明C-Net 是一種高效的輕量級神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。同時,在Cifar_10 數(shù)據(jù)集上的消融實驗驗證了所提出的兩種方法都可以提高CNN 的分類準確率。由于時間和實驗條件的限制,C-Net的性能僅在圖像分類任務(wù)上得到了驗證。下一步工作是探索如何進一步提高C-Net 的性能,并將C-Net 應(yīng)用于其他復(fù)雜任務(wù),例如場景分割[35]和目標檢測[36]。

      猜你喜歡
      復(fù)雜度分組架構(gòu)
      基于FPGA的RNN硬件加速架構(gòu)
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      分組搭配
      一種低復(fù)雜度的慣性/GNSS矢量深組合方法
      怎么分組
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
      分組
      求圖上廣探樹的時間復(fù)雜度
      某雷達導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進
      一種基于FPGA+ARM架構(gòu)的μPMU實現(xiàn)
      博罗县| 蛟河市| 马关县| 双柏县| 济南市| 巨野县| 资兴市| 新河县| 江门市| 新平| 丰台区| 卢氏县| 镇原县| 静安区| 平江县| 子洲县| 曲阳县| 淮安市| 龙山县| 天柱县| 新宾| 石狮市| 宁南县| 达孜县| 华亭县| 互助| 井陉县| 图们市| 清流县| 铜鼓县| 蚌埠市| 东乌珠穆沁旗| 合肥市| 阿鲁科尔沁旗| 扎赉特旗| 菏泽市| 晋宁县| 龙口市| 邢台县| 雅江县| 陆丰市|