?

多特征融合的膠囊網絡用于圖像分類

2021-01-16 06:00李建橋賈曉芬趙佰亭
關鍵詞:深層殘差膠囊

李建橋, 賈曉芬, 趙佰亭

(安徽理工大學 電氣與信息工程學院, 安徽 淮南 232000)

近年來,機器視覺的發展非常迅速,在各個領域中取得了顯著的進展.尤其卷積神經網絡在計算機視覺領域是重要的部分,有廣泛的應用,例如圖像分類[1]、文本檢測[2]、語音處理[3]等.CNN是通過卷積層提取圖像的信息,經過池化層降維減少參數量,最后通過分類器進行分類.CNN通過權值共享和池化操作實現了平移不變性和旋轉不變性.但是池化層的出現會導致提取的特征信息會丟失,影響最終的分類精度.圖像的空間相對位置對于結果有著非常重要影響,CNN并不能識別.比如說,人的一張臉,把眼睛、鼻子、嘴巴的空間位置打亂,那么CNN還是會將其識別成一張人臉,我們知道這是錯誤的 .雖然后續有許多對CNN的改進方法[4-6],但是由于CNN中有大量的參數,池化層依然不可或缺.

為了解決這些問題,Sabour[7]提出了一種新型的網絡模型—膠囊網絡(CapsNet).膠囊網絡利用變換矩陣對局部部分與整個對象之間的關系進行編碼,從而CapsNet能夠通過局部關系理解整個對象.不同于CNN使用標量,膠囊網絡將標量替換為向量神經元,向量的長度代表實體存在的概率大小,方向代表實例化參數.同時,CapsNet中使用步幅卷積和動態路由來實現參數大小的控制,膠囊網絡對于數據集的要求比較低.CNN需要大數據集,這樣網絡擬合效果才好,而膠囊網絡只需要小樣本的數據集.卷積網絡在池化的過程中會有大量的信息丟失,這會影響分類精度,膠囊網絡能夠將詳細的姿態信息(如目標的位置、旋轉、厚度、傾斜、大小等等)在整個網絡過程中保存下來.CapsNet在小數據集MNIST上表現良好,但是對于復雜數據集CIFAR-10分類精度較低.可能的原因有以下兩點:1)卷積提取模塊只有兩層卷積層,而CIFAR-10中的圖片都是多通道和高分辨的彩色圖片.淺的卷積層不能提取到更深層的特征和語義信息,從而導致在復雜數據集上的錯誤率較高;2)解碼器部分的三個全連接層會導致圖片的重構誤差增大,進一步使得分類精度降低.

目前已有學者對膠囊網絡展開了研究和改進.Kang[8]等人提出基于雙通道詞向量的卷積膠囊文本分類算法,采用具有動態路由機制的卷積膠囊網絡模型進行文本分類,提高了文本分類的準確度.Xiang[9]等人提出了一種多尺度膠囊網絡(MS-CapsNet).通過多尺度特征提取獲得更多的結構和語義信息,然后將特征層次編碼到多維的原始膠囊中去.在FashionMNIST和CIFAR-10數據集準確率分別達到92.7%、75.7%.Chen[10]將路由過程和神經網絡中所有其他參數一起嵌入到優化過程中,克服了必須手工尋找最優路由迭代數目的缺點.Lin[11]通過改進動態路由和壓縮函數的方式對Hinton等的膠囊網絡模型進行改進,相比較原始網絡性能有了明顯的提升.Jay[12]等人通過向相應的實例化參數添加隨機噪聲來模擬人類手寫輸入中的實際變化.這種策略對于缺少大量標記訓練數據的本地化語言的字符識別非常有用,除此之外,還開發了一種策略,有效地利用損失函數的組合來改進重建.Han[13]等人提出特征提取器和空間關系提取器,以尋找特征和空間關系的最佳組合.特征提取器從下到上提取特征信息,空間關系提取器從上到下提供空間關系指導.Chang[14]等人提出了一種嚴格擠壓多車道的膠囊網絡模型,稱為MLSCN.替換了壓縮函數,優化了dropout的實現.相比較原始的膠囊網絡,性能有一定的提升效果.

本文主要的貢獻如下:1)使用殘差網絡替代了原始膠囊網絡中卷積提取層,能夠提取到更深層的特征信息; 2)用反卷積層代替原始網絡中的全連接重構層,降低重構誤差;3)提取圖片的淺層、中層和深層特征,并嵌入SE模塊得到權重系數,數字膠囊層進行加權融合.所提出的方法經實驗后可得,在Cifar10數據集上達到了87.21%的結果,相比較CapsNet有了很大提升,說明該方法的有效性.

1 改進的膠囊網絡

1.1 模型結構

