許世斌 高子淑
1(西安電子科技大學計算機科學與技術(shù)學院 陜西 西安 710071)2(北京化工大學信息科學與技術(shù)學院 北京 100029)
傳統(tǒng)的分類模型只能識別與訓練樣本相同類別的數(shù)據(jù),而無法識別無訓練樣本的數(shù)據(jù)。在分類任務(wù)的實際應(yīng)用場景中,往往會遇到缺乏訓練樣本以及樣本標簽丟失等傳統(tǒng)分類模型無法處理的問題。人類能夠?qū)⒔?jīng)驗與事物的形狀、色彩的語言描述相結(jié)合,輕易地識別出從未見過的事物,受此啟發(fā),零樣本學習(Zero Shot Learning,ZSL)通過學習數(shù)據(jù)在可見類別上的分布,結(jié)合未見類別的輔助語義信息以識別未見類別數(shù)據(jù),為部分類別缺乏圖像數(shù)據(jù)的分類問題提供了解決方案。
零樣本學習在訓練階段僅使用可見類別樣本與未見類別的文本描述進行訓練,而測試階段則僅對未見類別的測試數(shù)據(jù)進行分類。在實際應(yīng)用中,未見類的數(shù)據(jù)通常需要與可見類的數(shù)據(jù)共同進行分類,即在零樣本學習的訓練階段對可見類別與未見類別測試數(shù)據(jù)的并集進行分類,這樣的分類任務(wù)被稱為泛零樣本學習(Generalized Zero Shot Learning,GZSL)任務(wù)。
目前主流零樣本學習方法通常將從可見類樣本中學習到的視覺語義映射關(guān)系遷移到未見類上,將分類數(shù)據(jù)的語義特征與視覺特征投影到一個公共空間上進行處理。Lampert等[1]提出了以屬性向量作為零樣本學習的輔助語義信息,通過最大后驗概率法,基于圖像視覺特征數(shù)據(jù)對未見類的形狀、顏色等各項屬性進行預測,將視覺特征轉(zhuǎn)義為語義特征,使用支持向量機對所預測的屬性特征進行分類。由于輔助語義信息中存在一詞多義、多詞同義等情況,容易引發(fā)樞紐點問題。為解決這一問題,Zhang等[2]提出使用將語義特征映射為視覺特征進行零樣本分類的方法,并提出多模態(tài)學習機制,基于多種語義特征學習視覺語義映射關(guān)系。Kodirov等[3]提出基于語義自編碼(Semantic Autor Encoder)的零樣本學習方法,為視覺語義映射關(guān)系增加重構(gòu)性約束,增加具體語義信息約束,實現(xiàn)有監(jiān)督下的映射關(guān)系學習。吳凡等[5]提出了一種基于權(quán)重衰減的端到端的零樣本學習框架,通過權(quán)重衰減約束限制模型在強關(guān)聯(lián)屬性的大小。Elhoseiny等[5]提出使用更貼近實際應(yīng)用的含噪文本描述作為語義特征,進行零樣本學習的方法。
基于語義關(guān)系映射的零樣本學習方法在零樣本學習任務(wù)上取得了良好的表現(xiàn),然而,這類方法存在可見類真實數(shù)據(jù)與基于語義關(guān)系映射得到的未見類數(shù)據(jù)數(shù)量不平衡的問題在泛零樣本學習任務(wù)中的表現(xiàn)不盡理想。近年來,隨著生成對抗網(wǎng)絡(luò)(generative Adversarial Networks,GAN)的發(fā)展,基于生成模型的零樣本學習方法逐漸興起。Xian等[6]使用對抗生成網(wǎng)絡(luò)基于語義特征與高斯噪聲生成未見類的視覺特征進行分類,使零樣本學習問題轉(zhuǎn)化為監(jiān)督分類問題。Zhu等[7]提出了可見類視軸中心約束方法,提高了基于生成對抗網(wǎng)絡(luò)的零樣本學習算法的分類精度。
基于對抗生成網(wǎng)絡(luò)的方法為零樣本學習提供了新的思路,然而,對抗生成網(wǎng)絡(luò)存在模型訓練難度大、生成數(shù)據(jù)可分性與穩(wěn)定性較差等問題。為了克服這些問題,本文提出了一種基于共性假設(shè)的生成模型(Common Hypothesis-Based Generative Model,CHBGM)。針對對抗生成網(wǎng)絡(luò)訓練難度較大的問題,提出了一種基于條件變分自編碼器的零樣本生成模型;針對生成模型生成數(shù)據(jù)的可分性與穩(wěn)定性較差的問題,提出了未見類別與可見類別的數(shù)據(jù)分布可分但具有一定的相似性的假設(shè),并提出一種共性正則項,在生成模型的訓練階段進行約束。在主流零樣本學習數(shù)據(jù)集的零樣本學習與泛化零樣本學習任務(wù)上進行實驗,驗證了本文方法的有效性。
在零樣本學習任務(wù)中,訓練階段使用可見類數(shù)據(jù)集合S={(x,y,cs)|x∈Xs,y∈Y,cs∈Cs}作為訓練集,其中:x為基于深度卷積神經(jīng)網(wǎng)絡(luò)所提取的圖像視覺特征;y為可見類圖像的輔助語義信息;cs為x與y對應(yīng)的類別。在訓練階段,未見類輔助語義信息集U={(u,cu)|u∈U,cu∈Cu}對模型可見,其中:u為未見類的輔助語義信息;cu為u對應(yīng)的類別;Cu∩Cs=?。
用Xu表示未見類的視覺特征集合,則零樣本學習任務(wù)的目標是訓練一個分類器fzsl:Xu→Yu;泛零樣本學習任務(wù)的目標是訓練一個分類器fgzsl:Xu∩Xs→Yu∪Ys。
變分自編碼器(Variational Autoencoder,VAE)[8]是一種基于變分貝葉斯估計實現(xiàn)的生成模型,由一個編碼器與一個解碼器組成。變分自編碼器假設(shè)生成數(shù)據(jù)的分布可以由一個規(guī)整分布p(z)經(jīng)過一定的變換得到,p(z)通常取標準高斯分布。在變分自編碼器的訓練階段,首先將原始數(shù)據(jù)通過一個編碼器qθ(z|x)編碼為隱變量z,再基于編碼的隱變量z使用一個解碼器pθ(x|z)重構(gòu)為接近原始數(shù)據(jù)的新數(shù)據(jù)。在測試階段,使用高斯噪聲作為隱變量z輸入解碼器,生成新的數(shù)據(jù)。變分自編碼器的損失函數(shù)如下:
(1)
變分自編碼器無法控制生成數(shù)據(jù)的類別,為了解決這一問題,文獻[9]提出了條件變分自編碼器(Conditional Variational Autoencoder,CVAE)模型。在條件變分自編碼器中引入了條件變量c,以p(x|c)作為變分下界,使模型能夠生成具備某些特性的數(shù)據(jù)。條件變分自編碼器的損失函數(shù)為:
LCVAE=-KL(qθ(z|x,c)‖p(z|c))+
(2)
本文訓練了一個條件變分自編碼器作為未見類的生成模型。在模型訓練階段,以可見類視覺特征數(shù)據(jù)作為自編碼器的輸入數(shù)據(jù),使用所生成類別的輔助語義信息作為條件變量。訓練完成后,使用高斯噪聲作為條件變分自編碼器中解碼器的輸入數(shù)據(jù),以未見類別的輔助語義信息作為條件變量生成未見類的視覺特征,用于進行零樣本學習任務(wù)或泛零樣本學習任務(wù)。
基于條件變分自編碼器可以生成與真實數(shù)據(jù)分布接近的數(shù)據(jù),但是條件變分自編碼器在零樣本學習任務(wù)中生成未見類數(shù)據(jù)時,由于沒有未見類樣本且所生成的未見類數(shù)據(jù)的分布僅依賴于輔助語義信息,容易導致所生成的未見類數(shù)據(jù)分布與真實數(shù)據(jù)分布差異較大,從而影響使用生成數(shù)據(jù)進行零樣本學習與泛零樣本學習任務(wù)的結(jié)果。本文假設(shè)零樣本學習任務(wù)中,未見類數(shù)據(jù)與至少一種可見類的數(shù)據(jù)分布具有一定的相似性。例如:斑馬與馬之間具有較強的相似性,若斑馬為未見類,馬為可見類,則此二類數(shù)據(jù)分布之間的距離應(yīng)相對較小。依據(jù)該假設(shè),條件變分自編碼器所生成的未見類別數(shù)據(jù)分布至少與一種可見類別數(shù)據(jù)分布之間具有較小的距離。本文使用歐式距離度量分布之間的距離,并提出了共性約束正則項:
(3)
(4)
式中:xcs∈Xcs為可見類別cs中的數(shù)據(jù)。
為了防止共性約束降低未見類生成數(shù)據(jù)與可見類真實數(shù)據(jù)之間的可分性,從而影響模型在泛零樣本學習任務(wù)中的表現(xiàn),本文使用了輔助分類正則項對未見類生成數(shù)據(jù)以及可見類的真實數(shù)據(jù)進行區(qū)分。使用一個fc層與Softmax函數(shù)組合,作為分類器,為未見類的生成數(shù)據(jù)與可見類的真實數(shù)據(jù)計算輔助分類損失。輔助分類正則項為:
(5)
式中:n為樣本類別總數(shù);xi為各類別視覺特征(可見類使用真實視覺特征,未見類使用生成視覺特征);f(xi)為分類器分類結(jié)果;ci為xi所對應(yīng)的數(shù)據(jù)標簽。
最終,共性假設(shè)約束損失LR計算如下:
LR=Llike+λLcla
(6)
式中:λ為輔助分類正則項對應(yīng)的超參數(shù)。
CHBGM整體結(jié)構(gòu)如圖1所示。其中,條件變分自編碼器由編碼器與解碼器兩部分組成。
圖1 基于共性假設(shè)的零樣本生成模型CHBGM
模型訓練階段,在編碼器中,圖像視覺特征數(shù)據(jù)x與圖像輔助語義信息y共同通過兩層全連接層后,再分別經(jīng)過兩個不同的全連接層,計算出μ與σ,隨后從隨機分布N(μ,σ)中采樣出與μ和σ同維的隱變量z。在獲得由真實數(shù)據(jù)通過編碼器采樣的隱變量z后,使用z與y經(jīng)過解碼器中的兩層全連接層解碼為重構(gòu)特征xrc,根據(jù)式(2)計算條件變分自編碼器的損失LCVAE,根據(jù)式(6)結(jié)合可見類樣本的視軸中心sc計算共性約束損失LR,并基于LCVAE與LR對條件變分自編碼器模型進行優(yōu)化。
當生成模型訓練完成后,使用高斯噪聲作為解碼器的輸入,結(jié)合輔助語義信息y生成各類別視覺特征數(shù)據(jù),并將所生成的視覺特征數(shù)據(jù)與真實數(shù)據(jù)一同送入一個分類器中進行訓練。
測試階段,使用訓練完成的分類器模型其對測試數(shù)據(jù)進行驗證。本文分類器由一個神經(jīng)網(wǎng)絡(luò)隱含層與Softmax函數(shù)組成。
本文基于Pytorch框架實現(xiàn)了CHBGM,并將可見類視覺特征與該模型生成的未見類視覺特征送入含有一個隱藏層的分類神經(jīng)網(wǎng)絡(luò)中進行訓練,得到零樣本分類模型。本文實驗的軟硬件環(huán)境為:Windows 10(64位),Python 3.7,NVIDIA 2080ti,RAM 8 GB及i7- 9750H。
對于零樣本學習任務(wù)與泛零樣本學習任務(wù),本文參考文獻[10]的規(guī)范,選取了AWA2、SUN、CUB三個主流零樣本學習數(shù)據(jù)集作為實驗數(shù)據(jù)集,各數(shù)據(jù)集的詳細參數(shù)如表1所示。各數(shù)據(jù)集的特點是:SUN類別數(shù)較多,AWA2單類別圖片多,CUB屬性個數(shù)多。
表1 數(shù)據(jù)集配置表
本文的神經(jīng)網(wǎng)絡(luò)學習率取10-3,優(yōu)化算法使用Adam優(yōu)化算法[11],訓練周期數(shù)為200個,每個訓練周期中,每次迭代時的批大小為64。實驗中,所有數(shù)據(jù)集的圖像都由GoogleNet提取視覺特征,所提取的視覺特征維數(shù)均為1 024,數(shù)據(jù)集中的輔助語義信息均為屬性向量[1],超參數(shù)λ取值為0.001。
在零樣本學習任務(wù)中,由于數(shù)據(jù)集中各類內(nèi)數(shù)據(jù)數(shù)量不均衡,本文參考文獻[10]使用各類識別準確率均值作為評價指標。其定義如下:
(7)
在泛零樣本學習任務(wù)中,參考文獻[10]的規(guī)范,對于可見類別數(shù)據(jù)集,使用80%的數(shù)據(jù)作為訓練數(shù)據(jù),20%的數(shù)據(jù)作為測試數(shù)據(jù)。對于未見類數(shù)據(jù)使用本文所提出的生成模型生成數(shù)據(jù)作為訓練數(shù)據(jù),以真實數(shù)據(jù)作為測試數(shù)據(jù)。在泛零樣本學習任務(wù)中,使用可見類識別準確率與未見類識別準確率的調(diào)和平均數(shù)H作為評價指標。
本文模型應(yīng)用于零樣本學習任務(wù)的識別準確率均值隨迭代次數(shù)變化的曲線如圖2所示。隨著迭代次數(shù)的增加,識別準確率均值盡管在小范圍內(nèi)有所波動,但整體上逐漸提升并趨向于穩(wěn)定,證明了本文模型具有較好的收斂性。
圖2 訓練過程中零樣本學習評價指標的變化
在泛零樣本學習任務(wù)中,評價指標H隨時間變化曲線如圖3所示。H隨著迭代次數(shù)的增加逐漸趨于穩(wěn)定,證明了該模型在泛零樣本學習任務(wù)中同在零樣本學習任務(wù)中一樣,具有較好的收斂性。
圖3 訓練過程中泛零樣本學習評價指標的變化
將CHBGM模型與表2中所示的六種零樣本識別方法進行比較,使用各類準確率均值作為評價指標。為了對比的合理性,本文對GAZSL進行了復現(xiàn),使用屬性向量作為其輔助語義特征。可以看出,本文模型在零樣本學習任務(wù)上的表現(xiàn)相比于所比較算法更具優(yōu)勢。
表2 不同方法在各數(shù)據(jù)集上的零樣本學習表現(xiàn)對比
對于泛零樣本學習任務(wù),本文使用可見類與未見類識別率的調(diào)和平均數(shù)H作為衡量指標,對比結(jié)果如表3所示??梢?,本文模型優(yōu)于所比較方法。DAP、ALE、SJE等方法是基于視覺語義映射遷移的方法,在泛零樣本學習任務(wù)中各未見類樣本只有一個視覺特征數(shù)據(jù),難以實現(xiàn)均衡的分類器訓練。GAZSL為基于對抗生成網(wǎng)絡(luò)的零樣本生成模型,該模型僅對模型生成的可見類數(shù)據(jù)進行約束,而未對未見類數(shù)據(jù)進行約束,其在零樣本學習與泛零樣本學習任務(wù)上的表現(xiàn)從側(cè)面證明了本文所提出的共性假設(shè)約束的有效性。
表3 不同方法在各數(shù)據(jù)集上的泛零樣本學習表現(xiàn)對比
盡管本文模型在零樣本學習任務(wù)中的表現(xiàn)優(yōu)于對比算法,但在泛零樣本學習上的表現(xiàn)并不理想,其原因是泛零樣本學習任務(wù)中,未見類的數(shù)據(jù)需要與可見類進行比較,而生成模型通過可見類的視覺特征數(shù)據(jù)學習生成未見類的特征數(shù)據(jù)。雖然本文使用了式(5)的分類正則項進行約束,對可見類數(shù)據(jù)與未見類生成數(shù)據(jù)進行區(qū)分,但是在泛零樣本學習任務(wù)中,可見類數(shù)據(jù)與未見類數(shù)據(jù)依然存在較高的混淆比率,依然有待改進。
本文提出了一種基于變分自編碼器的零樣本學習方法,使用變分自編碼器結(jié)合屬性向量生成未見類樣本以用于分類任務(wù),同時提出了一種共性假設(shè)正則項,對生成的未見類樣本進行約束。實驗證明:本文方法優(yōu)于對比方法。
本文使用的輔助語義信息為不含噪的屬性向量,未來將引入更符合實際應(yīng)用的含噪文本作為輔助語義信息,并進一步提高識別精度,使零樣本學習方法能更好地應(yīng)用于實際應(yīng)用當中。