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

?

基于改進(jìn)深度殘差網(wǎng)絡(luò)的圖像分類算法

2021-04-09 03:10:26儲岳中汪佳慶張學(xué)鋒
電子科技大學(xué)學(xué)報 2021年2期
關(guān)鍵詞:升維瓶頸殘差

儲岳中,汪佳慶,張學(xué)鋒,劉 恒

(1. 安徽工業(yè)大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院 安徽 馬鞍山 243032;2. 安徽省工業(yè)互聯(lián)網(wǎng)智能應(yīng)用與安全工程實驗室 安徽 馬鞍山 243023)

自從深度殘差網(wǎng)絡(luò)ResNet 被提出來并在ILSVRC2015 比賽中取得冠軍后,許多研究者把目光放在了ResNet 的改進(jìn)工作上,由此出現(xiàn)了一大批優(yōu)秀的基于殘差結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)。目前為止改進(jìn)大體上可分為4 類:1)是對輸入模塊的數(shù)據(jù)進(jìn)行split-transform-merge 操作,例如使用分組卷積的ResNext[1]和使用層級殘差結(jié)構(gòu)的Res2Net[2],它們能在降低消耗的同時增加網(wǎng)絡(luò)的精度。2)在殘差結(jié)構(gòu)里引入注意力機(jī)制,例如加入通道自注意力機(jī)制的SENet[3]、加入多尺度自適應(yīng)調(diào)節(jié)感受的SKnet[4]、使用分組注意力機(jī)制的ResNeSt[5]。注意力機(jī)制的使用可以讓網(wǎng)絡(luò)有偏向地選擇重要的特征圖進(jìn)行特征提取,從而提高精度。3)優(yōu)化模塊拓?fù)浣Y(jié)構(gòu),例如使用預(yù)先激活方式的ResNetV2[6],使網(wǎng)絡(luò)易于優(yōu)化并提高模型的正則化,以及每個stage 采用不同模塊來優(yōu)化拓?fù)浣Y(jié)構(gòu)的IResNet[7],加強(qiáng)了信息在網(wǎng)絡(luò)間的傳播,減少了信息損失。4)對殘差網(wǎng)絡(luò)整體進(jìn)行優(yōu)化,例如提出讓網(wǎng)絡(luò)變得更寬的WRN[8]和建立密集連接從而緩解梯度消失、加強(qiáng)特征傳播的DenseNet[9]。

上述網(wǎng)絡(luò)大部分都是在ResNet 的瓶頸結(jié)構(gòu)基礎(chǔ)上進(jìn)行改進(jìn)的。瓶頸結(jié)構(gòu)由一條主干和一條殘差支路組成,主干上數(shù)據(jù)先由1×1 點卷積進(jìn)行降維,再經(jīng)過3×3 卷積塊進(jìn)行特征提取,最后由1×1 點卷積升維,卷積過程中還使用BN 操作進(jìn)行歸一化以及Relu 函數(shù)增加非線性。先降維最后升維的操作大大降低了3×3 卷積所需的計算量。傳統(tǒng)的觀點認(rèn)為影響準(zhǔn)確率的主要是3×3 卷積核,所以多數(shù)工作都是對其進(jìn)行改進(jìn),而選擇保留降維升維的1×1卷積核。瓶頸結(jié)構(gòu)比較簡單,但網(wǎng)絡(luò)結(jié)構(gòu)上也存在冗余,因此后面出現(xiàn)的殘差網(wǎng)絡(luò)如ResNext 才能在不過多增加計算量的前提下提高準(zhǔn)確率。冗余的產(chǎn)生主要來自升維操作時生成的過多的類似特征圖[10]。傳統(tǒng)的改進(jìn)方法偏向于增加升維時輸入數(shù)據(jù)的特征圖數(shù)量[8]以及復(fù)雜性[1-2,4]。這兩種操作都能有效減少瓶頸結(jié)構(gòu)輸出信息的冗余。但考慮到冗余性還和分類任務(wù)的類別數(shù)有關(guān),類別數(shù)越大,需要的有效特征圖數(shù)量也就越多。在面對如10 分類這樣的分類任務(wù)時,傳統(tǒng)的瓶頸結(jié)構(gòu)及其改進(jìn)還是不可避免地產(chǎn)生過多的冗余特征圖。這些冗余雖然保證了網(wǎng)絡(luò)對輸入信息的充分理解,但過多的冗余信息會導(dǎo)致計算資源的浪費。