相比較CNN在訓練過程中池化層的信息丟失、需要大量的樣本和不能很好地應對模糊性等問題,膠囊網絡很好地解決了這些問題.在小樣本集上,CapsNet地表現超過了CNN.它是分層級的網絡模型,在訓練中學習部分與整體的關系.同時,對于模糊性的問題,膠囊網絡在MultiMNIST數據集(一種由重疊的不同數字組成的手寫數字變體)上獲得了比CNN好的多的結果.

本文所提出的網絡結構如圖1所示,主體架構主要分為兩部分:編碼器部分和解碼器部分.輸入的圖片先是經過編碼器部分編碼,再經過解碼器部分得到重構圖像.其中編碼器部分包括殘差模塊和膠囊模塊,解碼器部分包括5層反卷積層.殘差模塊主要是提取特征信息,膠囊模塊將特征向量化.反卷積主要是對編碼后的圖片進行重構.

圖1 網絡結構模型

1.2 編碼器

1.2.1 殘差提取模塊

編碼器部分包括殘差提取模塊[15]和膠囊模塊.殘差提取模塊主要用于提取圖片中更深層的特征和語義信息,模型結構見圖2,主要包括一個3×3卷積、8個殘差塊、一個BN層和ReLU激活層.圖片先是經過卷積核大小為3×3、步幅為1的卷積,得到維度為32×32×16的特征圖.然后經過3個核大小為3×3、步幅為1的殘差塊,得到維度為32×32×64的淺層特征圖,將提取到的淺層特征輸送到Primary1中.再經過3個核大小為3×3、步幅為1的殘差塊,得到維度為16×16×128的中層特征圖,將提取到的中層特征輸送到Primary2中.再經過2個核大小為3×3、步幅為2的殘差,得到維度為8×8×256的深層特征圖,將提取到的深層特征輸送到Primary3中.最后經過BN層和ReLU激活函數層.

圖2 編碼器

1.2.2 膠囊模塊

深層網絡的感受野比較大,語義信息表征能力強,但幾何信息的表征能力弱,深層特征表征的圖像信息更豐富,能夠將復雜的目標區分開.淺層網絡的感受野比較小,語義信息表征能力弱,但幾何信息的表征能力強,淺層特征表征的信息較少,但能夠將一些簡單的目標區分開.淺層和深層的特征進行融合能夠互相彌補,這樣對于分類任務有提升.

膠囊模塊包括主膠囊層和數字膠囊層.如圖3所示,經過前面殘差網絡提取到的淺層特征R1、中層特征R2和深層特征R3,再分別輸送到主膠囊層Primary1、Primary2和Primary3中,里面都包含一個SE模塊,經過SE模塊后分別得到淺層、中層和深層特征的權重系數a1、a2和a3.將三個權重系數與三個數字膠囊層分別相乘,得到三個帶有權重的數字膠囊層,分別為Digit1、Digit2和Digit3.權重系數對分類有用的膠囊起到放大的作用,對無用或作用比較小的膠囊起到抑制的作用.最后將三個帶有權重系數的數字膠囊層融合成一個數字膠囊層.其中Digit1、Digit2和Digit3都是10個類別的輸出向量,每個類別為16D的膠囊.Digit1、Digit2和Digit3的輸出分別用D1、D2、D3表示,⊕代表串型連接.最后的數字膠囊融合層Digit用D表示,是一個48D的膠囊.則有

圖3 帶有SE的膠囊模塊

D=(a1*D1)⊕(a2*D2)⊕(a3*D3)

(1)

在編碼器部分,損失函數用邊緣損失函數,定義為:

(2)

其中:m+為上邊界,取值為m+=0.9,m-為下邊界,取值為m-=0.1,λ=0.5,如果一個類別的對象存在m+時Tk=1.

1.3 解碼器

解碼器部分主要包括了一個反卷積模塊.原始的膠囊網絡將重建損失作為一個正則化方法,以鼓勵數字膠囊層中的膠囊盡可能多的編碼有用信息.這里的重建模塊簡單地通過將數字膠囊層的輸出提供給3個全連接層組成的解碼器來完成.雖然該方法在簡單數據集MNIST上能夠很好的重建數字,但是對于復雜數據集的重建性能并不好,重建后的圖像較模糊,難以分辨.

基于以上的分析,本文提出了使用反卷積來重構圖像的方法,以提高復雜數據集的重建性能和分類精度.如圖4所示,由編碼器部分得到的10個48D的膠囊向量,我們將其壓縮成480D的向量.然后經過4個卷積核大小都為3×3,步幅分別為1、2、2、1,濾波器的數量分別為64、32、16、3的反卷積.最后得到通道為3,大小為32×32的重構圖像.使用均方誤差作為重構損失函數,定義為:

