王紫沁,楊 維
(北京交通大學(xué) 電子信息工程學(xué)院,北京 100044)
當(dāng)測試數(shù)據(jù)中的類別(不可見類)在訓(xùn)練數(shù)據(jù)的類別(可見類)中沒有出現(xiàn)時,零樣本學(xué)習(xí)算法(zero-shot learning,ZSL)通過利用包含類別關(guān)聯(lián)信息的語義空間和已知類的訓(xùn)練數(shù)據(jù)對不可見類識別[1,2]。基于映射方法的ZSL做法是用可見類數(shù)據(jù)學(xué)習(xí)圖像空間和語義空間的映射模型,將模型運用到不可見類上,然后在映射空間使用相似性度量對未知類進行識別。針對視覺-語義映射模型,已有的工作可以分為3類:第一類將圖像特征映射到語義空間[3-5],第二類將圖像特征和語義特征映射到公共空間[6-9]。不論是語義空間還是公共空間映射都會加劇高維空間樞紐問題,采用KNN算法時,一些“hubs”會成為大多樣本的預(yù)測類別。第三類采用反向映射回歸方法可以規(guī)避樞紐問題[10,11],但是語義原型特征映射到圖像空間后易于匯聚到原點,偏離每類的圖像特征區(qū)域。除了樞紐問題外,第二類方法中Fu等提出域漂移現(xiàn)象,并提出使用多個語義和圖像特征的正規(guī)相關(guān)分析來緩解漂移問題,但使用了測試數(shù)據(jù)并且算法復(fù)雜[7]。第一類方法中Kodirov E等提出語義自編碼(SAE)方法,通過構(gòu)建語義空間映射模型并增加重構(gòu)圖像空間的約束。該方法存在語義特征到圖像特征的映射,但是體現(xiàn)在CUB數(shù)據(jù)集,在AwA數(shù)據(jù)集是正向映射為主體。SAE針對解決的是域漂移問題,算法高效且簡單[5]。
為了聯(lián)合考慮上述兩個問題,提出了基于語義對齊和重構(gòu)的零樣本學(xué)習(xí)算法RMSASC(reverse mapping via semantic alignment and semantic reconstruction)。首先,本文采用語義空間到圖像空間映射規(guī)避樞紐問題,并針對語義原型偏離現(xiàn)象提出基于語義對齊的約束,使語義原型特征都映射至每類圖像特征原型處,促使兩個空間特征對齊,緩解了樞紐問題。同時為了緩解域漂移問題提出語義特征重構(gòu)的約束,使模型學(xué)習(xí)到完整的映射到圖像空間的、沒有丟失不可見類的有效語義特征維度信息,使模型更具有泛化性和魯棒性。通過在零樣本學(xué)習(xí)的基準數(shù)據(jù)集(AWA和CUB)上實驗,驗證了所提零樣本算法具有較好的分類效果。
RMSASC零樣本學(xué)習(xí)算法是為了緩解零樣本學(xué)習(xí)中的樞紐問題和域漂移問題而提出的,該算法的基本映射模型是語義空間到圖像空間的反向回歸映射。模型的架構(gòu)采用兩層的神經(jīng)網(wǎng)絡(luò),每層神經(jīng)網(wǎng)絡(luò)是線性層和激活層的組合,比線性映射模型有更強的表達能力,充分學(xué)習(xí)兩個空間特征的關(guān)系。采用基本模型,映射后的語義特征比圖像特征方差小,仍會偏離圖像特征中心區(qū)域,在采用KNN算法找最近鄰時,hubs會導(dǎo)致預(yù)測失誤。語義對齊的正則化約束可以使每個樣本的語義原型特征映射至每類圖像特征原型處,促使兩個空間特征原型對齊,有效緩解了樞紐問題。同時,為了緩解零樣本學(xué)習(xí)中的域漂移問題,提出加入將圖像空間中的語義特征映射點重新映射到語義空間的正則化約束,重構(gòu)完整有效的語義特征信息。因為在用可見類訓(xùn)練數(shù)據(jù)訓(xùn)練模型中,有的語義特征維度對于不可見類是重要的,而于可見類是不重要的,在模型學(xué)習(xí)中可能會被丟掉。語義重構(gòu)的約束會重構(gòu)完整的語義特征信息,使得模型更具有泛化性和魯棒性。接下來從RMSASC零樣本學(xué)習(xí)算法的基本模型、語義對齊和語義重構(gòu)約束介紹。
本文提出的基于語義對齊和重構(gòu)的零樣本學(xué)習(xí)算法——RMSASC的整體架構(gòu)如圖1所示,主要包含兩個分支:圖像特征提取分支和語義特征映射分支。
圖1 RMSASC模型整體架構(gòu)
圖像特征提取分支是將訓(xùn)練圖像Ii輸入CNN卷積特征提取網(wǎng)絡(luò),輸出得到維度為D的圖像特征向量φ(Ii)∈RD×1。 圖像特征空間將作為圖像的嵌入空間和該圖像所對應(yīng)的可見類語義特征的映射空間。
圖2 語義特征映射分支
語義特征映射分支中的映射模型中的參數(shù)是需要學(xué)習(xí)的,當(dāng)每個訓(xùn)練圖像的語義特征映射到圖像特征空間后,和提取的圖像特征之間計算通過平方損失函數(shù),目標是最小化訓(xùn)練樣本的圖像特征和語義嵌入特征的誤差,使得訓(xùn)練圖像的語義嵌入特征與圖像特征的相似度變大。通過上述定義,則RMSASC算法的基本模型(RM)如下所示
(1)
其中,W1∈RL×M是語義特征映射分支映射模型的神經(jīng)網(wǎng)絡(luò)的第一個FC層的權(quán)重,W2∈RM×D是第二個FC層的權(quán)重。γ是損失函數(shù)中對權(quán)重的正則化損失的參數(shù),是一個超參數(shù)。f(·)=max(0,·) 是ReLU激活函數(shù)。
反向回歸映射后,會存在一種現(xiàn)象:在圖像特征空間中,語義嵌入特征的方差小于圖像特征的方差,即映射后的數(shù)據(jù)更加接近空間的原點而不是目標數(shù)據(jù)分布。雖然式(1)的目標函數(shù)是為了使每個圖像的語義特征映射后盡可能接近于該圖像特征,但是存在的這個現(xiàn)象,使每個樣本的語義特征不能通過映射模型學(xué)習(xí)到圖像空間中最佳的映射點,在進行最近鄰預(yù)測算法中,hubs可能導(dǎo)致類別預(yù)測錯誤。因此,設(shè)計一個語義對齊約束,讓每個樣本所屬類別的語義特征通過映射后,與該類樣本圖像特征的原型對齊。這種約束對數(shù)據(jù)進行了增強處理,增加了樣本的多樣性,進而增強了模型的學(xué)習(xí)表達能力;同時提供了圖像空間每個類的標準,利于語義原型特征映射到正確類別的圖像特征處而不是原點附近,緩解了樞紐問題。
每類樣本的圖像特征的原型是具有代表性的點,大量的樣本的數(shù)據(jù)分布滿足高斯分布,因此原型點是每類圖像特征的均值。提出的語義對齊的約束如下
(2)
在基于語義對齊的反向映射零樣本學(xué)習(xí)算法(RMSA)中,其目的是最小化語義特征和圖像特征、語義特征和圖像特征原型的歐氏距離,很好學(xué)習(xí)到了可見類圖像的兩個特征空間的數(shù)據(jù)相似關(guān)系。但是,可見類和不可見類別對象分別具有不同的互斥的類集,因此在兩個空間的數(shù)據(jù)分布是不同的。如果直接把在可見類數(shù)據(jù)集上學(xué)習(xí)到映射模型運用到不可見類別的對象上,則結(jié)果會產(chǎn)生一定的偏差。因此,為了緩解這一問題,受語義自編碼模型的啟發(fā),考慮添加將語義嵌入特征映射的結(jié)果再反向映射到語義空間的語義重構(gòu)約束。這一約束可以使得語義-視覺的映射模型重構(gòu)原始完整的語義特征信息。因為有的語義特征對于不可見類別是重要的,對可見類是不重要的,所以可能用訓(xùn)練數(shù)據(jù)學(xué)習(xí)模型過程中,某些不可見類的語義特征被丟失。因此語義重構(gòu)約束使得模型具有魯棒性和泛化性,更好的應(yīng)用于未知類對象。語義重構(gòu)約束如下
(3)
通過結(jié)合上述的基本模型、語義對齊約束和語義重構(gòu)約束,得到了基于語義對齊和重構(gòu)的零樣本分類算法(RMSASC)。算法模型表示為
(4)
其中,λ、β和γ是需要學(xué)習(xí)的超參。
當(dāng)映射模型學(xué)習(xí)完以后,將測試圖像Ij輸入圖像特征提取分支得到圖像視覺特征φ(Ij)∈RD×1, 將所有不可見類語義特征經(jīng)過語義特征映射分支映射到圖像特征空間中,得到語義嵌入特征φ(yv)∈RD×1, 然后計算測試圖像視覺特征與所有的語義潛入特征的距離,最后找到距離最小的語義嵌入特征,其所對應(yīng)的類為該對象的類別。計算如下
(5)
其中,D是距離度量函數(shù),本文采用的是歐式距離。yv是語義特征空間的第v類的語義特征。
本文基于PyTorch[12]深度學(xué)習(xí)框架實現(xiàn)了RMSASC算法,并在兩大主流零樣本標準數(shù)據(jù)集上進行了實驗。實驗的環(huán)境是一臺擁有4張12 196 MB顯存的Titan Xp和1塊62 GB的CPU內(nèi)存的Ubuntu服務(wù)器。
本次實驗使用的是各具特點的且含有公開圖像的標準的零樣本學(xué)習(xí)數(shù)據(jù)集,即AwA(animals with attribu-tes)[13]和Caltech-UCSD Bird2011(CUB)[14]。數(shù)據(jù)集的詳細細節(jié)見表1。
表1 數(shù)據(jù)集的詳細信息
AwA是動物數(shù)據(jù)集,屬于粗粒度圖像,共包括50個類別的30 475張圖像。按照官方劃分,其中可見類類別是40類,不可見類類別是10類,每個類別都具有85維的連續(xù)屬性。CUB是鳥類數(shù)據(jù)集,屬于細粒度圖像,共包括200個類別的11 788張圖像,其中,可見類類別是150類,不可見類別是50類,每個類別都具有312維的連續(xù)屬性。
本文實驗數(shù)據(jù)集的圖像特征提取網(wǎng)絡(luò)采用的是在ImageNet數(shù)據(jù)集上進行過預(yù)訓(xùn)練的ResNet101卷積網(wǎng)絡(luò)[15],并沒有在相應(yīng)的數(shù)據(jù)集上做微調(diào)處理。首先把本文數(shù)據(jù)集的圖像按照中心裁剪方式裁剪成256×256尺寸,然后縮放成224×224尺寸;其次,將圖像的3個顏色通道分別按均值為(0.229,0.224,0.225),標準差為(0.485,0.456,0.406)進行歸一化處理后,輸入到預(yù)訓(xùn)練的ResNet101卷積網(wǎng)絡(luò),得到全局池化層(GAP)輸出的2048維的圖像特征。
本文使用的語義空間的特征是屬性特征。具體地說,AwA使用的是數(shù)據(jù)集提供的85維度的類級別的連續(xù)屬性;CUB使用的是數(shù)據(jù)集提供的312維度的類級別的連續(xù)屬性。
(1)首先要確定在基本模型RM下語義特征映射分支的神經(jīng)網(wǎng)絡(luò)的架構(gòu),輸入層神經(jīng)元數(shù)目由屬性維度決定,輸出神經(jīng)元數(shù)目由圖像特征維度確定,中間第一個FC層的神經(jīng)元個數(shù)通過實驗確定。對于AwA,設(shè)置FC層神經(jīng)元數(shù)目m取值范圍是m∈[100,2000]; 對于CUB,設(shè)置FC層神經(jīng)元數(shù)目m取值范圍是m∈[400,2000]。 通過實驗確定AwA和CUB的第一個FC層的神經(jīng)元個數(shù)分別為300和800。
(2)當(dāng)確定了神經(jīng)網(wǎng)絡(luò)模型后,調(diào)節(jié)目標函數(shù)(4)的超參,設(shè)置λ∈[0,0.2,0.4,0.6,0.8,1],β∈[0,0.00001,0.0001,0.001,0.01,0.1,1]。 通過取不同數(shù)值進行網(wǎng)格搜索,得到了RMSASC模型。
在第(1)和第(2)的訓(xùn)練過程中,采用的是Adam優(yōu)化算法,對于AwA數(shù)據(jù)集,學(xué)習(xí)率設(shè)置為0.0001,mini-batch設(shè)置為64,梯度裁剪設(shè)置為5;對于CUB數(shù)據(jù)集,學(xué)習(xí)率設(shè)置為0.000 01,mini-batch設(shè)置為100,梯度裁剪設(shè)置為1。
經(jīng)過在AwA和CUB的20 000次和30 000次的迭代訓(xùn)練和權(quán)重更新,本文得到了在數(shù)據(jù)集AwA和CUB上的ZSL實驗結(jié)果,表2給出了本文方法與其它方法的比較結(jié)果。本文對比的零樣本學(xué)習(xí)算法有直接屬性預(yù)測(DAP)[4]、語義相似性嵌入零樣本學(xué)習(xí)算法(SSE)[16]、聯(lián)合嵌入零樣本學(xué)習(xí)算法(SJE)[6]、一種簡單的不可靠約束的零樣本學(xué)習(xí)算法(ESZSL)[8]、合成分類器的零樣本學(xué)習(xí)算法(SYNC)[17]、指數(shù)族的零樣本學(xué)習(xí)算法(GFZSL)[18]、語義自編碼器的零樣本學(xué)習(xí)算法(SAE)[5]和深度嵌入約束的零樣本學(xué)習(xí)算法(DEM)[10]。
表2 不同的零樣本分類方法在數(shù)據(jù)集上的正確率比較
表2中,“-”表示該文獻并沒有對相應(yīng)的數(shù)據(jù)集做實驗。
我們可以看到本文提出的RMSASC模型在AwA數(shù)據(jù)集的未知類別上取得了88.8%的分類正確率,在CUB數(shù)據(jù)集的未知類別上取得了59.6%的分類正確率。對于AWA,本文的分類正確率是最高的,與本文具有較大競爭力的是SAE和DEM模型,本文模型比SAE和DEM模型分別提高了4.1%和2.1%;對于CUB,本文模型的分類正確率雖然比SAE模型小,但是效果仍然是比較好的,比GFZEL和DEM模型分別提高了3.1%和1.3%。驗證了本文的方法對未知類別具有較高的識別能力。
本文是在反向映射的基本模型上,增加了基于語義對齊和語義重構(gòu)的約束,得到了RMSASC模型。接下來想考察一下RM、RMSA和RMSASC模型在數(shù)據(jù)集上的分類識別率,來驗證一下兩個約束的有效性。
下面定義一下3種模型:
(1)RM基本模型:設(shè)置目標函數(shù)(4)中的λ=0,β=0;
(2)RMSA模型:設(shè)置目標函數(shù)(4)中β=0, 調(diào)節(jié)λ;
(3)RMSASC模型:目標函數(shù)(4)不變,調(diào)節(jié)λ和β。
圖3和圖4分別是RMSA模型在AwA和CUB數(shù)據(jù)集的分類識別率情況。從圖中可以看出,增加語義對齊約束可以提高零樣本分類算法的分類性能。對于AwA,當(dāng)λ等于0.6的時候,RMSA的分類正確率比λ等于0(RM基本模型)的分類正確率高。對于CUB,當(dāng)λ等于0.4的時候,RMSA的分類正確率比λ等于0(RM基本模型)的分類正確率高。根據(jù)結(jié)果,說明了基于語義對齊的約束,可以幫助語義空間的每類的語義特征較優(yōu)地映射到圖像空間中每類的圖像特征中,提高了分類識別率,驗證了它的有效性。
圖3 RMSA模型在AwA數(shù)據(jù)集的分類識別率
圖4 RMSA模型在CUB數(shù)據(jù)集的分類識別率
圖5和圖6分別是RMSASC模型在AwA和CUB數(shù)據(jù)上的分類識別率情況。圖中,橫坐標顯示的是不同的語義約束,圖中央顯示的6個不同的語義重構(gòu)約束,縱坐標顯示的是分類正確率。
圖5 RMSASC模型在AwA數(shù)據(jù)集的分類識別率
圖6 RMSASC模型在CUB數(shù)據(jù)集的分類識別率
如圖5所示,對于AwA數(shù)據(jù)集,當(dāng)λ等于0時,只存在重構(gòu)約束的情況下,仍然可以得到比RM模型較高的分類識別率。當(dāng)λ不等于0時,可以看到beta等于0.000 01、0.0001時,RMSASC模型的分類識別率具有明顯的提升,比RM模型的分類識別率高1.73%,比RMSA模型分類識別率高1.4%。如圖6所示,對于CUB數(shù)據(jù)集,當(dāng)λ等于0時,只存在重構(gòu)約束的情況下,仍然可以得到比RM模型較高的分類識別率。當(dāng)λ不等于0時,可以看到beta等于0.000 01、0.0001時,RMSASC模型的分類識別率也有一定的提升,比RM模型的分類識別率高0.88%,比RMSA模型分類識別率高0.61%。根據(jù)結(jié)果,表明了基于語義重構(gòu)的約束,幫助重構(gòu)語義空間語義特征,可以提高模型的泛化能力,緩解了ZSL的域漂移,提高了分類識別率,驗證了它的有效性。
本文聯(lián)合樞紐問題和域漂移問題,提出了一種基于語義對齊和語義重構(gòu)約束的零樣本學(xué)習(xí)算法。本文采用語義空間回歸映射到圖像空間來避免映射到其它空間加劇樞紐問題。針對反向映射現(xiàn)象存在的不足:映射后的語義特征比圖像特征方差小,易于匯聚到處于原點附近。加入語義對齊的正則化約束,有利于語義空間類級別的語義原型特征和圖像特征原型點的對齊,進一步緩解了樞紐問題,提高了最近鄰算法的預(yù)測正確率。同時提出加入語義重構(gòu)的正則化約束,重構(gòu)語義特征信息,使得模型更具有泛化性和魯棒性,緩解了域漂移問題。實驗結(jié)果表明,在基本模型的基礎(chǔ)上所加入的約束對于AwA和CUB數(shù)據(jù)集測試類樣本的識別率具有較明顯的提升,驗證了所提算法的有效性。