針對這個問題,本文對瓶頸結(jié)構(gòu)里的升維操作進(jìn)行了改進(jìn)。利用殘差結(jié)構(gòu)建立了升維操作輸入和輸出之間的通路,并使用連接操作代替殘差結(jié)構(gòu)中的加法。由于用到了殘差結(jié)構(gòu)和連接操作,把這個結(jié)構(gòu)命名為RC。RC 結(jié)構(gòu)不僅減少了升維操作的計算量和參數(shù)量,而且提高了反向傳播時的梯度傳遞,在面對分類數(shù)較少的任務(wù)時能夠有效提升網(wǎng)絡(luò)精度。由于RC 結(jié)構(gòu)能和很多殘差網(wǎng)絡(luò)相結(jié)合,在多個數(shù)據(jù)集上進(jìn)行了多組對比實驗,結(jié)果顯示基于RC 的瓶頸結(jié)構(gòu)在面對分類數(shù)較少的任務(wù)時,效率和精度都有所提升。

1 研究方法

1.1 冗余性分析

圖1a 為ResNet 原文[11]中提出的一個瓶頸結(jié)構(gòu)案例。輸入數(shù)據(jù)的特征圖通道數(shù)為256,經(jīng)過降維、特征提取后,升維復(fù)原成256 個通道,并與支路傳來的數(shù)據(jù)相加作為輸出。比起直接使用一個3×3 卷積核進(jìn)行特征提取,這樣做無疑大大降低了運算量,但精度也會受到影響。圖1b 為保證輸入輸出特征通道數(shù)不變的情況下,只使用一個3×3 卷積核進(jìn)行特征提取的情況。在cifar10 上做了個簡單的對比實驗,相關(guān)配置和實驗部分一致,實驗結(jié)果如表1 所示。ResNet#為將ResNet29 中的瓶頸結(jié)構(gòu)替換為圖1b 時的情況,結(jié)果顯示使用瓶頸結(jié)構(gòu)后計算量和參數(shù)量大大減少了(表格里M 為million,B為billion),但在SGD 和Adam 這兩種優(yōu)化器下,準(zhǔn)確率都減少了2%~3%。

圖1 瓶頸結(jié)構(gòu)案例和未使用瓶頸結(jié)構(gòu)案例

表1 ResNet29 和ResNet#實驗對比

在圖1 中,兩種模塊的輸出都是256 個通道,但實驗結(jié)果表明,圖1b 結(jié)構(gòu)有著更好的特征表達(dá)能力,其輸出的特征圖所含信息更有效。圖1a 輸出的特征圖雖然也是256 個通道,但相較圖1b 的輸出特征圖存在一些冗余信息。設(shè)瓶頸結(jié)構(gòu)中3×3卷積核輸出通道數(shù)為n,1×1 卷積核升維所產(chǎn)生的通道數(shù)為m,則存在一個比例s=m/n,s 越大代表特征圖通道數(shù)上升比例越大。文獻(xiàn)[7]設(shè)計了更寬的ResNet,即m 不變的情況下n 更大的ResNet網(wǎng)絡(luò),實驗表明增加n 能有效增加ResNet 模塊的特征表達(dá)能力。反過來也能得到:ResNet 瓶頸結(jié)構(gòu)中,m 不變的情況下,n 越小,s 越大,模塊的特征表達(dá)能力越弱,冗余性越高。因此與s=4 的ResNet 網(wǎng)絡(luò)不同,后面新出現(xiàn)的殘差網(wǎng)絡(luò)都選擇了較小的s 值。