圖4 解碼器

(3)

2 實驗和結果

2.1 數據集

為了評價所提方法的性能,我們在兩個數據集Fashion-MNIST、CIFAR-10上進行實驗.Fashion-MNIST是單通道的數據集,分辨率大小為28×28,共有十個類別.包含70 000張灰度圖片,其中60 000張訓練集圖片,10 000張測試集圖片.CIFAR-10是RGB三通道的數據集,分辨率大小為32×32,共有10個類別.包含60 000張彩色圖片,其中50 000張是訓練集,10 000張是測試集.

本文使用Keras框架編碼實現改進的膠囊網絡模型,并使用Adam優化器作為梯度下降算法進行訓練.批大小設置為128,訓練設置為150個周期,每個周期內迭代了390次,權重衰減系數設置為0.000 05.初始學習率為0.001,在訓練過程中階段性的減小學習率,使網絡能夠在訓練時達到最優.所有的實驗都是在安裝內存為6 GB的GTX1060顯卡的電腦上完成的.

2.2 結果與討論

本文所提方法的準確率和參數量與其他方法的比較如表1所示,“-”表示該方法沒有在數據集上實驗.

實驗結果如表1所示,通過表1可以看出MFF-CapsNet在Fashion-MNIST和CIFAR-10數據集上的性能明顯優于已有的幾種方法.同時參數量相比較于CapsNet沒有增加多少,但是分類的準確率有了大幅的提高,在兩個數據集上分別提高了1.7%和14.23%,特別是對于CIFAR-10數據集.相較于MS-CapsNet,準確率分別提高了0.65%和11.74%,但是參數量減少了接近一半.MFF-CapsNet的準確率比TextCaps高0.05%、8.25%,而參數量是TextCaps的1/3.MFF-CapsNet在CIFAR-10上準確率比FSc-CapsNet高7.18%,參數量有了大幅度的減少.模型在CIFAR-10上的準確率比在Fashion-MNIST上有了明顯的提高,可能是由于CIFAR-10數據集是三通道的彩色圖像,圖片包含的信息量比較多,MFF-CapsNet網絡提取的三個特征信息較全面,既有淺層網絡提取到圖片的紋理、細節特征,也有深層網絡提取到的輪廓、形狀等特征,將不同的特征融合到一起,這樣使得提取到的特征更加全面,對于分類更加有幫助.

表1 實驗結果對比

圖5是MFF-CapsNet在數據集CIFAR-10上的模型訓練圖.訓練準確率達94.31%,測試準確率達87.21%,兩者相差不大,損失梯度比較平滑,說明模型的擬合效果較好.

圖5 網絡模型訓練圖

圖6是CapsNet和MFF-CapsNet在數據集Fashion-MNIST上的損失下降圖.從圖6可以看出,隨著迭代次數的增加,兩個網絡的損失下降,最終穩定下來.MFF-CapsNet網絡相比較CapsNet網絡損失下降多,說明MFF-CapsNet效果好.

圖6 CapsNet和MFF-CapsNet在Fashion-MNIST上的損失圖

雖然模型MFF-CapsNet在CIFAR-10數據集上分類精度有了大幅度的提升,但是和卷積神經網絡相比還是有差距.同時,膠囊網絡中的膠囊部分還有許多的改進之處.比如說對不同類別的膠囊維度使用不同維度,對壓縮函數進行改進,使其能夠對模長接近于0的膠囊進行放大,從而提取到更多的信息,優化動態路由機制等等.

3 結 語

本文提出了一種改進的膠囊網絡,使用8個殘差塊代替了原始膠囊網絡中的卷積層,從而提取到圖片中更深層的語義和特征信息.同時將殘差網絡提取到的淺層、中層和深層特征融合,使得圖片的信息得到充分的利用.將解碼器部分使用反卷層代替,降低模型的重構誤差,提高模型的分類精度.該結構的有效性在后面的實驗中得到了體現,在數據集Fashion-MNIST和CIFAR-10上準確率達到94.20%和87.21%,同時相比較其他模型,參數量大幅減少.下一步我們將進一步的優化膠囊部分,使其在復雜數據集上的錯誤率進一步降低.

猜你喜歡
深層殘差膠囊
基于殘差-注意力和LSTM的心律失常心拍分類方法研究
基于雙向GRU與殘差擬合的車輛跟馳建模
時光膠囊
深層攪拌樁在水利工程地基處理中的應用分析
基于殘差學習的自適應無人機目標跟蹤算法
時光膠囊
哈貝馬斯科學技術批判的深層邏輯
考慮各向異性滲流的重力壩深層抗滑穩定分析
基于深度卷積的殘差三生網絡研究與應用
打破作風建設周期律的深層思考
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合