李 偉,黃鶴鳴
(1.青海師范大學 計算機學院,青海 西寧 810008;2.青海師范大學 藏語智能信息處理與應用國家重點實驗室,青海 西寧 810008)
不同于傳統(tǒng)的圖像分類方法,卷積神經(jīng)網(wǎng)絡通過引入卷積層和池化層來增強網(wǎng)絡結構,獲取更好的空間位置特征和局部感應偏置[1,2],更符合圖像自身特性。Chen等提出使用不同結構CNN提取異構特征豐富圖像信息表達的分類模型[3];Bartunov等將注意力機制應用于CNN,在增強圖像重要特征表達的同時抑制次要特征或非目標信息[4];Wang等提出適用于細粒度數(shù)據(jù)集的多通道視覺注意的全卷積網(wǎng)絡[5];Li等改進了交叉熵損失函數(shù),通過加入正則化項,提出了雙交叉熵損失函數(shù)并將其應用于CNN[6];Pathak等提出基于深度遷移學習的COVID-19分類模型[7];Zhang等提出了一種結合擴展卷積和注意機制的串聯(lián)3D-2D卷積神經(jīng)網(wǎng)絡模型,此模型在小樣本條件下,能有效地提高分類準確率[8];Zhang等將長短時記憶網(wǎng)絡和卷積網(wǎng)絡結合,構建了基于注意力機制的異構并行神經(jīng)網(wǎng)絡模型來提高特征的表征能力[9]。
綜上所述內容,由于CNN能夠快速、全面地獲取圖像的空間位置特征,在圖像分類方面取得了較好的性能。但是,CNN對顏色特征并不敏感;并且隨著網(wǎng)絡層數(shù)的加深,獲得的圖像語義信息越多的同時也會導致梯度消失或梯度爆炸現(xiàn)象[10]。為了彌補以上所提及的不足之處,提出了自適應殘差卷積圖像分類方法,利用6個卷積池化殘差塊,不但可以讀取更多的語義信息,而且還可以抑制梯度消失,并參照文獻[11]的演化算法來優(yōu)化深度融合多特征之間的權重值,實現(xiàn)了多特征融合時,殘差卷積網(wǎng)絡提取的空間位置特征權值的自適應選取。在充分考慮圖像自身特性的基礎上,彌補了CNN對顏色特征不敏感的問題。
此外,針對實驗使用的小樣本圖像庫中樣本數(shù)較少的問題,使用雙交叉熵損失函數(shù)進行數(shù)據(jù)增強,將其應用于深度卷積生成對抗網(wǎng)絡中的判別模型,提高其判別生成圖像與真實圖像的能力,以迫使生成模型生成更逼真的圖像樣本。
為了讀取更多的圖像語義信息和一定程度上抑制梯度消失,提出了殘差卷積神經(jīng)網(wǎng)絡模型,其整體框架如圖1所示。該框架共有6個殘差卷積塊,每個殘差卷積塊由卷積層、激活層和池化層組成。按照式(1)計算第i塊的輸出Bi
Bi=Pool(LReLU(Conv(Input(x))))
(1)
式中:Conv表示卷積運算操作,Pool表示池化運算操作,Input(x)表示原圖像x作為模型輸入。每個卷積層后面緊跟一個ReLU激活函數(shù)和一個池化層。每兩個殘差卷積塊組成一組,記為Rj,其中j∈{1,2,3}。 前一組中兩個殘差卷積塊的輸出作為后一組的輸入,因此R2和R3的輸入可按照式(2)計算得到
Rj=Concat(Rj-1,B1,Rj-1,B2)
(2)
圖1 殘差卷積網(wǎng)絡模型總體框架
因為函數(shù)Concat(·)連接的是兩個特征,所以Rj的維度數(shù)是Rj-1,B1和Rj-1,B2的維度數(shù)之和。第一組、第二組和最后一組的卷積核大小分別為5×5、3×3和2×2,最后一組中的卷積層進一步提高了特征的抽象表示。將R1、R2和R3通過函數(shù)Concat(·)得到殘差卷積網(wǎng)絡所提取的空間位置特征fs,如式(3)所示。最后,按照式(4)~式(6)分別計算3個全連接層
fs=Concat(R1,R2,R3)
(3)
FC1=Concat(fs,fc)
(4)
FC2=FC1(fs,fc)
(5)
FC3=FC2(FC1(fs,fc))
(6)
其中,fc表示采用k-means++算法提取的圖像主顏色特征,F(xiàn)C表示全連接運算,函數(shù)Concat(·)與式(2)中的意義完全相同。在網(wǎng)絡的末端,使用多分類問題的監(jiān)督學習方法Softmax層進行分類[12,13],最終的分類概率按照式(7)計算得到
CP=Softmax(FC3(FC2(FC1(fs,fc))))
(7)
模型總框架圖1中的圖像庫,使用基于雙交叉熵損失函數(shù)的深度卷積生成對抗網(wǎng)絡進行了數(shù)據(jù)增強,其具體的數(shù)據(jù)增強流程如圖2所示。
圖2 基于雙交叉熵損失的生成對抗網(wǎng)絡
生成對抗網(wǎng)絡由Ian Goodfellow提出后[14],在理論算法和應用方面都取得了令人滿意的成果。具體來說,生成對抗網(wǎng)絡的模型結構由生成模型G(生成器)和判別模型D(判別器)構成,其工作原理如下:首先,判別模型用于判別輸入樣本是生成圖像還是真實圖像;其次,生成模型根據(jù)判別模型的判別結果,迫使其自身生成更逼真的樣本數(shù)據(jù);最后,根據(jù)判別結果對生成器和判別器進行參數(shù)調優(yōu),直到epoch達到設定值。生成對抗網(wǎng)絡的優(yōu)化過程是一個極小極大博弈問題,其優(yōu)化的目標函數(shù)如式(8)所示
(8)
式中:Pr是真實圖像的數(shù)據(jù)分布,Pf是生成圖像的數(shù)據(jù)分布,D(x)是x來自真實圖像的概率,z表示輸入到生成模型G的隨機噪聲,其輸入形式是一個(32,100)的兩維張量,32是指批處理大小,100是指隨機噪聲z的維度數(shù)。使用基于雙交叉熵損失函數(shù)的生成對抗網(wǎng)絡,需要優(yōu)化的目標函數(shù)如式(9)所示
(9)
式中:LDCE表示雙交叉熵損失函數(shù)。Pr、Pf、D(x)和z表示的意義與式(8)中的意義相同。此外,圖2中的生成模型包含一個全連接層和4個反卷積層,而判別模型包含了4個卷積層和一個全連接層,同時,將判別模型中的損失函數(shù)由交叉熵損失替換為雙交叉熵損失,提升判別模型判別真實圖像和生成圖像的能力,來間接促使生成模型能力的提升,從而生成模型和判別模型互相監(jiān)督和不斷優(yōu)化,形成一個雙方能力同時提高的良性循環(huán),使生成對抗網(wǎng)絡的總體性能得到提升??傮w而言,圖2中使用的是基于雙交叉熵損失的深度卷積生成對抗網(wǎng)絡模型。
基于雙交叉熵的自適應殘差卷積圖像分類算法,共有兩部分組成。第一部分首先使用基于雙交叉熵損失的卷積GAN進行數(shù)據(jù)增強,通過逼迫生成模型生成更真實的樣本數(shù)據(jù),來擴充小樣本圖像庫,提高圖像分類準確率;第二部分是對擴充后的圖像庫,進行深度多特征融合,并引入改進的差分演化算法來優(yōu)化多特征之間的權重值,這一部分稱為自適應權值殘差卷積圖像分類算法。
雙交叉熵損失函數(shù)(dual cross-entropy loss,LDCE)是在交叉熵損失(cross-entropy loss,LCE)中加入了一個正則化項,由Li等提出,用于小樣本細粒度汽車圖像庫的車輛分類[6]。正則化項對樣本被分配到除其真值類以外的其它類的概率施加約束,這樣,隨著模型訓練不斷深化出現(xiàn)梯度消失,LCE的值接近零時,LDCE可抑制梯度的消失且通過限制這些概率的增加,可加快優(yōu)化速度,間接提高了網(wǎng)絡性能。
假設D={(x1,y1),…,(xi,yi),…,(xM,yM)} 是有M個樣本的訓練集,其中yi是第i個樣本xi的真實標簽值,pi是第i個樣本xi的預測標簽值。那么,LDCE的定義參見文獻[6]為
LDCE=LCE+β1Lr
(10)
(11)
(12)
其中,β1≥0,β2>0,都表示權重系數(shù),在實驗部分設置β1=0.2,β2=1。LCE負責增加樣本分配給其真值類的概率,Lr負責降低樣本分配給除其真值類以外的其它類的概率。當β1的值越大時,Lr對LDCE的影響也越大;當β1的值等于0時,LDCE衰減為LCE。相比于LCE損失,LDCE損失在圖像分類方面的優(yōu)勢如圖3所示。
圖3 雙交叉熵損失的優(yōu)勢
從圖3(a)可以看出,LCE關注的只是樣本被分配到其真值類(用深灰色標記)的概率,而沒有對樣本被分配到其真值類以外的其它類的概率施加任何約束。圖3(b)展示了LDCE不僅增加樣本被分配到其真值類的概率,并且通過添加限制,降低了樣本被分配到其真值類以外的其它類的概率。另外,從圖3(a)和圖3(b)的左右對比中還可以觀察到:LCE隨著模型訓練的不斷深化,不但樣本真值類被分配的概率會出現(xiàn)增長,除真值類以外的其它類被分配的概率在模型訓練過程中也有可能會出現(xiàn)增長,這樣就會導致模型訓練結束后,其它類被分配的概率高于樣本真值類的概率,樣本真值類在訓練過程中被覆蓋,加大了模型訓練難度,從而抑制了圖像分類準確率的提高;反觀LDCE在模型訓練的不斷深化過程中,不斷增加樣本真值類被分配的概率,同時,限制其它類被分配的概率。在模型損失定量的情況下,樣本真值類逐漸突出,加快了模型優(yōu)化速度,提高了網(wǎng)絡性能。
因此,利用LDCE判別樣本分類的優(yōu)勢,將其用于深度卷積生成對抗網(wǎng)絡中的判別模型,提高判別模型判別真實圖像和生成圖像的能力,從而逼迫生成模型生成更逼真的圖像樣本。同時,經(jīng)過數(shù)據(jù)增強后生成的新樣本,可增加原始圖像庫中樣本的多樣性,防止神經(jīng)網(wǎng)絡訓練過程中出現(xiàn)的過擬合現(xiàn)象,提高圖像分類準確率。
從殘差卷積網(wǎng)絡提取的空間位置特征,表示為fs,采用k-means++算法[15]提取的圖像主顏色特征,表示為fc,將這兩部分互補特征fs和fc按照式(13)級聯(lián),得到深度融合的多特征fm
fm=αfc+βfs
(13)
在充分考慮圖像自身特性的基礎上,彌補了CNNs對顏色特征不敏感的問題,并引入改進的差分演化算法優(yōu)化深度融合多特征之間的權重值,實現(xiàn)了多特征融合時,各特征權重值的自適應選取。由于多特征融合過程中,空間位置特征占主導作用,故將空間位置特征權重系數(shù)β取值為1,主顏色特征權重系數(shù)取為α,從而在改進的差分演化方法中,僅選取一個待優(yōu)參數(shù)α。設定α的適應度值fit(α)由十次交叉驗證的平均分類精度和十次交叉驗證中Top10圖像(從測試集批處理中隨機選擇的前10張圖像)完成正確分類的難度系數(shù)之和決定,如表達式(14)所示
fit(α)=ZVAL+ZCORTop10
(14)
(15)
(16)
(17)
(18)
其中,n表示模型訓練過程中epoch的個數(shù),m表示實驗所用小樣本圖像庫的總圖像數(shù)。VALi表示模型完成一次訓練,即一次交叉驗證的平均分類準確率,ZVAL表示十次交叉驗證的平均分類準確率。Cm表示Top10中第m張圖像完成正確分類的難度系數(shù),CORiTop10是一次交叉驗證中Top10圖像完成正確分類的難度系數(shù)之和,ZCORTop10是十次交叉驗證中Top10圖像完成正確分類的難度系數(shù)總和。參見文獻[11]中使用的改進差分演化算法,針對只有一個優(yōu)化權重值的情況,舍棄傳統(tǒng)差分演化算法中的雜交運算,只使用變異和選擇運算進行α的自適應優(yōu)化,其具體的算法操作步驟如圖4所示。
圖4 改進的差分演化算法的操作步驟
此外,在改進的差分演化算法中,將演化代數(shù)t設置為50,種群規(guī)模NP設為37,縮放因子F設為0.5。殘差卷積網(wǎng)絡模型的批處理大小為100,最后的Softmax層有10個神經(jīng)單元,且網(wǎng)絡模型中不同卷積層的參數(shù)設置見表1。
表1 卷積層的參數(shù)設置情況
實驗使用交叉熵損失函數(shù)[16]作為模型損失函數(shù),再用Adam優(yōu)化器[17]來優(yōu)化損失函數(shù)。此外,設置丟棄率Dropout為0.5,學習率為0.001,通過采用多層ReLU激活函數(shù)[18]與Dropout相結合的網(wǎng)絡正則化方法,從而有效抑制了模型訓練的過擬合問題。
3.2.1 基于雙交叉熵的深度卷積生成對抗網(wǎng)絡的實驗結果
針對實驗使用的Corel-1k標準圖像數(shù)據(jù)庫中樣本數(shù)較少的問題,深度卷積生成對抗網(wǎng)絡被用來增加樣本的數(shù)量。并針對生成對抗網(wǎng)絡中使用的LCE函數(shù)不能抑制非真值類概率的問題,將LDCE函數(shù)應用到深度卷積生成對抗網(wǎng)絡中的判別模型,提高其判別真實圖像和生成圖像的能力,從而逼迫生成模型生成更逼真的圖像樣本。為了驗證LDCE函數(shù)應用在深度卷積生成對抗網(wǎng)絡中的性能效果,分別將LCE函數(shù)和LDCE函數(shù)在Corel-1k的第三個子庫上進行對抗生成實驗,且相應的實驗結果如圖5所示。
圖5 LCE和LDCE在第三個子庫上的損失曲線
從圖5可以看出:由于LCE函數(shù)在模型訓練過程中,只關注樣本真值類的概率,對樣本非真值類的概率不加限制,導致非真值類概率在訓練過程中超過其真值類的情況發(fā)生,所以,無論生成模型損失或者判別模型損失,LCE函數(shù)的損失曲線都會出現(xiàn)明顯波動;而LDCE函數(shù)則在模型訓練時,不僅增加了樣本真值類的概率,并對樣本非真值類的概率產(chǎn)生抑制,隨著模型深化訓練的同時樣本真值類的概率不斷明顯突出,所以,LDCE函數(shù)的損失曲線則相對穩(wěn)定。
因為實驗使用圖像庫的樣本數(shù)量較少,每個子庫里面只有100幅圖像,過少的樣本數(shù)使得生成模型生成的圖像質量不佳,為了獲得更逼真的生成圖像,故將第二個子庫的樣本數(shù)量復制成批處理的整數(shù)倍,即6400幅圖像。LCE和LDCE在64倍第二個子庫上的損失曲線如圖6所示。
圖6 LCE和LDCE在64倍第二個子庫上的損失曲線
從圖6可以看出:在模型訓練過程中,當梯度消失時,LCE函數(shù)的損失曲線在300個周期后變?yōu)?;而LDCE函數(shù)中設置了一個限制樣本被分配到除其真值類之外的其它類概率的正則化項,這可以緩解當LCE函數(shù)的損失曲線接近零時的梯度消失。所以,相對于LCE函數(shù),把LDCE函數(shù)應用于深度卷積生成對抗網(wǎng)絡更容易獲取與原始圖像相近的生成圖像。
本研究將基于交叉熵損失的深度卷積生成對抗網(wǎng)絡,簡稱為DCGAN-LCE;將基于雙交叉熵損失的深度卷積生成對抗網(wǎng)絡,簡稱為DCGAN-LDCE;將基于均方誤差損失的深度卷積生成對抗網(wǎng)絡,簡稱為DCGAN-LMSE。模型DCGAN-LMSE、DCGAN-LCE和DCGAN-LDCE生成圖的實驗結果如圖7所示。
圖7 DCGAN-LMSE生成圖、DCGAN-LCE生成圖和 DCGAN-LDCE生成圖
從圖7可看出:首先,生成效果最不理想的是DCGAN-LMSE生成圖;其次,由于LDCE函數(shù)不但適當緩解了LCE函數(shù)損失曲線接近零時的梯度消失還提升了判別模型的判別能力,因此,DCGAN-LDCE生成圖比DCGAN-LCE生成圖略微清晰。
3.2.2 基于雙交叉熵的自適應殘差卷積實驗結果
本研究將結合了k-means++聚類算法提取的主顏色特征的卷積神經(jīng)網(wǎng)絡,簡稱為MCNN;在多特征融合的基礎上,又使用了殘差卷積模型總框架的神經(jīng)網(wǎng)絡,簡稱為FRCNN。設置式(13)中權值α=2.5e-4且β=1時,在測試集上各模型的實驗結果見表2。
表2 CNN、MCNN和FRCNN在測試集上的 準確率和提高率比較
從表2可以看出:由于MCNN融合了主顏色特征,所以與CNN相比,分類精度提高了7.36%;在此基礎上,F(xiàn)RCNN利用特征的重復使用,抑制了模型訓練的梯度消失現(xiàn)象,所以與CNN相比,在很大程度上提高了分類精度,分類精度提高了9.82%。其中,算法提高率的計算公式為
(21)
Accuracy=r/a
(22)
其中,準確率是r與a的比值。r表示實驗使用圖像庫中分類正確的圖像數(shù),a表示圖像庫的總圖像數(shù)。
為了更直觀展示分類效果,還進行了針對性較強的對比實驗,在測試集上各模型的精度曲線如圖8所示。從圖8可以觀察到:與CNN相比,F(xiàn)RCNN和MCNN由于彌補了CNNs對顏色特征不敏感的問題,兩者都有效提升了圖像分類準確率,加速了模型收斂。此外,F(xiàn)RCNN還采用了殘差結構,利用特征的重復使用,有效抑制了模型訓練過程中的梯度消失現(xiàn)象,所以其網(wǎng)絡的魯棒性相對更好。相對CNN和MCNN而言,F(xiàn)RCNN在測試集的分類精度曲線上,沒有出現(xiàn)明顯波動,其模型的穩(wěn)定性明顯更優(yōu)良。
圖8 CNN、MCNN和FRCNN在測試集上的精度曲線
當模型MCNN、FRCNN和AFRCNN使用深度融合的多特征進行圖像分類時,不同的特征權重值會對模型實驗效果產(chǎn)生不同程度的影響,同時,由于空間位置特征在多特征融合時起主導作用,所以設置權重值β=1。為了驗證特征權重值對各模型實驗結果的影響,在測試集上設置β=1和不同α值的實驗結果見表3。
表3 測試集上不同α值、β=1的準確率比較
從表3可以看出:不同的α、β值對模型MCNN、FRCNN和AFRCNN有不同的實驗效果。當α=1e-4時,MCNN的準確率為84.6%;當α=2.5e-4時,MCNN的準確率為87.5%;提升了2.9個百分點。當設置相同的α值時,與MCNN相比,由于FRCNN不但進行了多特征數(shù)據(jù)融合,還加入了殘差運算,所以實驗性能提升了2.0個百分點。同樣的與MCNN相比,AFRCNN的實驗性能在最優(yōu)權重值下提升了6.7個百分點;與FRCNN相比,AFRCNN的實驗性能在最優(yōu)權重值下提升了1.8個百分點。
當模型AFRCNN用于小樣本圖像庫進行圖像分類時,本研究將基于雙交叉熵數(shù)據(jù)增強的自適應殘差卷積神經(jīng)網(wǎng)絡,簡稱為ADRCNN;將基于交叉熵數(shù)據(jù)增強的自適應殘差卷積神經(jīng)網(wǎng)絡,簡稱為ACRCNN,二者在測試集上的實驗結果見表4。
表4 AFRCNN、ACRCNN和ADRCNN在 測試集上的準確率比較
從表4可以觀察到:因為在小樣本圖像分類時,使用了基于深度卷積生成對抗網(wǎng)絡生成圖像樣本的數(shù)據(jù)增強,增加了圖像總樣本數(shù)量,提高了分類準確率。與未使用數(shù)據(jù)增強的AFRCNN模型相比,ACRCNN的實驗性能提升了0.55個百分點,而由于ADRCNN模型生成的圖像樣本更清晰和逼真,實驗性能則提升了0.95個百分點。
為了進一步驗證本研究所提議模型的實驗性能,將ADRCNN模型在Corel-1k圖像庫上與其它分類方法進行了比較分析,對比實驗見表5。從表5可以看到:所提議的ADRCNN模型取得了更好的實驗結果,將圖像分類準確率大幅度提高到了92.25%。
表5 提議方法與其它圖像分類方法的比較結果
本研究提出了基于雙交叉熵的自適應殘差卷積圖像分類算法,彌補了卷積神經(jīng)網(wǎng)絡在圖像分類方面對顏色特征的不敏感、讀取更多的圖像語義信息、抑制梯度消失以及生成更逼真的圖像樣本,提高了圖像分類準確率。但本研究提議算法具有較高的計算復雜度和對硬件設備有較高的配置要求等問題。在未來的研究工作中,針對卷積神經(jīng)網(wǎng)絡只讀取圖像局部語義信息的特點,嘗試生成圖像的全局空間描述符,對卷積特征圖中的特征值完成逐元素全局空間校正,從而進一步提高模型的圖像分類效果。