瓶頸結(jié)構(gòu)的冗余性除了和s 值有關(guān)外,還和任務(wù)的類別數(shù)有關(guān),以cifar10 和cifar100 為例,進(jìn)行了3 組對比實驗,如表2 所示。k 為n 不變的情況下s 縮放的倍率,k 越小,瓶頸結(jié)構(gòu)輸出的特征圖通道數(shù)m 就越少。從表中可以看出ResNet29(k=1)在cifar10 和cifar100 上準(zhǔn)確率相差很大。100 分類相較10 分類,對網(wǎng)絡(luò)的精確度要求更高,本文認(rèn)為,在其他條件不變的情況下,分類任務(wù)的類別數(shù)越大,維持精度所需的輸出特征圖就越多。而ResNet29 的網(wǎng)絡(luò)結(jié)構(gòu)每層輸出的特征圖是固定的,所以它在10 分類問題上存在的冗余特征圖可能非常多。為了驗證這個猜想,對k={3/4, 1/2}的情況進(jìn)行了測試。表2 顯示,在cifar10 上,k=1 和k=3/4 的結(jié)果十分相似,但k=3/4 時,瓶頸結(jié)構(gòu)輸出特征圖的數(shù)量相較k=1 減少了25%,由此可見ResNet29 在cifar10 上存在相當(dāng)多的冗余,而在cifar100 里k<1 時準(zhǔn)確率明顯下降,這說明在處理分類數(shù)較多的任務(wù)時,特征圖的冗余性會有所降低,削減輸出特征圖的通道數(shù)會使得圖像特征表達(dá)不充分,從而影響最終的準(zhǔn)確率。

表2 不同 k 值的ResNet29 的對比實驗

1.2 RC 結(jié)構(gòu)

上節(jié)分析了瓶頸結(jié)構(gòu)冗余性產(chǎn)生的原因,消耗資源生成冗余的特征圖明顯是不合適的,為了盡量減少這種額外的消耗,設(shè)計了新的升維操作,即RC 結(jié)構(gòu)。RC 結(jié)構(gòu)如圖2 所示,把輸出 Y分為y和y′兩部分, y直接由x得到, y′由x經(jīng)過1×1 點卷積生成,最后把兩者連接起來作為輸出。

圖2 基于RC 的瓶頸結(jié)構(gòu)

RC 降低了計算量和參數(shù),假設(shè)點卷積的輸入特征圖的大小為n×w×h,n 為通道數(shù),輸出特征圖的通道數(shù)為m。單樣本情況下傳統(tǒng)的升維操作運算量為:

參數(shù)量為:

RC 結(jié)構(gòu)下的運算量為:

參數(shù)量為:

p′=n×(m-n)

很明顯l >l′、p >p′,升維操作的消耗大大減少。

RC 結(jié)構(gòu)將x 直接與輸出連接起來,反向傳播時加強(qiáng)了這部分的梯度傳遞,這使得RC 結(jié)構(gòu)在降低了消耗的同時還能增加網(wǎng)絡(luò)精度。

1.3 RC 結(jié)構(gòu)適用性分析

雖然RC 模型輸出的通道沒有改變,但經(jīng)過1×1 點卷積生成的特征圖減少了,這有可能導(dǎo)致升維時輸入的信息沒有被完全表達(dá)。根據(jù)1.2 節(jié)的假設(shè),傳統(tǒng)瓶頸結(jié)構(gòu)的升維操作里,點卷積是權(quán)重形狀為[m,n,1,1]的張量,設(shè)其權(quán)重W=[w1,w2,···,wm],其中 wi是[n,1,1]的張量,則升維操作的運算可以簡略為:

