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