• 
    

    
    

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

      ?

      緊湊的神經(jīng)網(wǎng)絡(luò)模型設(shè)計研究綜述*

      2020-09-13 13:53:18夏應(yīng)清
      計算機與生活 2020年9期
      關(guān)鍵詞:網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度移位

      郎 磊,夏應(yīng)清

      華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院,武漢 430079

      1 引言

      近年來,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)在計算機視覺[1-6]、自然語言處理[7-9]、數(shù)據(jù)挖掘[10-12]等領(lǐng)域獲得廣泛的應(yīng)用,并取得了優(yōu)秀的表現(xiàn)。這些技術(shù)上的突破與龐大的數(shù)據(jù)量和強大的計算資源密切相關(guān)。例如,AlexNet[13]在自然圖像識別領(lǐng)域取得了突破性進(jìn)展,它使用了約120萬張圖像在多個運算設(shè)備上進(jìn)行訓(xùn)練。從那時起,人們意識到CNN的性能要優(yōu)于其他方式,進(jìn)而對其性能的需求不斷提高。與此同時,CNN的計算復(fù)雜度以及存儲需求也急劇增加,如VGG[14]、GoogleNet[15]等網(wǎng)絡(luò)需求100 MB以上的儲存空間和上億次的計算操作。

      由于配備了豐富的內(nèi)存資源和計算單元的GPU和CPU集群的出現(xiàn),可以在較為合理的時間內(nèi)訓(xùn)練出功能更強大的CNN。與此同時,人們在無人駕駛[16]、無人機[17]、智能手表[18]、智能眼鏡[19]等移動設(shè)備取得了巨大的進(jìn)步,在這些設(shè)備上部署CNN模型的需求變得愈發(fā)強烈??墒?,這些設(shè)備在存儲能力、計算單元和電池電量等資源上顯得十分匱乏,因此在低成本環(huán)境中使用CNN模型成了真正的挑戰(zhàn)。

      當(dāng)前的關(guān)鍵問題是如何在不顯著降低網(wǎng)絡(luò)性能的情況下為移動端或嵌入式設(shè)備配置有效的神經(jīng)網(wǎng)絡(luò)模型。為了解決這個問題,在過去的幾年時間里,提出了許多壓縮與加速模型的方法[20-23]。本文主要對緊湊的神經(jīng)網(wǎng)絡(luò)模型設(shè)計這種方法進(jìn)行詳細(xì)的探討和敘述。

      2 網(wǎng)絡(luò)壓縮與加速

      從模型是否預(yù)先訓(xùn)練的角度,網(wǎng)絡(luò)模型加速與壓縮方法可分為以下兩大類,分別是神經(jīng)網(wǎng)絡(luò)的壓縮和緊湊的神經(jīng)網(wǎng)絡(luò)設(shè)計。

      2.1 神經(jīng)網(wǎng)絡(luò)壓縮

      通過對現(xiàn)有的預(yù)先訓(xùn)練網(wǎng)絡(luò)模型進(jìn)行壓縮,變成一個輕量級的神經(jīng)網(wǎng)絡(luò),有以下四種不同的方法。

      (1)網(wǎng)絡(luò)修剪(network pruning)刪除了深度網(wǎng)絡(luò)中不重要或不必要的參數(shù),提高了網(wǎng)絡(luò)參數(shù)的稀疏性,修剪后的稀疏參數(shù)需要較少的磁盤存儲空間,且省略了網(wǎng)絡(luò)中不重要參數(shù)計算,降低了網(wǎng)絡(luò)的計算復(fù)雜度[24-28]。

      (2)低秩分解(low-rank decomposition)利用矩陣或張量分解技術(shù)估計并分解深度模型中的原始卷積核,通過分解4D卷積核張量,可以有效地減少模型內(nèi)部的冗余性,從而降低網(wǎng)絡(luò)的參數(shù)和計算量[29-30]。

      (3)網(wǎng)絡(luò)量化(network quantization)將計算程序中使用的浮點數(shù)由32 bit或者64 bit存儲大小替換為1 bit、2 bit的方式,減少程序內(nèi)存占用空間,以此來減少計算復(fù)雜度和參數(shù)占用內(nèi)存大小[31-32]。

      (4)知識蒸餾(knowledge distillation)使用大型深度網(wǎng)絡(luò)訓(xùn)練一個更加緊湊的神經(jīng)網(wǎng)絡(luò)模型,即利用大型網(wǎng)絡(luò)的知識,并將其知識遷移至緊湊模型中[33]。

      這些方法可以有效地將現(xiàn)有的神經(jīng)網(wǎng)絡(luò)壓縮成較小的網(wǎng)絡(luò)。但它們的性能很大程度上依賴于給定的預(yù)先訓(xùn)練的網(wǎng)絡(luò)模型,沒有架構(gòu)層面的改進(jìn),無法進(jìn)一步提高準(zhǔn)確性。

      2.2 緊湊的神經(jīng)網(wǎng)絡(luò)設(shè)計

      緊湊的神經(jīng)網(wǎng)絡(luò)設(shè)計方法并未對預(yù)先訓(xùn)練網(wǎng)絡(luò)模型進(jìn)行壓縮,而是直接設(shè)計出具有較小計算復(fù)雜度和參數(shù)量的新型網(wǎng)絡(luò)。如何設(shè)計一個緊湊的神經(jīng)網(wǎng)絡(luò)是近年來的研究熱點。

      采用不同的空間卷積運算方式構(gòu)建一個精確而輕量級的網(wǎng)絡(luò),是常用的設(shè)計方法。例如:在NIN[34]模型中提出了網(wǎng)絡(luò)內(nèi)嵌網(wǎng)絡(luò)的架構(gòu),利用1×1卷積來增加網(wǎng)絡(luò)容量,同時保持整體計算復(fù)雜度較小。GoogleNet中使用平均池化層代替了全連接層,減少了網(wǎng)絡(luò)模型的存儲需求。SqueezeNet[35]利用1×1卷積和分組卷積方法,在AlexNet上實現(xiàn)了約50倍的壓縮,并且具有相當(dāng)?shù)木?。MobileNetV1[36]中提出了深度可分離卷積方法,并將該方法應(yīng)用得很好,模型比VGG-16模型縮小了96.8%,且速度快27倍;Mobile-NetV2[37]是在MobileNetV1的基礎(chǔ)之上添加了殘差結(jié)構(gòu)和線性瓶頸結(jié)構(gòu)。ShuffleNetV1[38]利用分組卷積和Channel Shuffle的方法縮減網(wǎng)絡(luò)模型大小,提高運行效率。ShuffleNetV2[39]是對ShuffleNetV1的網(wǎng)絡(luò)結(jié)構(gòu)的進(jìn)一步的改進(jìn)。ESPNetV2[40]提出深度可膨脹可分離卷積,且對ESPNetV1[41]模型結(jié)構(gòu)進(jìn)行通用化改進(jìn),運行效率高,模型小,準(zhǔn)確度強。

      此外,采用移位運算和卷積運算相結(jié)合的方式同樣可構(gòu)建出較為緊湊且強大的網(wǎng)絡(luò)模型,例如:ShiftNet[42]采用移位運算與逐點卷積相結(jié)合的方式,構(gòu)建出一個緊湊的網(wǎng)絡(luò)模型。As-ResNet[43]使用主動移位代替深度可分離卷積運算,并針對移位卷積運算設(shè)計了主動移位層(active shift layer,ASL),提高了模型學(xué)習(xí)和運行的效率,減少了參數(shù)量。FE-Net[44]中稀疏移位層(sparse shift layer,SSL)是對ASL層的改進(jìn),消除了無意義的移位操作,進(jìn)一步加快了模型運行的速度。

      緊湊的神經(jīng)網(wǎng)絡(luò)設(shè)計原則雖有不同,但其均是設(shè)計特殊的結(jié)構(gòu)化運算核或緊湊計算單元,減少模型的參數(shù)量,降低計算復(fù)雜度。本文主要對緊湊神經(jīng)網(wǎng)絡(luò)模型設(shè)計的相關(guān)技術(shù)進(jìn)行進(jìn)一步的討論,并選取近3年提出的6種緊湊神經(jīng)網(wǎng)絡(luò)模型進(jìn)行學(xué)習(xí)和比較,分析各自性能特點,同時對實現(xiàn)輕量化的方法進(jìn)行總結(jié)。6種模型分別是MobileNetV2、ShuffleNetV2、ESPNet-V2、ShiftNet、As-ResNet和FE-Net。其中MobileNetV2是MobileNetV1的改進(jìn)版,ShuffleNetV2的網(wǎng)絡(luò)結(jié)構(gòu)也是基于ShuffleNetV1的網(wǎng)絡(luò)結(jié)構(gòu),ESPNetV2是對ESPNetV1進(jìn)行通用化的結(jié)果,F(xiàn)ENet的基礎(chǔ)運算方式是基于ShiftNet和As-ResNet的基礎(chǔ)運算方式改進(jìn)而來的。這4類網(wǎng)絡(luò)在實現(xiàn)輕量化的方法上具有極高的參考價值。

      3 緊湊的神經(jīng)網(wǎng)絡(luò)

      緊湊的神經(jīng)網(wǎng)絡(luò)模型設(shè)計,是指參考現(xiàn)有的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),改變基本運算方法,并重新設(shè)計網(wǎng)絡(luò)結(jié)構(gòu),以此設(shè)計出參數(shù)量少、運算復(fù)雜度低的新型網(wǎng)絡(luò)。本文首先對基礎(chǔ)運算方式進(jìn)行介紹,根據(jù)運算方式的不同,將模型設(shè)計分為基于空間卷積運算的模型設(shè)計和基于移位卷積運算的模型設(shè)計,并分別介紹了3個典型網(wǎng)絡(luò)模型。

      3.1 基本運算

      在神經(jīng)網(wǎng)絡(luò)中,基本運算單元主要的作用是聚合空間信息,提取局部特征值??臻g卷積運算和移位卷積均可實現(xiàn)該功能,下面主要針對這兩種基本運算單元進(jìn)行描述。

      3.1.1 空間卷積運算

      常用的空間卷積運算主要有標(biāo)準(zhǔn)卷積、分組卷積(group convolution)、逐點卷積(pointwise convolution)和膨脹卷積(dilated convolution)。標(biāo)準(zhǔn)卷積是一種有效提取空間信息特征的運算方式,一般使用卷積核遍歷空間中的每一個區(qū)域,對重合區(qū)域內(nèi)的值進(jìn)行求和,再加偏激值后,得到輸出空間的特征圖,其結(jié)果與每個通道特征都有關(guān)。假設(shè)W×H為輸入輸出特征圖的空間尺寸,M為輸入特征的通道數(shù),N為輸出特征的通道數(shù);卷積核尺寸為K×K×M,數(shù)量為N計算如圖1所示。

      Fig.1 Standard convolution calculation圖1 標(biāo)準(zhǔn)卷積計算

      分組卷積是對標(biāo)準(zhǔn)卷積的一種變形,最早在Alex-Net中出現(xiàn),解決了硬件資源有限的問題。輸入特征圖在通道上被分成G組,這種分組僅在深度上進(jìn)行劃分,每組通道數(shù)為M/G。卷積核的深度變成M/G,而卷積核的大小并不需要改變,此時卷積核的數(shù)量變?yōu)镹/G。經(jīng)過卷積運算后,將不同組的內(nèi)容進(jìn)行拼接起來,最終輸出通道仍為N。相對于標(biāo)準(zhǔn)卷積,分組卷積的參數(shù)量縮小1-1/G,計算量降低為1/G。分組卷積雖然大大降低了計算復(fù)雜度和參數(shù)量,但是其僅聚合了組內(nèi)的空間信息,組間“信息流通不暢”。

      逐點卷積是一種特殊的標(biāo)準(zhǔn)卷積運算,卷積核K值為1。逐點卷積主要用于改變輸出通道的特征維度,且能夠有效地“混合”通道間的信息,解決了分組卷積中存在的“信息流通不暢”的問題。

      膨脹卷積是一種特殊的卷積運算,改變了卷積核的計算方式[45]。膨脹卷積引入了膨脹率r,用于表示擴張大小,即卷積核中值與值之間的間隔,如圖2為不同膨脹率的3×3卷積計算示意圖。r=1時為標(biāo)準(zhǔn)卷積核;r=2時,可看出卷積核的內(nèi)容并未發(fā)生改變,僅改變了卷積運算時,卷積核所感受的圖像視野大小,中間空著的像素并未參與具體運算。因此其對計算復(fù)雜度和參數(shù)值大小并未發(fā)生變化。在相同計算條件下,膨脹卷積運算擁有更寬的視野,可以捕捉到更長的依賴關(guān)系,非常適用于需求寬視野小卷積核的計算。膨脹卷積主要用于增強信息間的關(guān)聯(lián)度,防止信息的丟失。

      Fig.2 3×3 convolution calculations at different expansion rates圖2 不同膨脹率下的3×3 卷積計算

      3.1.2 移位卷積運算

      目前,常用的移位卷積運算主要有標(biāo)準(zhǔn)移位、分組移位(grouped shift)、主動移位(active shift)和稀疏移位(sparse shift)。標(biāo)準(zhǔn)移位如圖3所示,標(biāo)準(zhǔn)移位由兩個步運算完成,分別是移位運算和逐點卷積運算。移位運算是將通道向一個方向進(jìn)行移位,移位內(nèi)核中存儲移位方向信息。逐點卷積運算主要是對移位運算后的信息進(jìn)行“混合”。與深度卷積不同,移位運算本身不需要參數(shù)或浮點運算,它僅是一系列內(nèi)存方面操作,而逐點卷積運算占用了大部分的參數(shù)和浮點運算操作。

      Fig.3 Standard shift operation圖3 標(biāo)準(zhǔn)移位運算

      分組移位是對標(biāo)準(zhǔn)移位的一種變形,其關(guān)系類似于分組卷積與標(biāo)準(zhǔn)卷積,操作方式如圖4(a)所示。將通道劃分為若干組,其中每組通道采用同一方向的移位運算,然后進(jìn)行逐點卷積運算。分組移位具有較少的參數(shù)量和移位空間,能夠有效地加速網(wǎng)絡(luò)訓(xùn)練。分組移位最早在ShiftNet中出現(xiàn),用于解決搜尋最佳位移值計算量過大的問題。

      主動移位是標(biāo)準(zhǔn)移位量化形式的另一種體現(xiàn),相較于分組移位而言,通道移位的可能性更多,對通道間信息的“混合”程度更高。操作方式如圖4(b)所示,每個通道均進(jìn)行了移位運算,且移位方向更多,后由逐點卷積運算“混合”通道信息。假設(shè)M為輸入特征的通道數(shù)量,Dk為水平和垂直最大移位量,主動移位運算有種移位可能性。在網(wǎng)絡(luò)訓(xùn)練中,需要計算所有可能性下的輸出特征圖,找出最佳移位值,這需要極大的計算量,而且主動移位運算將在網(wǎng)絡(luò)中多次使用,網(wǎng)絡(luò)訓(xùn)練所需計算成指數(shù)上升。在As-ResNet中,采用水平移位參數(shù)α和垂直移位參數(shù)β表示移位方向,同時提出了α和β可微的方法,最終實現(xiàn)移位參數(shù)可學(xué)習(xí)的目的,提高了網(wǎng)絡(luò)訓(xùn)練的速度。

      稀疏移位是一種特殊的主動移位,將移位通道劃分為兩部分,一部分進(jìn)行移位運算,而另一部分保持不變,其操作方式如圖4(c)所示。稀疏移位中并非所有的通道都參與移位運算,僅有部分特殊通道參與了移位運算,而后進(jìn)行逐點卷積運算。假定參與移位運算的通道數(shù)量為M′,其中M′<M,移位內(nèi)核的數(shù)量同樣由M降低至M′,稀疏移位運算有種移位可能性,極大地縮小了搜尋范圍,降低了網(wǎng)絡(luò)的參數(shù)量。與主動移位相比,稀疏移位減少了不必要的操作,降低了參數(shù)量。此外,解決了較多移位運算會造成重要信息丟失的問題,保證了信息的完整度。在FE-Net中,引入移位懲罰因子實現(xiàn)稀疏移位運算,降低了網(wǎng)絡(luò)的參數(shù),提高了網(wǎng)絡(luò)運行的效率。

      Fig.4 Different shift operations applied to feature maps圖4 應(yīng)用于特征圖的不同移位操作

      3.2 基于空間卷積的模型設(shè)計

      MobileNetV2、ShuffleNetV2和ESPNetV2均是對基礎(chǔ)模型的空間卷積運算改進(jìn)而成的。因此,本節(jié)主要對空間卷積運算進(jìn)行分析,進(jìn)而給出合適的構(gòu)建塊,最終給出整體網(wǎng)絡(luò)結(jié)構(gòu),并總結(jié)模型特點。

      3.2.1 MobileNetV2

      MobileNetV2[37]是Google公司為移動設(shè)備和嵌入式視覺應(yīng)用提出的一個尺寸小、延遲低的卷積神經(jīng)網(wǎng)絡(luò),是MobileNetV1的改進(jìn)版。整體網(wǎng)絡(luò)沿用了MobileNetV1的深度可分離卷積作為基礎(chǔ)運算單元,從而實現(xiàn)較低參數(shù)量和計算量。

      標(biāo)準(zhǔn)卷積可分解成一個深度卷積和一個逐點卷積,這就形成了深度可分離卷積。假設(shè)H×W×M表示輸入特征,輸出特征為H×W×N,標(biāo)準(zhǔn)卷積核如圖5(a)所示,標(biāo)準(zhǔn)卷積層參數(shù)量為K2MN,標(biāo)準(zhǔn)卷積的計算復(fù)雜度為K2MNHW。深度卷積核如圖5(b)所示,深度卷積運算的計算復(fù)雜度為K2MHW,參數(shù)量為K2M。深度可分離卷積從參數(shù)量和計算復(fù)雜度方面均有了明顯的下降。

      Fig.5 Standard convolution kernel and depthwise separable convolution kernel圖5 標(biāo)準(zhǔn)卷積核和深度可分離卷積核

      此外,MobileNetV2在結(jié)構(gòu)上借鑒了ResNet[46],并進(jìn)行了以下兩方面改進(jìn):一是引入了線性瓶頸結(jié)構(gòu),即刪除了在低維度輸出層后所連接的非線性激活層,保證了信息的完整性;二是引入了反向殘差結(jié)構(gòu)。采用先“升維”再“降維”的方式,保證了特征信息的有效傳遞。

      MobileNetV2基本構(gòu)建塊是具有反向殘差的深度可分離卷積塊,該基本構(gòu)建塊的詳細(xì)結(jié)構(gòu)如圖6,首先通過1×1卷積層,對其輸入通道維度升高;隨后使用深度可分離卷積混合信息;最后經(jīng)過1×1卷積運算降低維度。

      Fig.6 Basic building blocks of MobileNetV2圖6 MobileNetV2的基本構(gòu)建塊

      Table 1 MobileNetV2 architecture表1 MobileNetV2整體網(wǎng)絡(luò)結(jié)構(gòu)

      MobileNetV2整體網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。其中t表示模型的核心構(gòu)建塊中的擴展因子,c為輸出通道數(shù),n為每層重復(fù)運行的次數(shù),s為重復(fù)計算中第一次的步長,其余步長均為1。MobileNetV2中使用ReLU6作為非線性激活函數(shù),在低精度計算時具有較高的魯棒性。模型訓(xùn)練時,利用Batch Normalization[47]和Dropout[48]避免了梯度消失和退化的問題。

      MobileNetV2創(chuàng)新點在于采用MobileNetV1的深度可分離卷積作為基礎(chǔ)運算單元,降低了模型的大小,引入了線性瓶頸和反向殘差結(jié)構(gòu),保證了信息的完整性,有效地解決了梯度消失等問題。但在應(yīng)用中存在一定局限性,網(wǎng)絡(luò)尺寸大小應(yīng)高于一定數(shù)值,即網(wǎng)絡(luò)通道數(shù)量不應(yīng)設(shè)置過少,否則會導(dǎo)致信息傳遞過程中丟失過多信息,進(jìn)而大幅度降低精確度。

      3.2.2 ShuffleNetV2

      ShuffleNetV2是曠視科技提出的一種高效的CNN模型,和MobileNetV2一樣適用于移動端的輕量級網(wǎng)絡(luò)模型。網(wǎng)絡(luò)同樣采用深度可分離卷積作為基礎(chǔ)運算單元。

      ShuffleNetV2構(gòu)建模塊如圖7所示。對于步長為1的模塊,引入了一種名為通道分片(channel split)的運算方法,該方法將輸入通道一分為二,其中一部分向下直接傳遞,另一部分進(jìn)行卷積運算,將二者結(jié)果進(jìn)行合并,且后不加ReLU操作,輸出信息前進(jìn)行Channel Shuffle操作,增加通道之間的信息交流。對于步長為2的采樣模塊,該層需要將通道數(shù)量翻倍,即直接將輸入通道傳向兩個部分,最后結(jié)果進(jìn)行合并。

      Fig.7 ShuffleNetV2 basic building blocks圖7 ShuffleNetV2基礎(chǔ)構(gòu)建模塊

      ShuffleNetV2中Channel Shuffle操作主要是為了解決不同組卷積間信息交流不暢的問題。如圖8(a)所示,輸入特征被分為3組,若存在3組卷積,組與組之間信息并無交流,影響了模型的表達(dá)能力,因此需要增加組件信息交流的機制。圖8(b)中所示,對不同組卷積后的特征圖進(jìn)行“重組”操作,這樣同樣可以完成組間信息交流的目的,但是Channl Shuffle采取的“重組”策略更為優(yōu)秀,即按照一定規(guī)律進(jìn)行重組,具體實現(xiàn)如圖8(c)所示。ShuffleNetV2整體網(wǎng)絡(luò)結(jié)構(gòu)如表2所示。

      ShuffleNetV2的創(chuàng)新點在于采用了Channel Shuffle操作,來提高組間的信息交換。此外,提出了輕量級網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的四項實用準(zhǔn)則:一是輸入通道數(shù)與輸出通道數(shù)保持相等可以最小化內(nèi)存訪問成本;二是分組卷積中使用過多的分組會增加內(nèi)存訪問成本;三是網(wǎng)絡(luò)結(jié)構(gòu)太復(fù)雜(分支和基本單元過多)會降低網(wǎng)絡(luò)的并行程度;四是元素級別的操作消耗不能夠忽視。但ShuffleNetV2模型對內(nèi)存訪問效率提出了更高的需求,內(nèi)存訪問效率直接影響Channel Shuffle的運行速度,進(jìn)而改變網(wǎng)絡(luò)預(yù)測快慢。

      Fig.8 Channel Shuffle圖8 Channel Shuffle操作

      Table 2 ShuffleNetV2 architecture表2 ShuffleNetV2整體網(wǎng)絡(luò)結(jié)構(gòu)

      3.2.3 ESPNetV2

      ESPNetV2是對應(yīng)用于語義分割的卷積神經(jīng)網(wǎng)絡(luò)ESPNetV1進(jìn)行通用化后推出的網(wǎng)絡(luò)結(jié)構(gòu)。該網(wǎng)絡(luò)的核心構(gòu)建模塊是EESP單元,它使用可膨脹可分離卷積來代替標(biāo)準(zhǔn)卷積運算。深度可膨脹可分離卷積(depthwise dilated separable)通過將標(biāo)準(zhǔn)卷積分解為兩層,來實現(xiàn)過濾器的輕量化:一是深度可膨脹可分離卷積引入了膨脹率r,該參數(shù)能夠有效提高卷積運算的感受野(receptive field);二是逐點卷積學(xué)習(xí)輸入的線性組合,降低了計算成本。假設(shè)輸入通道數(shù)為M,輸出通道數(shù)為N,卷積核大小為K×K。深度可膨脹可分離卷積計算復(fù)雜度是標(biāo)準(zhǔn)卷積的1/N+1/K2倍。表3中提供了不同類型卷積之間的比較。其中EFF代表的是有效感受野值,g為分組的數(shù)量,Kr=(K-1)×r+1。

      Table 3 Comparison of different convolution EFF values表3 不同卷積EFF值對比

      下面具體介紹ESPNetV2的核心構(gòu)建模塊EESP(extremely efficient spatial pyramid of depthwise dilated separable convolutions)單元,其結(jié)構(gòu)如圖9所示。步長為1的EESP單元如圖9(a),首先是1×1分組卷積,然后是3×3的深度可膨脹可分離卷積,緊接著使用層次特征融合(hierarchical feature fusion,HFF)對結(jié)果進(jìn)行融合,有效地消除由膨脹卷積引起的gridding artifacts[49-50]問題。對于帶有Stride的EESP單元如圖9(b),在原有EESP基礎(chǔ)上,將深度可膨脹可分離卷積的步長設(shè)置為2,并對輸入通道進(jìn)行3×3平均池化,所得結(jié)果和輸出進(jìn)行拼接;此外,將輸入圖像進(jìn)行P次3×3平均池化,然后進(jìn)行3×3卷積和1×1卷積,最后結(jié)果與拼接特征圖相加。其中每個卷積層表示的含義如下:Conv-n,n×n標(biāo)準(zhǔn)卷積;GConv-n,n×n組卷積;DConv-n,n×n膨脹卷積;DDConv-n,n×n深度膨脹卷積;括號內(nèi)表示的分別為輸入通道數(shù)、輸出通道數(shù)和膨脹率。

      ESPNetV2的整體網(wǎng)絡(luò)結(jié)構(gòu)如表4所示,為了增加網(wǎng)絡(luò)深度,該網(wǎng)絡(luò)會重復(fù)使用EESP單元。在EESP單元之后使用batch normalization和PReLU[51],但最后一次卷積運算除外。在實驗中,將膨脹率r與EESP單元中分組數(shù)g設(shè)置為正比關(guān)系,其感受野隨著g增大而增大。同時限制了每個空間感受野維數(shù),以此減少梯度消失問題的出現(xiàn)。

      Table 4 ESPNetV2 architecture表4 ESPNetV2整體網(wǎng)絡(luò)結(jié)構(gòu)

      Fig.9 ESPNetV2 basic building blocks圖9 ESPNetV2的基礎(chǔ)構(gòu)建塊

      ESPNetV2創(chuàng)新點在于提出了深度可膨脹可分離卷積代替深度可分離卷積的方法,并采用層次特征融合(hierarchical feature fusion,HFF),消除gridding artifacts問題,降低了網(wǎng)絡(luò)計算復(fù)雜度,提高了網(wǎng)絡(luò)的感受野。但在應(yīng)用中,膨脹率r不會隨著輸入圖像分辨率的大小而改變,需要根據(jù)經(jīng)驗設(shè)置膨脹率數(shù)值大小。

      3.3 基于移位卷積的模型設(shè)計

      ShiftNet、As-ResNet和FE-Net是將基礎(chǔ)模型中空間卷積運算替換為移位卷積運算改進(jìn)而成,采用不同的移位卷積運算,但其網(wǎng)絡(luò)結(jié)構(gòu)均由基礎(chǔ)構(gòu)建塊組合而成。因此本節(jié)同樣從基礎(chǔ)運算、核心構(gòu)建塊和整體網(wǎng)絡(luò)結(jié)構(gòu)三方面進(jìn)行分析,并對模型特點進(jìn)行總結(jié)。

      3.3.1 ShiftNet

      ShiftNet是由伯利克大學(xué)的研究人員提出的一種無參數(shù)、無FLOP的移位運算代替空間卷積運算的一種新型網(wǎng)絡(luò)結(jié)構(gòu)。此網(wǎng)絡(luò)結(jié)構(gòu)的核心構(gòu)建模塊是CSC(conv-shift-conv module)。CSC模塊是對殘差單元模塊的改進(jìn),使用分組移位替換了常用的空間卷積運算。

      分組移位是一種特殊的標(biāo)準(zhǔn)移位,具有較少的移位內(nèi)核。對于標(biāo)準(zhǔn)移位而言,給定移位內(nèi)核大小為Dk,通道大小為M,有種移位內(nèi)核的可能性。在此狀態(tài)空間上搜索最佳移位內(nèi)核成本過高,因此采用分組移位方式,將M個通道平均分為組,每組通道采用同一種移位方向,大大減少了狀態(tài)空間,提高了移位搜尋的效率。

      CSC結(jié)構(gòu)如圖10所示,首先輸入特征通過逐點卷積進(jìn)行處理,然后執(zhí)行移位運算,重新分配空間信息,最后使用逐點卷積來混合通道間的信息。其中,在兩個逐點卷積運算前均進(jìn)行了Batch Normalization和ReLU非線性激活函數(shù)。參照ShuffleNetV1中核心構(gòu)建塊的設(shè)計特點,若步長為1時,即輸入和輸出的尺寸相同,采用加性操作進(jìn)行連接;若步長為2,即輸出通道數(shù)翻倍,對輸入特征圖進(jìn)行平均池化,二者結(jié)果采用通道級聯(lián)進(jìn)行連接。其中,移位運算的內(nèi)核大小用于控制模塊的感受野;膨脹率d表示為“膨脹移位”后數(shù)據(jù)采樣的空間間隔,類似于膨脹卷積。

      Fig.10 ShiftNet kernel building block CSC圖10 ShiftNet的核心構(gòu)建塊CSC

      ShiftNet的整體網(wǎng)絡(luò)架構(gòu)如表5所示。為了進(jìn)一步壓縮模型,ShiftNet采用擴展因子ε控制中間通道的數(shù)量,其方法與MobileNet中寬度因子α相似,控制每個基礎(chǔ)構(gòu)建塊的大小,表5中描述的架構(gòu)稱為ShiftNet-A。對于更小的網(wǎng)絡(luò)架構(gòu)ShiftNet-B和ShiftNet-C而言,ShiftNet-B是將所有CSC模塊中的通道數(shù)量減少2;ShiftNet-C則是把ShiftNet-A組{1;2;3;4}中使用CSC模塊數(shù)量更改為{1;4;4;3},通道數(shù)量變更為{32;64;128;256}。

      Table 5 ShiftNet architecture表5 ShiftNet整體網(wǎng)絡(luò)結(jié)構(gòu)

      ShiftNet創(chuàng)新點在于提出了使用移位運算和逐點卷積代替空間卷積完成聚合空間信息的方法,利用移位運算本身不需要參數(shù)和計算的優(yōu)勢,有效地減少了計算復(fù)雜度和參數(shù)量。同時,為了提高網(wǎng)絡(luò)的訓(xùn)練效率,采用了分組移位的方法,減少了狀態(tài)空間的大小。此外,網(wǎng)絡(luò)的基礎(chǔ)模塊引入擴展因子ε,用于均衡網(wǎng)絡(luò)大小和準(zhǔn)確度。但ShiftNet在實際應(yīng)用中仍有限制,模型訓(xùn)練時間相對較長,而且訓(xùn)練結(jié)果未必為最優(yōu)值。

      3.3.2 As-ResNet

      ShiftNet采用移位運算和逐點卷積代替空間卷積的方式,減少計算復(fù)雜度和參數(shù)量。但網(wǎng)絡(luò)中移位量采用啟發(fā)式進(jìn)行分配,網(wǎng)絡(luò)訓(xùn)練時間較長且優(yōu)化困難,并不能達(dá)到網(wǎng)絡(luò)壓縮最優(yōu)的目的。參照反向傳播算法的特點,結(jié)合ShiftNet的標(biāo)準(zhǔn)移位,提出了主動移位,并應(yīng)用于ResNet網(wǎng)絡(luò),形成新型網(wǎng)絡(luò)As-ResNet。其網(wǎng)絡(luò)主要對基礎(chǔ)運算方式進(jìn)行改進(jìn)。

      不同于標(biāo)準(zhǔn)卷積運算,主動移位將卷積運算解構(gòu)為兩個操作步驟進(jìn)行實現(xiàn),分別是移位運算和逐點卷積運算。其具體解構(gòu)卷積如圖11所示,觀察標(biāo)準(zhǔn)卷積運算基本構(gòu)成,標(biāo)準(zhǔn)卷積等價于逐點卷積的總和,利用移位輸入代替卷積核參與運算,最后共享移位輸入,形成這種運算方式。該運算方式具有較少的計算量和內(nèi)存訪問,但是在移位方向僅有一個的情況下,運算的性能會大打折扣。為了保證移位輸入具有較高的性能,設(shè)計了主動移位層(ASL)。ASL使用深度移位方法,為每個通道引入移位參數(shù)α和β,并提出了α和β可微的方法,即在運算中,將α和β的整數(shù)約束放寬為實值,并放寬對雙線性插值的移位運算。因此,該方法的參數(shù)具有可學(xué)習(xí)的能力,通過反向傳播算法進(jìn)行優(yōu)化,以達(dá)到計算速度更快、網(wǎng)絡(luò)更小的目的。

      Fig.11 Deconstructed convolution圖11 解構(gòu)卷積示意圖

      As-ResNet的整體網(wǎng)絡(luò)結(jié)構(gòu)如表6所示,其中基礎(chǔ)構(gòu)建塊是由BN-ReLU-1×1 Conv-ASL-BN-ReLU-1×1 Conv順序構(gòu)成,與ShiftNet中CSC模塊相似,n為重復(fù)運行該層的次數(shù),s為步長。網(wǎng)絡(luò)整體結(jié)構(gòu)僅在第一層使用了空間卷積運算。隨著網(wǎng)絡(luò)深度的增加,輔助層的數(shù)量增多,為了進(jìn)一步控制網(wǎng)絡(luò)的大小和準(zhǔn)確性,采用與MobileNet、ShuffleNet同樣的方法,加入了基本寬度參數(shù)w,控制輸出通道數(shù)。

      Table 6 As-ResNet architecture表6 As-ResNet整體網(wǎng)絡(luò)結(jié)構(gòu)

      As-ResNet的創(chuàng)新點在于使用主動移位替代空間卷積,并以此設(shè)計了主動移位層(ASL),將移位運算量化為具有參數(shù)的函數(shù),而且可以通過反向傳播來學(xué)習(xí)移位量,能夠模仿各類型卷積運算。但As-ResNet中移位運算依靠于內(nèi)存操作,其直接影響網(wǎng)絡(luò)運行效率,選用合適的硬件設(shè)備十分重要。

      3.3.3 FE-Net

      移位卷積運算是一種有效的超越深度可分離卷積的方法,在ShiftNet和As-ResNet中均有了較好的成效,但它的實現(xiàn)方式仍是一大難題,即內(nèi)存移動。因此,F(xiàn)E-Net提出了基于稀疏移位層(SSL)的卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建方法,即使用稀疏移位運算代替標(biāo)準(zhǔn)卷積,具體實現(xiàn)方法為:在損失函數(shù)中,給移位操作添加懲罰項,去除無用的移位操作。隨后,采用量化感知的移位學(xué)習(xí)方法,使移位運算可微,確保了移位卷積的可學(xué)習(xí)性。最后,為了最大程度發(fā)揮SSL的作用,F(xiàn)E-Net重新設(shè)計了基礎(chǔ)構(gòu)建塊,并對網(wǎng)絡(luò)體系結(jié)構(gòu)進(jìn)行相應(yīng)的改進(jìn)。

      FE-Net的核心構(gòu)建塊FE-Block(fully-exploited computational block)是網(wǎng)絡(luò)的重要組成部分,其結(jié)構(gòu)如圖12所示。在這個構(gòu)建塊中,每次基本計算僅有一部分特征參與其中。對于不同的計算塊,參與計算的特征圖數(shù)量會隨著計算的深入逐漸增加。對于具有n=3個基本單元的計算塊,輸入特征圖被均勻劃分為2n-1部分,第m個計算塊進(jìn)行計算時,有2m-1部分參與其中。FE-Block的基本計算單元如圖13所示,圖13(b)主要用于核心構(gòu)建塊中使用,但對于每個計算塊的最后一個計算單元,使用圖13(a)來更改下一個計算塊的通道數(shù)量,或者使用圖13(c)進(jìn)行空間向下采樣。

      Fig.12 FE-Block:FE-Net kernel building block圖12 FE-Net的核心構(gòu)建塊FE-Block

      Fig.13 FE-Block basic calculation unit圖13 FE-Block的基本計算單元

      FE-Net的整體網(wǎng)絡(luò)結(jié)構(gòu)如表7所示,其中t表示基礎(chǔ)運算單元中,第一個1×1卷積輸入通道的擴展率;該運算塊重復(fù)n次,輸出通道數(shù)為c,步長為s。為了進(jìn)一步平衡網(wǎng)絡(luò)的大小和準(zhǔn)確率,網(wǎng)絡(luò)中引入了寬度因子作為超參數(shù)。

      FE-Net的創(chuàng)新點在于引入了SSL,能夠快速準(zhǔn)確地建立神經(jīng)網(wǎng)絡(luò),減少了無意義的移位操作;隨后采用量化感知的移位學(xué)習(xí)方法,保證移位卷積的可學(xué)習(xí)性,同時避免了推理過程中的插值;最后根據(jù)SSL的特點,設(shè)計了一個緊湊的神經(jīng)網(wǎng)絡(luò)。FE-Net尺寸不能設(shè)置過小,該方式不僅導(dǎo)致稀疏層無效化,而且影響信息傳遞的完整性。

      Table 7 FE-Net architecture表7 FE-Net整體網(wǎng)絡(luò)結(jié)構(gòu)

      4 網(wǎng)絡(luò)性能對比

      為了更直觀地分析6個緊湊的神經(jīng)網(wǎng)絡(luò)性能,在ImageNet2012數(shù)據(jù)集上進(jìn)行實驗,實驗結(jié)果如表8所示,主要參數(shù)有模型的參數(shù)量、FLOPs和分類準(zhǔn)確率。表格按照參數(shù)量數(shù)值大小分為4組進(jìn)行對比,即1.2、3.6、6.5和10+Parames/106。與此同時,表格中加入了3個常規(guī)網(wǎng)絡(luò)在該數(shù)據(jù)集上運行的參數(shù)。在模型訓(xùn)練時,通過調(diào)整超參數(shù),均衡網(wǎng)絡(luò)在精度及速度方面的性能,其中超參數(shù)多指寬度因子,即各個基礎(chǔ)構(gòu)建塊間銜接時輸入輸出通道數(shù)量,若減少該值大小,網(wǎng)絡(luò)精度會有所下降,但預(yù)測速度加快。另外,存在部分網(wǎng)絡(luò)通過調(diào)整網(wǎng)絡(luò)中的重要參數(shù),進(jìn)一步改善網(wǎng)絡(luò)的精度和速度,如MobileNetV2的擴展因子t、ESPNetV2的膨脹率r、FE-Net的擴展率等。

      分析表8中數(shù)據(jù)不難看出,在同等模型參數(shù)量的條件下FE-Net的分類準(zhǔn)確度要高于其他5個網(wǎng)絡(luò)框架,而ShuffleNetV2的表現(xiàn)也同樣出彩。將其按照基本運算方式進(jìn)行分類,即MobileNet、ShuffleNet和ESPNet是基于空間卷積的模型,簡稱為第一類網(wǎng)絡(luò);ShiftNet、As-ResNet和FE-Net是基于移位卷積的模型,簡稱為第二類網(wǎng)絡(luò)。

      對比第一類網(wǎng)絡(luò)模型,在同等計算復(fù)雜度的情況下,ShuffleNetV2表現(xiàn)要優(yōu)于其他兩個網(wǎng)絡(luò)結(jié)構(gòu),且參數(shù)量也并無較為明顯的差距。在具體硬件設(shè)備上進(jìn)行測試,ShuffleNetV2預(yù)測速度最快,而ESPNetV2的準(zhǔn)確度雖略遜于ShuffleNetV2,但其功耗最低,主要由于ESPNetV2網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計較為簡單,且沒有采用通道混洗的方法,減少了對內(nèi)存的訪問操作,在保持功耗較低的情況下?lián)碛邢喈?dāng)?shù)臏?zhǔn)確度。

      Table 8 Performance comparison of multiple network models on ImageNet2012 dataset表8 多網(wǎng)絡(luò)模型在ImageNet2012數(shù)據(jù)集上性能對比

      對于第二類網(wǎng)絡(luò)模型,在同等參數(shù)量的條件下,FE-Net的分類準(zhǔn)確度最優(yōu),這主要因為稀疏移位比主動移位和分組移位在空間信息特征提取度高,減少了無用的移位操作,節(jié)省了資源。

      對比第一類和第二類網(wǎng)絡(luò)結(jié)構(gòu)可發(fā)現(xiàn),第二類網(wǎng)絡(luò)結(jié)構(gòu)的計算復(fù)雜度普遍較高,即FLOPs較高。FLOPs雖然被廣泛應(yīng)用于比較模型的計算復(fù)雜度,并且認(rèn)為它與時間運行成比例,但在文獻(xiàn)[39,43]均提出,F(xiàn)LOPs僅是衡量模型計算復(fù)雜度的間接指標(biāo)之一。內(nèi)存訪問成本(memory access cost,MAC)和模型并行度也是影響模型間接計算復(fù)雜度的情況之一。此外,第一類的FLOPs主要由深度可分離卷積提供,而第二類的FLOPs主要由1×1卷積提供。文獻(xiàn)[43]對1×1卷積運算和3×3深度可分離卷積的運算效率進(jìn)行對比,盡管1×1卷積的FLOPs要大很多,但是它的運行效率要遠(yuǎn)高于3×3深度可分離卷積。這一點在實驗中得到了驗證,在同等的計算能力設(shè)備上,As-ResNet和FE-Net模型在GPU和CPU上的運行速度快于MobileNetV2。

      最后,對比緊湊的神經(jīng)網(wǎng)絡(luò)和3個常規(guī)網(wǎng)絡(luò)的準(zhǔn)確度、FLOPs和網(wǎng)絡(luò)參數(shù)量,常規(guī)卷積神經(jīng)網(wǎng)絡(luò)AlexNet、GoogleNet和VGG-16在各個方面的參數(shù)都略遜于這6個緊湊的神經(jīng)網(wǎng)絡(luò),甚至在準(zhǔn)確度方面已經(jīng)遠(yuǎn)超于常規(guī)網(wǎng)絡(luò)。這表明,緊湊的神經(jīng)網(wǎng)絡(luò)設(shè)計并不是必須犧牲網(wǎng)絡(luò)準(zhǔn)確度來獲取更小的網(wǎng)絡(luò)模型尺寸的,在降低網(wǎng)絡(luò)模型尺寸的同時,也可擁有較高的準(zhǔn)確度。

      5 緊湊神經(jīng)網(wǎng)絡(luò)設(shè)計技巧

      本文所列的六個模型對于人工設(shè)計緊湊神經(jīng)網(wǎng)絡(luò)架構(gòu)有著重要的意義,其設(shè)計方法典型有效。首先,對這六個模型的設(shè)計方法進(jìn)行梳理和總結(jié),然后得出緊湊神經(jīng)網(wǎng)絡(luò)架構(gòu)設(shè)計的要點,最后討論緊湊神經(jīng)網(wǎng)路的發(fā)展方向。

      MobileNetV2使用深度可分離卷積降低了計算復(fù)雜度,減少了參數(shù)量。此外,引入了反向殘差和線性瓶頸,有效解決了梯度消失的問題,同時極大提高了網(wǎng)絡(luò)的準(zhǔn)確性,降低了計算復(fù)雜度。ShuffleNetV2提出了Channel Shuffle操作,解決了不同組間“信息交流不暢”的問題,提出了輕量級網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的四項實用準(zhǔn)則。ESPNetV2提出了深度可膨脹可分離卷積,提高了網(wǎng)絡(luò)的感受野。采用分層特征融合方法,有效解決了膨脹卷積運算引起的gridding artifacts問題。最終達(dá)到分類準(zhǔn)確度在同等計算復(fù)雜度情況下與ShuffleNetV2基本一致,且具有較低的功耗。

      ShiftNet采用分組移位運算,具有較高的運算速度。As-ResNet對ShiftNet的移位操作進(jìn)行改進(jìn),提出了主動移位運算方法,并設(shè)計了主動移位層(ASL),使得移位卷積可通過反向傳播學(xué)習(xí)移位量。FE-Net將稀疏移位應(yīng)用于卷積神經(jīng)網(wǎng)路中,是對移位卷積的又一次“升華”,去除了無用的移位操作,極大發(fā)揮了移位操作的優(yōu)勢。

      六大緊湊網(wǎng)絡(luò)模型對比分析如表9所示,具體從設(shè)計技巧、優(yōu)缺點、應(yīng)用建議三方面進(jìn)行介紹。從表9中可以看出,基礎(chǔ)運算直接影響網(wǎng)絡(luò)的表現(xiàn),網(wǎng)絡(luò)結(jié)構(gòu)也應(yīng)根據(jù)不同的基礎(chǔ)運算做出相應(yīng)的調(diào)整。在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計時,網(wǎng)絡(luò)深度并非越深越好。具體應(yīng)用網(wǎng)絡(luò)時,根據(jù)網(wǎng)絡(luò)特點,選用匹配的硬件器件,并對其做出相應(yīng)優(yōu)化。

      Table 9 Comparative analysis of six compact network models表9 六大緊湊網(wǎng)絡(luò)模型對比分析

      對比這六個模型設(shè)計緊湊神經(jīng)網(wǎng)絡(luò)的方法,殘差單元是緊湊神經(jīng)網(wǎng)絡(luò)模型的重要參考結(jié)構(gòu)。殘差網(wǎng)絡(luò)有效地解決了網(wǎng)絡(luò)退化和梯度消失問題,在網(wǎng)絡(luò)準(zhǔn)確度較低的情況下,可以通過增加網(wǎng)絡(luò)的深度來提高網(wǎng)絡(luò)的性能。這一結(jié)構(gòu)特點有利于緊湊神經(jīng)網(wǎng)絡(luò)模型的設(shè)計的集中性,無需考慮網(wǎng)絡(luò)深度對其準(zhǔn)確度的影響,極大地縮減了模型設(shè)計的時間。

      再者,采用不同的基礎(chǔ)卷積運算對設(shè)計緊湊神經(jīng)網(wǎng)絡(luò)模型設(shè)計有很大的提升,MobileNet和Shuffle-Net采用深度可分離卷積作為基礎(chǔ)卷積運算單元,降低了卷積運算計算復(fù)雜度,減少了參數(shù)量;ESPNet采用深度可膨脹可分離卷積作為基礎(chǔ)卷積運算單元,在深度可分離卷積的基礎(chǔ)上增加了運算的感受野。因此,選用適當(dāng)?shù)幕A(chǔ)卷積運算對設(shè)計緊湊神經(jīng)網(wǎng)絡(luò)模型有著重要意義。

      與卷積運算相比,采用標(biāo)準(zhǔn)移位運算同樣能夠?qū)崿F(xiàn)聚合空間信息的目的,是一種有效的替代方法。標(biāo)準(zhǔn)移位先將輸入信息進(jìn)行移位運算,重新排列空間信息,后進(jìn)行逐點卷積,聚合空間信息。標(biāo)準(zhǔn)移位運算在速度上要優(yōu)于標(biāo)準(zhǔn)卷積運算,且其計算代價與核大小無關(guān)。因此,這樣的運算方式有利于緊湊神經(jīng)網(wǎng)絡(luò)模型的設(shè)計。

      此外,可以采取與其他方法相結(jié)合的方式,進(jìn)一步提高網(wǎng)絡(luò)性能。例如,網(wǎng)絡(luò)可配備SE模塊(squeezeand-excitation)[52],一般放置于基本構(gòu)建塊的輸出位置,利用通道間的相關(guān)性,強化重要通道的特征,提升準(zhǔn)確度。雖然SE模塊可以提高原有網(wǎng)絡(luò)的準(zhǔn)預(yù)測準(zhǔn)確度,但會降低一定運行速度。因而,這一方法僅適用于提高網(wǎng)絡(luò)準(zhǔn)確性,具體使用還需權(quán)衡。

      另外,神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(neural architecture search,NAS)是近年來提出的自動化設(shè)計神經(jīng)網(wǎng)絡(luò)的方法,可自動設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)[53-56]。在網(wǎng)絡(luò)架構(gòu)搜尋前,需要對卷積層、卷積單位和卷積核的大小等參數(shù)進(jìn)行預(yù)先設(shè)定,隨后使用預(yù)設(shè)定的參數(shù)在一個巨大的網(wǎng)絡(luò)空間上搜尋。其中文獻(xiàn)[54-55]對MobileNetV2進(jìn)行了改進(jìn),并取得了良好的效果,但對資源消耗量較大,有一定的局限性。對于資源較為充沛設(shè)計人員,不失為一種設(shè)計輕量化模型的好方法。

      最后,計算復(fù)雜度和參數(shù)量僅能代表網(wǎng)絡(luò)的部分性能優(yōu)劣,對于緊湊的神經(jīng)網(wǎng)絡(luò)模型性能的測試,應(yīng)在具體設(shè)備上進(jìn)行測試,比較網(wǎng)絡(luò)的性能。與此同時,為了打破算法建模和硬件實現(xiàn)之間的鴻溝,硬件-軟件協(xié)同設(shè)計方法也將成為未來的發(fā)展趨勢。

      6 結(jié)束語

      深度神經(jīng)網(wǎng)絡(luò)在廣泛的應(yīng)用中得到了優(yōu)秀的表現(xiàn),讓神經(jīng)網(wǎng)絡(luò)真正地走向生活中,需要對網(wǎng)絡(luò)模型在大小、速度和準(zhǔn)確度方面做出平衡,以能夠成功實現(xiàn)網(wǎng)絡(luò)運行在資源緊缺的移動端或嵌入式設(shè)備。本文首先簡述了網(wǎng)絡(luò)壓縮與加速的兩種方法,即神經(jīng)網(wǎng)絡(luò)壓縮和緊湊神經(jīng)網(wǎng)絡(luò)設(shè)計。隨后重點介紹了緊湊神經(jīng)網(wǎng)絡(luò)設(shè)計的主流方法,并根據(jù)不同的基本運算分為空間卷積和移位卷積兩大類。同時,還對這兩大類中典型網(wǎng)絡(luò)模型進(jìn)行了梳理和論述,并且分析了網(wǎng)絡(luò)性能的優(yōu)缺點。最后,總結(jié)了緊湊神經(jīng)網(wǎng)絡(luò)設(shè)計的技巧,并對其發(fā)展方向進(jìn)行了展望。

      猜你喜歡
      網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度移位
      再生核移位勒讓德基函數(shù)法求解分?jǐn)?shù)階微分方程
      大型總段船塢建造、移位、定位工藝技術(shù)
      一種低復(fù)雜度的慣性/GNSS矢量深組合方法
      Σ(X)上權(quán)移位算子的不變分布混沌性
      求圖上廣探樹的時間復(fù)雜度
      基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
      某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
      知識網(wǎng)絡(luò)結(jié)構(gòu)維對于創(chuàng)新績效的作用機制——遠(yuǎn)程創(chuàng)新搜尋的中介作用
      滬港通下A+ H股票網(wǎng)絡(luò)結(jié)構(gòu)演化的實證分析
      復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)比對算法研究進(jìn)展
      曲阳县| 会昌县| 故城县| 恩平市| 澳门| 咸宁市| 南江县| 通州市| 凤台县| 肃南| 康马县| 外汇| 盈江县| 长寿区| 广饶县| 冷水江市| 凌海市| 四会市| 太保市| 邵东县| 正安县| 清镇市| 黄梅县| 苍溪县| 杭州市| 安义县| 扶沟县| 光泽县| 承德市| 龙口市| 瓦房店市| 普陀区| 长宁区| 类乌齐县| 阿合奇县| 肇庆市| 枞阳县| 镇雄县| 天全县| 怀化市| 仁寿县|