式中, W和 W′是隨著反向傳播而不斷變化的張量;W′′則是固定的,且(W′⊕W′′)與 W的形狀都是[m,n,1,1],因此(W′⊕W′′)是 W的一種部分權(quán)重固定不變的特殊情況。當(dāng)瓶頸結(jié)構(gòu)存在大量冗余時,通過W′輸出的較少數(shù)量的特征圖能夠充分表達(dá)輸入數(shù)據(jù)的特征,引入RC 結(jié)構(gòu)后的瓶頸結(jié)構(gòu)的特征表達(dá)能力就不會受到影響,但當(dāng)瓶頸結(jié)構(gòu)的冗余性較低時, W 比RC 結(jié)構(gòu)里的W′⊕W′′有更多可以訓(xùn)練的權(quán)重,具有更好的特征表達(dá)能力,于是就可能出現(xiàn)引入RC 結(jié)構(gòu)后瓶頸結(jié)構(gòu)的特征表達(dá)能力不如原來的情況。因此RC 結(jié)構(gòu)更適合存在較多冗余信息的網(wǎng)絡(luò),例如處理分類數(shù)較少的分類任務(wù)時。

2 實驗與分析

實驗部分首先進(jìn)行了RC 結(jié)構(gòu)關(guān)于反向傳播的測試,以驗證1.2 節(jié)的結(jié)論。而后分別在cifar10、cifar100 和TinyImageNet 這3 個數(shù)據(jù)集上進(jìn)行了RC結(jié)構(gòu)的功能性驗證,實驗選用的網(wǎng)絡(luò)為ResNet、WRN、ResNetV2、ResNext、SENet、Res2Net 和SKNet,最后將前面表現(xiàn)得優(yōu)秀的網(wǎng)絡(luò)在遙感影像數(shù)據(jù)集上進(jìn)行測試以驗證其遷移性。

2.1 RC 反向傳播測試

為了驗證RC 結(jié)構(gòu)對反向傳播的影響,在圖2的結(jié)構(gòu)上做了些修改,如圖3 所示, x與一個單位陣E 相乘從而得到y(tǒng),由于y=x×E=x,所以圖3結(jié)構(gòu)下的y與圖2 結(jié)構(gòu)下的是一致的,但在訓(xùn)練過程中利用代碼中斷y=x×E這一過程里的梯度傳遞,這種結(jié)構(gòu)記為RC_S。

圖3 中斷反向傳播的RC

如表3 所示,由于ResNet 在10 分類問題上存在大量冗余,所以中斷了y 到x 梯度傳播的ResNet 29_RC_S 與ResNet29 訓(xùn)練結(jié)果相似,但引入了梯度傳播后,ResNet29_RC 的準(zhǔn)確率比改進(jìn)前提高了1.28%。由此可見,直接將x 作為部分輸出能帶來精度提升,這也是后面實驗里引入RC 結(jié)構(gòu)的殘差網(wǎng)絡(luò)能比原版表現(xiàn)更優(yōu)秀的原因。

表3 RC 的反向傳播測試

2.2 cifar 數(shù)據(jù)集實驗

cifar 數(shù)據(jù)集包括cifar10 和cifar100,分別對應(yīng)10 分類和100 分類任務(wù)。由于cifar 的圖片大小為32×32,所以本文選用ResNext29_32×4d 作為基礎(chǔ)框架,并在其基礎(chǔ)上搭建了需要測試的網(wǎng)絡(luò)。訓(xùn)練批次為120,優(yōu)化器選取的是SGD,初始學(xué)習(xí)率為0.1,并且采用每隔30 輪學(xué)習(xí)率除以10 的調(diào)整策略,對于數(shù)據(jù)預(yù)處理,采用的是隨機(jī)裁剪、隨機(jī)反轉(zhuǎn)和標(biāo)準(zhǔn)化。對實驗結(jié)果采用的是去掉極小值后取平均值的統(tǒng)計方法,每個數(shù)據(jù)都是3 組及以上樣本的平均值。

