林益文,楊 嘯,陳 青,邱新媛,任維澤
(中國核動力研究設計院,四川 成都 610213)
計算機視覺一直是深度學習算法最成功的應用領域,卷積神經網絡(CNN)在眾多計算機視覺任務中取得了巨大的發(fā)展。通過卷積層的堆疊,神經網絡可以從圖像中提取更加復雜的語義特征概念,從而在大規(guī)模圖像識別任務中展現(xiàn)出卓越的識別能力[1-3]。然而,從圖1中可以看出,單一的卷積神經網絡難以學習到全面的語義特征,由于網絡的容量問題,使得其更傾向于集中注意力在最具識別能力的關鍵特征上,而忽視一些其他有價值的圖像特征。
圖1 針對不同數(shù)據集的類激活圖樣例
模型融合是機器學習中的一種強大方法,能夠應用于各種算法并提升其性能,也被廣泛應用于深度學習模型中[4-5]。利用適當?shù)乃惴ú呗哉弦幌盗谢A模型,能夠提高集成模型的表現(xiàn),使其具有更好的泛化和識別能力。同時,為了強化模型融合的效果,基礎模型應當具有盡可能大的多樣性,并保持進行獨立識別的能力[6]。
為了提升模型中語義特征的多樣性,并提升模型的識別性能,該文提出了一種創(chuàng)新的距離損失函數(shù),迫使不同基礎模型學習不同的語義特征,同時構建了一個模型融合框架對提取的語義特征進行整合,以達到從多個角度對物體場景進行識別的目的。針對該方法,基于不同卷積神經網絡骨架(VGG,ResNet,AlexNet)、不同數(shù)據集(Cifar10,Cifar100,miniImageNet,NEU,BSD,TEX)以及不同樣本量(每類3,5,10,20,50,100)進行了深入研究,開展了多因素交叉實驗,最終的實驗結果展示了該方法具有有效性和泛化能力,分析得出了其相應的優(yōu)勢區(qū)間。
距離損失函數(shù)由語義特征表征和距離函數(shù)組成。構建全局特征表征,可以解釋卷積神經網絡學習到的語義特征信息。
卷積層的激活輸出被廣泛用于解釋卷積神經網絡從圖像中學習到的語義特征[7],圖像化后被稱為特征圖。文獻[8]指出,特征圖是稀疏的、分布式的語義特征表征,所有語義特征都被編碼在分布式的卷積單元中,并且特征概念和卷積單元之間存在著多對多的映射關系。在骨架相同的卷積神經網絡中,經過不同的訓練過程,分解的特征概念與卷積單元的排列方式和映射關系也是不同的[7],因此并不能直接比較不同網絡間的特征圖和特征向量。根據文獻[9]所述,單一特征圖攜帶的特征信息極其有限,且不一定具有實際意義,只有當許多特征圖激活同一區(qū)域時,這個區(qū)域才能被認定為包含實際的特征概念。
該文采用疊加的方法來整合特征圖中的特征信息,進而形成全局特征表征。如圖2所示,首先對多通道特征圖在相應空間位置上進行點對點求和,形成一個聚合圖,尺寸為h×w×d(其中h為特征圖的高度,w為寬度,d為通道數(shù))的特征圖被整合成尺寸為h×w的聚合圖。該方法可以忽略卷積神經網絡中卷積單元的不同特征概念分布,更能保留語義特征的空間信息。
圖2 多通道特征圖的融合
進一步引入圖像濾波器來去除噪音和弱勢語義特征,改進聚合圖。利用閾值τ進行像素級的過濾,使得所有高于閾值的像素值都保留,其他像素值則被置為零。
(1)
此外,位于高層次的卷積單元能提取更多更具識別能力的語義特征,具有優(yōu)秀的識別和泛化能力[7]。因此,該方法從基礎模型的最后一個卷積層提取特征圖,并生成濾波的聚合圖作為全局特征表征,用于量化模型間的語義特征表征。從基礎模型中生成全局特征表征的流程如圖3所示。
圖3 全局特征表征的提取流程
該文使用復合距離函數(shù)對不同基礎模型中全局特征表征之間的差異進行計算。該距離函數(shù)組合了余弦距離和歐氏距離,一方面,余弦距離[10]可以對高維度特征向量之間的相似性進行有效測量,反映向量方向的相對差異,更關注特征概念的位置。另一方面,歐氏距離呈現(xiàn)了全局特征表征之間內容的差異[11],計算全局特征表征數(shù)值上的絕對差異,其作用類似于空間注意力機制[12-13],提高了關鍵特征概念的激活程度。使用距離損失函數(shù),不同基礎神經網絡模型能夠在特征空間中學習不同的語義特征,同時每個基礎模型也能在卷積單元中激活重要的圖像特征概念。
由于優(yōu)化器總是朝著最小值的方向優(yōu)化損失函數(shù),而該方法需要增大特征表征之間的差異,兩基礎模型之間的距離損失dlossi,j如公式(2)所示。
(2)
其中,vi和vj是向量化的全局特征表征,而α和β是距離函數(shù)兩個部分的權值。
距離損失函數(shù)由余弦相似度和指數(shù)歐氏距離組成。因為全局特征表征的像素值都為正數(shù),余弦相似度取值在0和1之間。值為0則特征表征差異較大,而值為1時表示兩個基礎模型的特征表征非常相似。指數(shù)歐氏距離保證了優(yōu)化器可以在減小損失值的同時增大基礎模型間特征表征的差異,同時其函數(shù)值具有動態(tài)約束的特性,函數(shù)值越小,越難繼續(xù)朝著最小值優(yōu)化,避免了強迫基礎模型對無意義的邊際特征進行學習的問題。
訓練策略的目標是在訓練基礎模型的同時顯示距離損失函數(shù),并融合基礎模型進行分類任務。該文提出對五個基礎模型進行聯(lián)合訓練的策略,如圖4所示?;A模型使用相同的訓練樣本進行相對獨立的訓練,同時從卷積層中生成的全局特征表征被用于表示模型學習到的語義特征,利用距離函數(shù)量化模型之間的特征差異,對基礎模型的學習行為進行聯(lián)系和制約。
圖4 基礎模型訓練框架
(3)
經過訓練之后,所有基礎模型都被整合進一個特征融合模型 ,在語義特征層面上對模型進行整合。與傳統(tǒng)模型融合的方法不同,該文僅使用基礎模型的卷積網絡層作為特征提取器,并在卷積通道方向上串聯(lián)卷積單元,進行并置特征融合。然后,融合的特征被送入一個新的分類器中完成分類任務,最終構成一個端到端的神經網絡特征融合模型,實現(xiàn)多源語義特征的整合處理過程,增加圖像識別的特征多樣性。
為評估距離損失函數(shù)對模型性能的具體作用,驗證實驗使用了不同數(shù)據集(Cifar10,Cifar100,miniImageNet,NEU,TEX和BSD)、不同樣本量(每類3,5,10,20,50,100和400張圖像)以及不同卷積神經網絡骨架(VGG,ResNet和AlexNet),從而形成多因素交叉的實驗條件,并從多方面展示了實驗成果。
實驗數(shù)據集包括Cifar10[14],Cifar100[14],miniImageNet[15],NEU,TEX和BSD。如圖5所示,Cifar10和Cifar100是物體分類數(shù)據集,分別由60 000張32×32的彩色圖像組成,其中Cifar10有10個類,而Cifar100有100個類。miniImageNet使用了原始ImageNet數(shù)據集中的100個類別,每個類有600張84×84的彩色圖像,因此具有較高的復雜度,同時減少后的類別數(shù)所需要的處理資源要少得多,便于快速建立原型和進行實驗。除了基于物體的數(shù)據集,實驗還測試了3個基于表面缺陷的工業(yè)數(shù)據集。NEU基于金屬表面缺陷,包括1 800張200×200的灰度圖像,共有6個類。TEX顯示了紡織品的5種缺陷以及正常圖像,每類有18 000張64×64的灰度圖。BSD記錄了滾珠絲杠驅動器的故障情況,有21 835張150×150的彩色圖像,分為有故障和無故障兩類。因此,實驗涉及了具有不同層次語義特征的基于物體和非物體的數(shù)據集。同時,將數(shù)據集隨機分為60%的訓練樣本、20%的驗證樣本和20%的測試樣本,并在訓練樣本中選取一定均勻分布的樣本進行訓練,即每類3,5,10,20,50,100和400張圖像。實驗用基礎模型為VGG16[3],ResNet12[3,16]和AlexNet[1],使用不同的初始化方式,進而實現(xiàn)相對穩(wěn)定且不同的初始狀態(tài)。
圖5 數(shù)據集Cifar10,Cifar100,miniImageNet,NEU,TEX和BSD
實驗采用10-4的學習率和300的迭代次數(shù),同時使用圖像增強算法,對所有圖像進行隨機變換,并在訓練過程中保存性能最好的模型。由于實驗樣本選取均勻,為了評估模型對圖像目標的識別檢測能力,使用準確率作為分類精度的整體評價指標,即識別正確的樣本占總樣本的百分比,并且準確率越高,表明模型的識別能力越強。同時,生成的類激活圖可視化基礎模型學習到的語義特征,直觀展示了距離損失函數(shù)在語義特征層面的作用。
從表1可以看出,對于數(shù)據集Cifar10,Cifar100和miniImageNet,使用距離損失函數(shù)能夠穩(wěn)定提升特征融合模型的準確率。例如,在數(shù)據集為miniImageNet,訓練樣本為每類100張,且網絡骨架為ResNet的實驗中,使用距離損失函數(shù)的特征融合模型相比于不使用距離損失函數(shù)的融合模型提升了7.96%的分類準確率。
表1 針對Cifar10,Cifar100和miniImageNet數(shù)據集的分類準確率 %
然而分類準確率的提升效果在不同條件下并不恒定,距離損失函數(shù)對不同的樣本量有不同的影響表現(xiàn)。如圖6所示,該方法在小規(guī)模的訓練樣本下具有相對優(yōu)勢,模型性能提升最大。當訓練樣本增大時,模型可以通過充足的訓練樣本學習更精確且更有識別能力的語義特征,而圖像中關鍵特征的數(shù)量通常有限,這就限制了該方法增加特征多樣性的能力。
圖6 距離損失函數(shù)在不同樣本量情況下對特征融合模型準確率的提升效果
此外,圖7顯示出卷積神經網絡骨架對距離損失函數(shù)的表現(xiàn)也有很大影響,其中基于ResNet骨架的模型融合實現(xiàn)了最大的性能提升效果,對應文獻[17]的結論,ResNet架構中的殘差結構使得整合不同深度卷積層的語義特征成為可能,從而提高深層特征圖的可解釋性和表征能力,多層次的語義特征可以被聚合到全局特征表征中,增加了模型之間的可比較性。相比之下,因為可解釋性較差,AlexNet骨架的表現(xiàn)性能有所下降。正如文獻[7]的結論,卷積神經網絡骨架的可解釋性排名為ResNet>VGG>GoogLeNet>AlexNet。
圖7 距離損失函數(shù)在不同網絡骨架情況下對特征融合模型準確率的提升效果
為了直觀展示距離損失函數(shù)對基礎模型語義特征的影響效果,該文使用基于梯度的類激活圖顯示特征圖中與目標關聯(lián)的關鍵部位。如圖8所示,未實現(xiàn)距離損失的基礎模型傾向于集中注意力在圖像中一個相對固定的物體部分,也就是學習了相似的語義特征。與之相對的是,使用距離損失的基礎模型具有更豐富的特征選擇,多個基礎模型關注了圖像中不同的關鍵部位,增加了特征融合模型的特征多樣性,進而提高了模型進行分類任務的準確率。
圖8 針對Cifar10,Cifar100和miniImageNet數(shù)據集的類激活圖
除了以上基于物體的數(shù)據集,該文還測試了基于表面缺陷的工業(yè)數(shù)據集,即NEU,TEX和BSD。分析表2數(shù)據,距離損失函數(shù)在工業(yè)數(shù)據集上的表現(xiàn)異于基于物體目標的數(shù)據集,距離損失函數(shù)不能穩(wěn)定地使特征融合模型取得更好的性能,甚至基礎模型也能達到與特征融合模型相當?shù)臏蚀_率。因此,距離損失函數(shù)在表面缺陷檢測數(shù)據集上的效果穩(wěn)定性較差,性能提升較小。
表2 針對NEU,TEX和BSD數(shù)據集的分類準確率 %
工業(yè)數(shù)據集的語義特征可視化見圖9,由此可知,即使使用了距離損失函數(shù),不同基礎模型也有關注圖像中相似語義特征的傾向,個別基礎模型甚至被迫放棄關鍵語義特征的提取,并失去了部分識別能力,而其他單個基礎模型已經可以學習較為全面的特征信息。因此,距離損失函數(shù)在工業(yè)數(shù)據集上不能使特征融合模型獲得更豐富的語義特征,而在某些情況下還會因過擬合降低模型的識別性能。
圖9 針對NEU,TEX和BSD數(shù)據集的類激活圖
綜合來說,距離損失函數(shù)在Cifar10,Cifar100和miniImageNet數(shù)據集上取得了更好的效果(見圖10)。其原因可能是NEU,TEX和BSD等工業(yè)數(shù)據集中與識別有關的特征概念是極其有限的,冗余的特征信息會導致特征融合模型過度擬合。工業(yè)數(shù)據集基于沒有明確形狀或位置的紋理級圖像模式,如線條、角和顏色,并且這些低級特征通常簡單,很可能在較低卷積層被不同類所共享[18],使其對特定類的關聯(lián)能力大大降低。相比之下,基于物體的數(shù)據集有更多的部位級或物體級特征,這些高級特征更具有可解釋性和類針對性,特征表征更具代表性。由此可見,如果數(shù)據集具有豐富的關鍵語義特征,距離損失函數(shù)就能使特征融合模型獲得更豐富的圖像特征和更高的識別準確率,但如果數(shù)據集只具有少量簡單的關鍵特征,該方法就有可能損害最終的識別效果。
圖10 距離損失函數(shù)在不同數(shù)據集情況下對特征融合模型準確率的提升效果
該文提出了基于距離損失函數(shù)的特征融合模型,使多個基礎模型的融合更加有效,其中距離損失函數(shù)迫使基礎模型從圖像中學習不同的語義特征,特征融合模型對學習到的特征信息進行整合利用,對目標進行分類識別。實驗表明,針對具有豐富關鍵語義特征的數(shù)據集,該方法可以增強融合模型的特征多樣性,提高其對數(shù)據集的識別性能,同時ResNet架構中的卷積層具有顯著的可解釋性,最適合距離損失函數(shù)的應用。
在日后工作中,主要有兩個方面的問題有待解決。首先,當前距離損失函數(shù)中兩部分的權重固定,但在不同條件下,特別是針對不同數(shù)據集,最佳權重的取值范圍有所變化,因此,探索能與條件掛鉤的自適應權重將是后續(xù)可行的優(yōu)化方案。其次,可以研究進一步提高全局特征表征的可解釋性和表征性的方法,比如類似于ResNet架構,對多個層次卷積層的特征信息進行提取與整合,從中構建包含多層次語義特征的全局特征表征。