首先對 ResNet、 WRN、 ResNetV2(PreAct-ResNet)、ResNext、Res2Net、SKNet 和引入SE 結(jié)構(gòu)的ResNet 進(jìn)行測試,實驗結(jié)果如表4 所示。除了SKNet 外,其余殘差網(wǎng)絡(luò)引入RC 后的準(zhǔn)確率在cifar10 上都有所增長。而在cifar100 上,Res2Net準(zhǔn)確率降低了,一方面RC 結(jié)構(gòu)在處理分類數(shù)較多的問題時會出現(xiàn)特征表達(dá)不完全的情況,另一方面Res2Net 引入的多尺度信息可能會和RC 結(jié)構(gòu)產(chǎn)生一定沖突,如果這種沖突直接作用在Linear 層,會對分類產(chǎn)生較大影響。于是將Res2Net29_RC 的最后一個瓶頸結(jié)構(gòu)替換為原來的結(jié)構(gòu),為了方便描述,這種針對Res2Net 的改進(jìn)記為RC_res2。結(jié)果顯示,Res2Net_RC_res2 在cifar10 的準(zhǔn)確率有了進(jìn)一步提升,而且在cifar100 上也超過了原版。

表4 cifar 數(shù)據(jù)集的實驗

除了Res2Net 外,也對SEResNet 做出了特殊改進(jìn),如圖4 所示。RC 結(jié)構(gòu)之所以能提高準(zhǔn)確率,是因為將輸入升維操作的數(shù)據(jù)直接作為輸出的一部分,從而加強(qiáng)了這部分的梯度傳遞。而在與SELayer 結(jié)合的時候, y參與了自注意力機(jī)制的情況下可能會影響到其梯度傳遞,所以設(shè)計了圖4b的結(jié)構(gòu)。為方便區(qū)分,這種結(jié)構(gòu)記為RC_se。表4 顯示,在cifar 數(shù)據(jù)集上,SEResNet29_RC_se 的準(zhǔn)確率和效率比SEResNet29_RC 與SEResNet29 更加出色。

圖4 針對SEResNet 做出的特殊改進(jìn)

此外,對于SKNet 與RC 結(jié)合的失敗,本文也做出了各種改進(jìn),但準(zhǔn)確率都達(dá)不到原版的效果,引入RC 結(jié)構(gòu)后,SKNet 的特征表達(dá)能力受到很大的負(fù)面影響。SKNet 較小的s 值(SKNet 瓶頸結(jié)構(gòu)的s=2)是影響因素之一,根據(jù)1.1 節(jié)的分析,越大的s 值代表網(wǎng)絡(luò)的冗余性越多,與RC 結(jié)構(gòu)的結(jié)合效果就越好。本文嘗試增大SKNet 的s 值,發(fā)現(xiàn)s 值增大時,RC 結(jié)構(gòu)起到了提高準(zhǔn)確率的作用,這說明SKNet 也是遵行“冗余性越高,與RC 結(jié)構(gòu)結(jié)合效果越好”這一結(jié)論。因此SKNet 與RC 結(jié)構(gòu)結(jié)合失敗的原因目前只能歸結(jié)為:SKNet 瓶頸結(jié)構(gòu)的輸出特征圖冗余性較低,加入RC 結(jié)構(gòu)后會影響其特征表達(dá)能力。

2.3 TinyImageNet 實驗

TinyImageNet 是200 類的ImageNet 子集,圖片大小為64×64,本文以ResNet50 作為基礎(chǔ),搭建需要測試的網(wǎng)絡(luò),訓(xùn)練相關(guān)設(shè)置和cifar 保持一致。訓(xùn)練結(jié)果如表5 所示。正如1.3 節(jié)分析的,RC結(jié)構(gòu)不適合分類數(shù)較大的任務(wù),在2.2 節(jié)cifar100的實驗里也出現(xiàn)Res2Net-RC 的準(zhǔn)確率有所下降的情況,而在200 類的TinyImageNet 里,這一特性更加明顯,除了SEResNet50 外,其余網(wǎng)絡(luò)的準(zhǔn)確率都出現(xiàn)了小幅下降。所以RC 結(jié)構(gòu)并不適合處理分類數(shù)較多的任務(wù),且不同殘差網(wǎng)絡(luò)對應(yīng)的分類數(shù)臨界值也會有所不同,需要根據(jù)具體情況判斷是否使用RC 結(jié)構(gòu)。

2.4 更多的數(shù)據(jù)集

為了驗證RC 結(jié)構(gòu)的有效性,針對遙感影像數(shù)據(jù)做了額外的實驗,數(shù)據(jù)集選用了12 分類的SIRIWHU Dataset[12]與21 分類的UC Merced Land-Use DataSet[13],采用4∶1 的比例劃分為訓(xùn)練集和測試集。與前面實驗不同的是,采用Adam 作為訓(xùn)練優(yōu)化器,學(xué)習(xí)率初始值為0.001,每隔30 個批次除以2,訓(xùn)練120 個批次,選用ResNet50 為基礎(chǔ)網(wǎng)絡(luò),實驗結(jié)果如表6 所示。SIRI-WHU Dataset的圖片大小為224×224,UC Merced Land-Use DataSet的圖片大小為256×256,面對圖片大小在200 以上的數(shù)據(jù)集時,RC 在ResNetV2(PreActResNet)上表現(xiàn)得并不理想,但在其他網(wǎng)絡(luò)上都有一定的提升。

表5 TinyImageNet 的實驗

表6 遙感影像數(shù)據(jù)集的實驗

3 結(jié) 束 語

本文分析了殘差網(wǎng)絡(luò)的冗余性,針對瓶頸結(jié)構(gòu)進(jìn)行了改進(jìn),使用RC 代替原來的升維操作。RC使用殘差結(jié)構(gòu)和連接操作,降低了升維操作的計算量和參數(shù)量,并增強(qiáng)了梯度傳播。利用cifar 數(shù)據(jù)集和tinyImagenet 數(shù)據(jù)集在多種殘差網(wǎng)絡(luò)上進(jìn)行了測試,驗證了RC 在較少類別分類任務(wù)上的有效性。最后還在遙感影像識別領(lǐng)域做了額外的實驗。本文的實驗部分也存在一些問題沒有得到解答,例如在SKNet 上直接套用RC 結(jié)構(gòu)并沒有發(fā)揮出理想的效果,根本原因是什么?能不能做出有效改進(jìn)?兩個瓶頸結(jié)構(gòu)之間的升維降維操作是否存在冗余計算,可否進(jìn)一步降低計算量等。RC 結(jié)構(gòu)還有值得挖掘的地方,期待未來的研究能完善它。

猜你喜歡
升維瓶頸殘差
專家談:講好中國品牌故事 推動品牌價值升維
中國石化(2022年5期)2022-06-10 06:38:54
基于雙向GRU與殘差擬合的車輛跟馳建模
讓美好生活更美好,保利發(fā)展的信心、堅守與升維
基于殘差學(xué)習(xí)的自適應(yīng)無人機(jī)目標(biāo)跟蹤算法
主動安全“升維”,護(hù)航數(shù)字經(jīng)濟(jì)
基于遞歸殘差網(wǎng)絡(luò)的圖像超分辨率重建
大江要津的“升維”圖譜
突破霧霾治理的瓶頸
突破瓶頸 實現(xiàn)多贏
平穩(wěn)自相關(guān)過程的殘差累積和控制圖
河南科技(2015年8期)2015-03-11 16:23:52
普洱| 苏尼特左旗| 简阳市| 甘泉县| 盐源县| 万荣县| 辉县市| 沙雅县| 依兰县| 利川市| 伊宁市| 灌云县| 泸溪县| 阿图什市| 泰安市| 改则县| 唐海县| 青浦区| 塔河县| 武安市| 探索| 泸西县| 榕江县| 监利县| 霍林郭勒市| 无锡市| 瑞丽市| 肥西县| 塘沽区| 弥勒县| 七台河市| 梁河县| 房山区| 永安市| 凤冈县| 乡宁县| 金乡县| 泸定县| 独山县| 五华县| 赤壁市|