徐 戈,肖永強(qiáng),汪 濤,2,陳開志,廖祥文*,吳運兵
(1. 閩江學(xué)院計算機(jī)與控制工程學(xué)院,福州350108; 2. 福州大學(xué)數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,福州350116;3. 福建省網(wǎng)絡(luò)計算與智能信息處理重點實驗室(福州大學(xué)),福州350116;4. 數(shù)字福建金融大數(shù)據(jù)研究所,福州350116)
(?通信作者電子郵箱liaoxw@fzu.edu.cn)
在進(jìn)行圖像分類的過程中,圖像類別數(shù)往往較多。如果每次都采用人工去標(biāo)注每個類別標(biāo)簽,工作量會非常巨大。例如,在文字識別過程中,單字類別數(shù)量成千上萬,對每一個單字類別都進(jìn)行標(biāo)注幾乎是一件難以完成的工作。針對這樣的情況,如何利用機(jī)器學(xué)習(xí)訓(xùn)練分類器,在不標(biāo)注新類別的情況下仍然可以對其分類值得研究。顯然傳統(tǒng)的分類器并不能實現(xiàn)這樣的目的,所以研究者提出零樣本學(xué)習(xí)(Zero-Shot Learning,ZSL)概念[1]。
零樣本圖像分類思想屬于遷移學(xué)習(xí)的范疇,通過訓(xùn)練已有的視覺類別信息然后遷移到新圖像類別,并實現(xiàn)對其分類。人類能夠通過學(xué)習(xí)將已見過的視覺信息與語義信息建立聯(lián)系,并通過這樣的聯(lián)系去判別新圖像類別,使得我們具備識別未見過的圖像類別的能力。在零樣本學(xué)習(xí)圖像分類中,未知的圖像類別并沒有已知的源圖像訓(xùn)練樣本,但可以通過對已知圖像類別相關(guān)知識的學(xué)習(xí),然后遷移到未知的圖像類別當(dāng)中,從而對未知的圖像類別樣本進(jìn)行結(jié)果預(yù)測。屬性作為中層語義特征,可以建立跨類別、多層級關(guān)聯(lián)。屬性語義描述通常由人工標(biāo)注得到,因而能夠有效反映出類別之間的關(guān)系以及表示每一個類別。對零樣本圖像分類研究有助于解決目標(biāo)類別數(shù)據(jù)標(biāo)簽缺失問題、促進(jìn)對人類智能推理的深入研究,具有重要的理論研究意義和實際應(yīng)用價值。
根據(jù)測試時的圖像類別不同,零樣本學(xué)習(xí)通常分為兩種:傳統(tǒng)的零樣本學(xué)習(xí)(ZSL)和廣義零樣本學(xué)習(xí)(Generalized ZSL,GZSL)。其中:傳統(tǒng)零樣本學(xué)習(xí)只測試模型在未知類上的分類正確率;而廣義零樣本學(xué)習(xí)的測試類別既包括已知類,也包括未知類。對比方法在提升未知類上的分類性能的同時影響到了已知類上的分類性能,在已知類和未知類之間存在較嚴(yán)重的預(yù)測偏置。受此啟發(fā),本文提出一種基于視覺誤差預(yù)測的方法來判別輸入圖像是否屬于已知類,并根據(jù)其結(jié)果將圖像嵌入不同的類別語義空間進(jìn)行預(yù)測。
在早期的方法中,Lampert 等[2-3]提出一種直接屬性預(yù)測模型(Direct Attribute Prediction,DAP),該學(xué)習(xí)方法先訓(xùn)練已知樣本的視覺特征,以及相對應(yīng)類別的屬性特征,這樣可以學(xué)習(xí)得到一個分類器預(yù)測屬性,從而得到測試樣本每一個未見過類別的后驗概率,最后使用最大后驗估計法,對未知類測試圖像進(jìn)行結(jié)果預(yù)測。Romera-Paredes 等[4]提出了一個較為通用的神經(jīng)網(wǎng)絡(luò)框架,該網(wǎng)絡(luò)將特性、屬性和類之間的關(guān)系建模為兩個線性層網(wǎng)絡(luò),其中頂層的權(quán)重不是由環(huán)境來學(xué)習(xí),而是由環(huán)境來給出。通過將其作為域自適應(yīng)方法,進(jìn)一步給出了這種方法的泛化誤差的學(xué)習(xí)界限。第一線性網(wǎng)絡(luò)層建立圖像特征和屬性特征之間的聯(lián)系,第二線性網(wǎng)絡(luò)層建立屬性特征和類別標(biāo)簽之間的聯(lián)系。
針對各個屬性特征的某些語義關(guān)系,一些文獻(xiàn)對其進(jìn)行了不同程度的研究。比如,Liu 等[5]提出了一個統(tǒng)一的框架進(jìn)行屬性的學(xué)習(xí),屬性關(guān)系和屬性分類共同提高屬性預(yù)測的能力。具體來說,將屬性關(guān)系學(xué)習(xí)和屬性分類器設(shè)計成一個共同的目標(biāo)函數(shù),通過它不僅可以預(yù)測屬性,還可以自動發(fā)現(xiàn)數(shù)據(jù)中屬性之間的關(guān)系。鞏萍等[6]提出了一種基于屬性關(guān)系圖正則化特征選擇的零樣本圖像分類方法,通過訓(xùn)練樣本中類別和屬性矩陣來計算屬性之間的正負(fù)相關(guān)性,該屬性相關(guān)性直接預(yù)測屬性。
也有一些文獻(xiàn)提出將樣本的圖像特征和類別的語義特征同時映射到一個公共空間的方法。比如,文獻(xiàn)[7]提出了一種結(jié)構(gòu)化聯(lián)合嵌入(Structured Joint Embedding,SJE)方法,利用映射空間矩陣將圖像特征和語義特征嵌入到一個公共的特征空間,并基于公共特征空間計算各模態(tài)特征內(nèi)積和,內(nèi)積和最大的即為預(yù)測可能性最高的類別。Xian等[8]對SJE進(jìn)行改進(jìn),提出了一種隱藏嵌入(Latent Embedding,Lat Em)模型,在零樣本分類中學(xué)習(xí)圖像和類別嵌入之間的兼容性,通過結(jié)合深度變量來增強(qiáng)雙線性兼容性模型,使用基于得分排序的目標(biāo)函數(shù)訓(xùn)練模型,該目標(biāo)函數(shù)懲罰給定圖像的真實類別的錯誤得分排序。Akata 等[9]提出的聯(lián)合嵌入框架將多個文本語義部分映射到一個公共空間,具體操作是先將圖像劃分成多個塊,然后為各塊獲得相應(yīng)的文本特征,最后用聯(lián)合嵌入模型將它們映射到公共的特征空間當(dāng)中。
近年來利用深度學(xué)習(xí)充分融合屬性語義特征與圖像特征進(jìn)行分類,不需要考察每一類之間的距離度量,可以直接端到端訓(xùn)練分類。文獻(xiàn)[10]設(shè)計了深度嵌入模型,選擇合適的嵌入方式,對多個語義模態(tài)(屬性和文本)融合后端到端學(xué)習(xí),體現(xiàn)了一種自然機(jī)制,速度和正確率都有所改觀。文獻(xiàn)[11]設(shè)計出來的網(wǎng)絡(luò)使用的是一種比較的思想,通過比較來對新類別進(jìn)行分類,在性能上比文獻(xiàn)[10]方法略有提升。文獻(xiàn)[12]設(shè)計的神經(jīng)網(wǎng)絡(luò)是生成對抗的方式,利用均勻分布或高斯分布噪聲對文本與屬性特征產(chǎn)生新的圖像特征(包含已知的和未知的),從而對圖像特征進(jìn)行分類。文獻(xiàn)[13]設(shè)計了3 個網(wǎng)絡(luò),分別是FNet(提取圖像特征)、ZNet(定位感興趣區(qū)域并放大)和ENet(特征映射),并聯(lián)合訓(xùn)練3 個網(wǎng)絡(luò),其中ZNet 是參考文獻(xiàn)[14]方法利用重復(fù)注意力機(jī)制來定位。
本文采用深度學(xué)習(xí)方法重新設(shè)計神經(jīng)網(wǎng)絡(luò),充分融合屬性語義特征與圖像特征進(jìn)行端到端訓(xùn)練。訓(xùn)練包括兩個步驟:1)訓(xùn)練半監(jiān)督學(xué)習(xí)方式的生成對抗網(wǎng)絡(luò),提取圖像視覺誤差信息;2)訓(xùn)練零樣本圖像分類,使用屬性語義信息指導(dǎo)圖像分類,能夠識別未知類。
本文的主要工作如下:
1)提出一種半監(jiān)督學(xué)習(xí)方式的生成對抗網(wǎng)絡(luò),采用編碼器-解碼器-編碼器(encoder-decoder-encoder)架構(gòu),得到已見過類別和未見過類別在網(wǎng)絡(luò)深層次抽象特征的誤差值。該誤差值的作用在于區(qū)分已知類和未知類,防止在GZSL下預(yù)測發(fā)生偏置問題。
2)提出一種零樣本圖像分類網(wǎng)絡(luò),采用圖像特征與屬性語義特征完全拼接(feature concatenation),得到的模型既能在傳統(tǒng)設(shè)定下又能在廣義設(shè)定下獲取良好的分類表現(xiàn)。
3)通過視覺誤差參數(shù)設(shè)定閾值的選擇,可根據(jù)實際需要調(diào)整,縮小零樣本圖像分類在廣義設(shè)定下預(yù)測類別的搜索空間,具體可分為兩段和三段視覺誤差。
本問題描述分成兩部分:一部分是零樣本學(xué)習(xí),主要描述如何融合屬性語義實現(xiàn)識別目標(biāo)數(shù)據(jù),包括具體識別已知類和未知類;另一部分是視覺異常識別,主要描述如何通過訓(xùn)練已知類來預(yù)測辨別未來數(shù)據(jù)中已知類和未知類,以下使用圖像數(shù)據(jù)為例進(jìn)行描述。
圖1 零樣本學(xué)習(xí)Fig.1 Zero-shot learning
用于類別知識遷移的描述包括訓(xùn)練類別數(shù)據(jù)屬性語義描述Atrain,以及測試類別數(shù)據(jù)屬性語義描述Atest。這里的每個類別yi∈Y都可以表示為一個語義特征向量ai∈A的形式表示,比如“黑白色”“有條紋”“有四條腿”“食肉的”“有羽毛”“有尾巴”等,屬性語義特征向量每個維度都代表著一種高級的屬性描述,當(dāng)這個類別具備某些屬性時,則在其對應(yīng)的維度上會被設(shè)置成非零值(具體可參看3.1 節(jié)中的數(shù)據(jù)集)。對于全集類別,每個類別屬性語義向量維度都是一定的,一般經(jīng)過多個人工標(biāo)注后就可以得到該類別準(zhǔn)確的屬性語義描述信息。
如圖2 所示,訓(xùn)練數(shù)據(jù)為已知類,而測試數(shù)據(jù)既有已知類也有未知類,異常識別問題是希望通過訓(xùn)練已知類去識別已知類和未知類??梢詫⒁阎惍?dāng)作正常樣本,而未知類當(dāng)作異常樣本,異常識別問題被理解為二分類問題。由于訓(xùn)練數(shù)據(jù)沒有未知類,所以該訓(xùn)練方式屬于半監(jiān)督學(xué)習(xí)。
圖2 視覺異常識別Fig.2 Visual anomaly recognition
網(wǎng)絡(luò)設(shè)計思路借鑒GANomaly[15]模型,該生成對抗網(wǎng)絡(luò)為半監(jiān)督異常識別:編碼器-解碼器-編碼器(Encoder-Decoder-Encoder )流水線內(nèi)的新型對抗自動編碼器,捕獲圖像在深度特征空間內(nèi)的訓(xùn)練數(shù)據(jù)分布;是一種有效且新穎的異常識別方法,可以在統(tǒng)計和計算上提供更好的性能,如圖3 模型框架所示。
圖3 半監(jiān)督學(xué)習(xí)方式的生成對抗網(wǎng)絡(luò)框架Fig.3 Generative adversarial network framework of semi-supervised learning mode
整個框架由4部分組成:
1)視覺特征網(wǎng)絡(luò)。采用深度殘差網(wǎng)絡(luò),去掉最后的分類層和池化層,最后提取到深度特征圖像(feature map)。
2)生成網(wǎng)絡(luò)由編碼器GE(x)和解碼器GD(z)構(gòu)成。對于送入深度特征圖數(shù)據(jù)x 經(jīng)過編碼器GE(x)得到深度視覺向量z,z經(jīng)過解碼器GD(z)得到x的重構(gòu)數(shù)據(jù)
4)重構(gòu)編碼網(wǎng)絡(luò)GE。對重構(gòu)圖像編碼,由編碼器GE得到重構(gòu)圖像編碼的深度視覺向量使用Lb可以不斷縮小深度視覺向量z 與差距,理想情況下它們是完全一樣的。
在訓(xùn)練階段,整個模型均是通過已見過類別的正常樣本做訓(xùn)練。也就是編碼器GE(x)、解碼器GD(z)和重構(gòu)編碼器都適用于正常樣本。測試階段,當(dāng)模型在測試階段接收到一個異常樣本,此時模型的編碼器、解碼器將不適用于異常樣本,此時得到的編碼后深度視覺向量z 和重構(gòu)編碼器得到的深度視覺向量差距是大的。這時候規(guī)定這個差距是一個分值,通過設(shè)定閾值φ,一旦深度視覺向量之間的均方誤差大于設(shè)定閾值φ,模型就認(rèn)定送入的樣本x為未見過類別的異常樣本。對于目標(biāo)測試數(shù)據(jù),經(jīng)過源數(shù)據(jù)訓(xùn)練,根據(jù)閾值φ,目標(biāo)數(shù)據(jù)可以正確被區(qū)分已知類和未知類。
融合屬性語義特征實現(xiàn)零樣本圖像分類網(wǎng)絡(luò)作為基準(zhǔn)實驗(Baseline),它由視覺特征網(wǎng)絡(luò)、屬性語義轉(zhuǎn)換網(wǎng)絡(luò)和視覺-屬性語義銜接網(wǎng)絡(luò)構(gòu)成。視覺特征網(wǎng)絡(luò)采用在ImageNet[16]預(yù)訓(xùn)練1 000 類別的Resnet-101[17]模型,去掉最后分類層獲取2 048個特征向量。視覺-屬性語義銜接網(wǎng)絡(luò)將高維屬性語義特征嵌入到視覺特征。由于不同的數(shù)據(jù)集的屬性語義特征維度不同且特征數(shù)量維度比較低,所以需要引入屬性語義轉(zhuǎn)換網(wǎng)絡(luò),實現(xiàn)特征從低維空間映射到高維空間,平衡屬性語義特征影響程度與視覺特征的影響程度,該子網(wǎng)絡(luò)采用了雙層的線性激活層。圖4 展示了屬性語義轉(zhuǎn)換子網(wǎng)絡(luò)與視覺-屬性語義銜接子網(wǎng)絡(luò)。
圖4 視覺-屬性語義嵌入網(wǎng)絡(luò)Fig.4 Visual-attribute semantic embedding network
屬性語義轉(zhuǎn)換網(wǎng)絡(luò)用于產(chǎn)生所有類別的屬性特征表征。在訓(xùn)練階段,將源數(shù)據(jù)已知類別數(shù)Ns的屬性語義特征映射到高維;在預(yù)測階段,將目標(biāo)數(shù)據(jù)已知和未知總類別數(shù)Ns+t的屬性語義特征映射到高維,規(guī)定與DNN 視覺特征的維度數(shù)相同。當(dāng)確定要輸入訓(xùn)練的類別屬性特征N × f2(f1和f2表示特征維度)后將其送入屬性語義轉(zhuǎn)換網(wǎng)絡(luò),特征映射到N × f2′,再使用Repeat 產(chǎn)生和圖像表征一樣的批大小b,即張量維度變?yōu)閎× N × f2′,通過特征拼接(Feature concatenation)操作完全拼接視覺-屬性語義特征輸出張量維度b× N × 2f,最后送入視覺-屬性語義銜接網(wǎng)絡(luò),視覺-屬性語義銜接網(wǎng)絡(luò)也同樣使用了兩層的線性激活層,得到b× N。對于送入的源數(shù)據(jù),最后計算的是分類得分。
對于生成對抗網(wǎng)絡(luò),首先,生成器網(wǎng)絡(luò)中采用編碼器-解碼器-編碼器子網(wǎng)絡(luò)使得模型能夠?qū)⑤斎雸D像映射到較低維度的矢量,該較低維度矢量用于重建所生成的輸出圖像;然后,在訓(xùn)練期間最小化這些圖像與深度視覺向量之間的距離有助于學(xué)習(xí)正常樣本的數(shù)據(jù)分布,而在預(yù)測階段圖像編碼的深度視覺空間下進(jìn)行對比,源數(shù)據(jù)圖像在深度視覺空間下差異下,目標(biāo)數(shù)據(jù)在深度視覺空間下差異大;最后將訓(xùn)練好的深度視覺空間特征差異融入屬性語義訓(xùn)練指導(dǎo)零樣本圖像分類訓(xùn)練中。
融合視覺誤差信息的方式在這里直接用目標(biāo)數(shù)據(jù)中每一個實例樣本的均方誤差值。首先訓(xùn)練好生成對抗網(wǎng)絡(luò),并設(shè)定一個好的閾值φ(一般取經(jīng)驗值0.2,然后微調(diào)),使盡可能得到較強(qiáng)區(qū)分目標(biāo)數(shù)據(jù)中已見過類別和未見過類別的能力;然后訓(xùn)練零樣本圖像分類網(wǎng)絡(luò),輸入的數(shù)據(jù)不使用無標(biāo)簽的目標(biāo)數(shù)據(jù),反之是訓(xùn)練全量數(shù)據(jù)下的零樣本圖像分類;接著分別訓(xùn)練好生成對抗網(wǎng)絡(luò)與零樣本圖像分類網(wǎng)絡(luò)后進(jìn)行測試,測試階段在視覺-語義嵌入網(wǎng)絡(luò)融入視覺誤差信息,利用視覺誤差信息確定目標(biāo)數(shù)據(jù)中已見過類別和未見過類別,根據(jù)閾值φ 來決定視覺-語義嵌入網(wǎng)絡(luò)在已見過類別空間和未見過類別空間搜索。
視覺-語義銜接網(wǎng)絡(luò)在重復(fù)與特征拼接操作時候被視覺誤差信息選定了已見過類別空間和未見過類別空間,這樣再進(jìn)行兩層的線性激活層分類可以有效防止類別預(yù)測偏置,即:未知類被預(yù)測到已知類,而已知類也可能被預(yù)測到未知類。
在理想情況下,生成對抗網(wǎng)絡(luò)能夠完美區(qū)分目標(biāo)數(shù)據(jù)中已知類和未知類,但由于異常數(shù)據(jù)等問題,實際情況仍然會有交叉預(yù)測樣本。所以在融入視覺誤差信息時,差分閾值φ 可以根據(jù)實際情況來調(diào)整。另外差分閾值的選定可以不止一個,比如也可以是兩個,將誤差區(qū)域分成三段,如圖5 所示,第一段是可以很大程度劃分出已見過類別的數(shù)據(jù),第二段是可以很大程度劃分出未見過類別的數(shù)據(jù),第三段介于第一段與第二段之間。第一段在已知語義空間預(yù)測,第二段在未知語義空間預(yù)測,第三段在全集類別語義空間預(yù)測。這樣可調(diào)節(jié)分段閾值的好處就在于進(jìn)一步提高目標(biāo)數(shù)據(jù)的預(yù)測,同時也有助于實際應(yīng)用的需要。
圖5 三段類別樣本分布空間Fig.5 Sample distribution space of three-segment category
模型優(yōu)化主要是損失函數(shù),包含半監(jiān)督生產(chǎn)對抗網(wǎng)絡(luò)和視覺-屬性語義嵌入網(wǎng)絡(luò)。
視覺-屬性語義嵌入網(wǎng)絡(luò)在訓(xùn)練階段執(zhí)行的是強(qiáng)監(jiān)督學(xué)習(xí),所以定義如下?lián)p失函數(shù)La:
半監(jiān)督學(xué)習(xí)方式的生成對抗網(wǎng)絡(luò)框架的損失函數(shù)設(shè)置如圖3 所示,由四部分損失構(gòu)成,分別是:深度視覺向量誤差Lb、原圖與重構(gòu)圖誤差Lc、特征匹配誤差Ld以及真假判別損失Le。
1)深度視覺向量間的誤差優(yōu)化函數(shù)Lb:
3)用于在判別網(wǎng)絡(luò)中深度圖像特征層面做優(yōu)化,設(shè)置一個特征匹配誤差損失函數(shù)Ld:
其中:y ∈{0,1},“1”表示優(yōu)化判斷是源數(shù)據(jù)x,而“0”表示判斷為重構(gòu)數(shù)據(jù)
訓(xùn)練過程只有已知類數(shù)據(jù)參與,模型只對已知類數(shù)據(jù)可以做到較好的編碼解碼,所以送入未知類數(shù)據(jù)在編碼解碼下會出現(xiàn)編碼得到的深度視覺向量差異大從而使得差距分值φ大,判斷為未見過類別即是異常。對于模型,整個損失函數(shù)的優(yōu)化分為生成器LG和判別器LD表示為:
其中:ωb、ωc、ωd和ωe是調(diào)節(jié)各損失的參數(shù),可以根據(jù)具體實驗設(shè)置。式(6)展示了各損失函數(shù)之間關(guān)系,模型訓(xùn)練分別學(xué)習(xí)生成器和判別器,協(xié)同交替迭代更新。
數(shù)據(jù)集來源與評價指標(biāo)主要參考文獻(xiàn)[12],所屬領(lǐng)域分別是鳥類與動物類,每一類的圖像數(shù)據(jù)相對均衡,數(shù)據(jù)劃分比例也基本均衡。
1)CUB(Caltech-UCSD-Birds-200-2011)數(shù)據(jù)集。全部都為鳥類的圖像,總共200 個類,其中:150 類為訓(xùn)練集,50 類為測試集。類別的屬性語義特征維度為312,共有11 788 張圖片,劃分情況見表1所示。
表1 CUB和AwA2數(shù)據(jù)集劃分情況Tab.1 Division of CUB and AwA2 datasets
圖6 CUB和AwA2數(shù)據(jù)集樣例Fig.6 Samples of CUB and AwA2 datasets
2)AwA(Animal with Attributes)數(shù)據(jù)集。
提出ZSL定義的作者,給出的數(shù)據(jù)集都是動物的圖片,包括50個類別的圖片,其中:40個類別數(shù)據(jù)作為訓(xùn)練集,另外10個類別數(shù)據(jù)作為測試集。每一個類別的屬性語義特征維度為85,總共37 322 張圖片,本文使用AwA2 數(shù)據(jù)集,劃分情況見表1所示。
評估指標(biāo)有四個,分別是T1、ACCsenn、ACCunseen和H。
1)正確率。
ZSL:只評估在未知類下的正確率T1(傳統(tǒng)設(shè)定下)。
GZSL(ACCseen,ACCunseen):分別評估在全集類別下預(yù)測已知與未知類的正確率(廣義設(shè)定下)。
2)調(diào)和指標(biāo)H值:
為了驗證模型的有效性,本文選取了以下模型作為基準(zhǔn)實驗。
1)深度嵌入模型(Deep Embedding Model,DEM)[11]:該方法使用深度ZSL 模型成功的關(guān)鍵是選擇合適的嵌入空間,即使用視覺空間作為嵌入空間,而不是嵌入語義空間或中間空間。在這個空間里,隨后的最近鄰搜索將受到中心問題的影響,因此變得更有效。該模型設(shè)計還提供了用于端到端方式聯(lián)合融合和優(yōu)化的多個語義模態(tài)(例如,屬性和句子描述)的自然機(jī)制。
2)GAZSL[12]:該方法將關(guān)于未知類(例如維基百科文章)的噪聲文本描述作為輸入,并為該類生成視覺特征。通過添加偽數(shù)據(jù),將零樣本學(xué)習(xí)自然地轉(zhuǎn)換為傳統(tǒng)的分類問題。另外,為了保持所生成特征的類間區(qū)分,提出了視覺樞軸正則化作為顯式監(jiān)督。
3)關(guān)系網(wǎng)絡(luò)(Relation Network,RN)[13]:是從頭開始端到端訓(xùn)練的。在元學(xué)習(xí)期間,它學(xué)習(xí)深度距離度量以比較一批中的少量圖像,每個圖像旨在模擬少數(shù)樣本設(shè)置。一旦經(jīng)過訓(xùn)練,RN就能夠通過計算查詢圖像與每個新類的少數(shù)樣本之間的關(guān)系得分來對新類別的圖像進(jìn)行分類,而無需進(jìn)一步更新網(wǎng)絡(luò)。
將本文提出的融合視覺誤差信息提升零樣本圖像分類方法分別在AwA2 和CUB 數(shù)據(jù)集中進(jìn)行實驗,對比不同方法所得到的分類結(jié)果的調(diào)和指標(biāo)H值。所有基準(zhǔn)實驗的實驗環(huán)境均為單機(jī)環(huán)境,處理器為Intel Xeon CPU E5-2620 v4@2.10 GHz,操作系統(tǒng)為Ubuntu 16.04.1 LTS,內(nèi)存為64 GB RAM,GPU 為GeForce GTX 1080Ti,顯 存 為11 GB,開 發(fā) 平 臺 為Python 2.7.13,所有算法實現(xiàn)語言為Python,使用深度學(xué)習(xí)框架PyTorch。實驗基本參數(shù)設(shè)置包括零樣本圖像分類網(wǎng)絡(luò)和生成對抗網(wǎng)絡(luò),分別如表2和表3所示。
表2 零樣本圖像分類網(wǎng)絡(luò)實驗參數(shù)設(shè)置Tab.2 Setting of experimental parameters for zero-shot image classification network
表3 生成對抗網(wǎng)絡(luò)實驗基本參數(shù)設(shè)置Tab.3 Setting of basic experimental parameters for generative adversarial network
訓(xùn)練半監(jiān)督學(xué)習(xí)方式的生成對抗網(wǎng)絡(luò),隨著訓(xùn)練不斷迭代進(jìn)行,已知類和未知類區(qū)分程度越來越明顯,其損失下降也將變得緩和。分別將AwA2數(shù)據(jù)集和CUB 數(shù)據(jù)集的測試數(shù)據(jù)使用均方誤差計算在生成網(wǎng)絡(luò)下z 和誤差結(jié)果,如圖7~8所示。
分別從實驗結(jié)果中取閾值φ 的合理區(qū)間,AwA2 選擇[0.32,0.38]閉區(qū)間,CUB選擇[0.10,0.12]閉區(qū)間,再通過微調(diào)可以確定具體值。在零樣本圖像分類實驗中,僅使用有標(biāo)簽數(shù)據(jù),而假設(shè)情況下的測試數(shù)據(jù)用于Baseline效果測試。
圖7 AwA2數(shù)據(jù)集視覺誤差檢測結(jié)果Fig.7 Visual error detection results of AwA2 dataset
圖8 CUB數(shù)據(jù)集視覺誤差檢測結(jié)果Fig.8 Visual error detection results of CUB dataset
比較生成對抗網(wǎng)絡(luò)中使用判別網(wǎng)絡(luò)視覺誤差,分別將AwA2 數(shù)據(jù)集和CUB 數(shù)據(jù)集的測試數(shù)據(jù)使用均方誤差計算f(x)和f(誤差結(jié)果。采用判別網(wǎng)絡(luò)計算的視覺誤差在已知類和未知類上幾乎同分布,使判別網(wǎng)絡(luò)難于區(qū)分已知類和未知類。由此確定,半監(jiān)督生成網(wǎng)絡(luò)與判別網(wǎng)絡(luò)相比,半監(jiān)督生成網(wǎng)絡(luò)生成的深度視覺誤差更能夠區(qū)別已知類和未知類。
在使用生成對抗來獲取視覺誤差時,有兩個問題需要確定:1)不增加判別網(wǎng)絡(luò)D(x,對區(qū)分已知類和未知類是否有影響;2)不增加重構(gòu)編碼網(wǎng)絡(luò)GE(而直接用判別網(wǎng)絡(luò)D(x,來提取視覺誤差對區(qū)分已知類和未知類的效果如何。這兩個問題通過控制變量法來確定。以AwA2 數(shù)據(jù)集和CUB數(shù)據(jù)集為例,問題1)將生成對抗剔除判別網(wǎng)絡(luò),只訓(xùn)練生成網(wǎng)絡(luò)和重構(gòu)編碼網(wǎng)絡(luò);問題2)剔除重構(gòu)編碼網(wǎng)絡(luò),只訓(xùn)練生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)。
對問題1)的實驗情況,在同等條件下,增加判別網(wǎng)絡(luò)會比不增加判別網(wǎng)絡(luò)學(xué)習(xí)區(qū)分已知類和未知類更快,且更加穩(wěn)定(可將階段性學(xué)習(xí)過程可視化觀察)。值得注意的原因是判別網(wǎng)絡(luò)的對抗學(xué)習(xí)的確可以促進(jìn)生成網(wǎng)絡(luò)的學(xué)習(xí)能力。對問題2)的實驗情況,在同等條件下,不增加重構(gòu)編碼網(wǎng)絡(luò)會比增加重構(gòu)編碼網(wǎng)絡(luò)對區(qū)分已知類和未知類的能力差。值得注意的原因是減少了深度視覺向量間的誤差損失會降低網(wǎng)絡(luò)學(xué)習(xí)能力。
利用生成對抗提升零樣本圖像分類方法將生成對抗網(wǎng)絡(luò)實現(xiàn)異常檢測結(jié)果的視覺誤差信息融入到零樣本圖像分類當(dāng)中,實驗分別在AwA2 數(shù)據(jù)集和CUB 數(shù)據(jù)集上對比基準(zhǔn)實驗效果。Baseline 是只利用屬性語義信息實現(xiàn)零樣本圖像分類結(jié)果,GAN_enhance_ZSL 是融合了視覺誤差信息和屬性語義信息后的提升結(jié)果。提升結(jié)果有兩組數(shù)據(jù):第一組,實驗微調(diào)閾值φ,將視覺誤差分成兩段,確定AwA2 數(shù)據(jù)集的具體值是0.33,確定CUB 數(shù)據(jù)集的具體值是0.11。第二組,視覺誤差分成三段,確定AwA2 數(shù)據(jù)集視覺誤差三段區(qū)間為[0,0.27]、(0.27,0.40]、(0.40,∞),確定CUB 數(shù)據(jù)集視覺誤差三段區(qū)間為[0,0.10]、(0.10,0.13]、(0.13,∞)。
表4 對比基準(zhǔn)實驗效果 單位:%Tab.4 Comparison with the benchmark experiment unit:%
對于本文Baseline 只使用屬性語義信息的實驗,在AwA2數(shù)據(jù)集上,對比DEM 網(wǎng)絡(luò),ACCunseen提升10.8 個百分點,而ACCseen提升5.0 個百分點;對比RN 網(wǎng)絡(luò),ACCunseen提升11.3 個百分點,但ACCunseen下降2.0 個百分點。在CUB 數(shù)據(jù)集上,對比RN 網(wǎng)絡(luò),ACCunseen提升4.4 個百分點,但ACCunseen下降5.9 個百分點。在T1指標(biāo)上表現(xiàn)良好,而調(diào)和指標(biāo)H 在AWA2 數(shù)據(jù)集優(yōu)于CUB 數(shù)據(jù)集,值得注意的原因是AWA2 數(shù)據(jù)集訓(xùn)練數(shù)據(jù)集樣本數(shù)相對較多且類別相對少。
對比Baseline,融入視覺誤差信息后ACCseen和ACCunseen指標(biāo)均有所提升。在AWA2 數(shù)據(jù)集上,保證ACCseen提升2.9 個百分點情況下,ACCunseen還提升20.3 個百分點,調(diào)和指標(biāo)H 提升17.6個百分點;在CUB數(shù)據(jù)集上,保證ACCseen提升5.3個百分點情況下,ACCunseen還提升6.7個百分點,調(diào)和指標(biāo)H提升了5.8個百分點。
對于GAN_enhance_ZSL 實驗,第二組實驗分成三段的視覺誤差明顯優(yōu)于第一組實驗分成兩段的視覺誤差,主要原因與使用預(yù)測類別空間相一致。在AwA2 數(shù)據(jù)集上,同樣對比RN網(wǎng)絡(luò),在保證ACCseen提升1.1個百分點情況下ACCunseen提升34.9個百分點,調(diào)和指標(biāo)H提升31.7個百分點。在CUB數(shù)據(jù)集上,對比未使用測試數(shù)據(jù)的RN 網(wǎng)絡(luò),在保證ACCseen提升2.0 個百分點情況下ACCunseen提升1.7 個百分點,調(diào)和指標(biāo)H提升8.7 個百分點。在傳統(tǒng)定義下的指標(biāo)T1,相比GAZSL 略低,但仍表現(xiàn)良好。
只使用屬性語義信息的Baseline實驗中,T1指標(biāo)總是遠(yuǎn)大于ACCunseen,顯然預(yù)測發(fā)生極大偏置現(xiàn)象,具體發(fā)生在未知類預(yù)測為已知類,而當(dāng)融入視覺誤差信息后這種現(xiàn)象隨即緩解。另外只使用屬性語義信息的Baseline 雖然在AWA2 數(shù)據(jù)集和CUB數(shù)據(jù)集的ACCunseen指標(biāo)相比基準(zhǔn)實驗都提高,但是需要降低ACCseen的代價。融入視覺誤差信息后,實驗效果明顯有大幅度提升,說明使用半監(jiān)督學(xué)習(xí)方式的生成對抗網(wǎng)絡(luò)不僅有效促進(jìn)神經(jīng)網(wǎng)絡(luò)辨別已知類和未知類,還能縮小零樣本圖像分類在廣義下預(yù)測類別空間,有效防止預(yù)測發(fā)生偏置問題。對比AwA2 與CUB 結(jié)果,AwA2 的提升比CUB 提升多很多,值得注意的原因是數(shù)據(jù)集本身的區(qū)別,動物類的形態(tài)迥異,而鳥類形態(tài)大都相似,所以使用半監(jiān)督學(xué)習(xí)方式的生成對抗網(wǎng)絡(luò)區(qū)別已知類和未知類對類別差異大的效果更好。
本文針對現(xiàn)有零樣本圖像分類方法僅利用屬性語義信息來指導(dǎo)分類而未使用視覺誤差信息,導(dǎo)致模型無法顯式地辨別已知類和未知類,存在較大的預(yù)測偏置的問題,提出融合視覺誤差信息與屬性語義信息來提升零樣本圖像分類。當(dāng)模型學(xué)習(xí)完已知類的源圖像數(shù)據(jù)后,對于目標(biāo)圖像數(shù)據(jù)中已知類視覺誤差小,而未知類視覺誤差大。利用視覺誤差信息在一定程度上有助于零樣本圖像分類模型將目標(biāo)圖像數(shù)據(jù)中已知圖像類別和未知圖像類別區(qū)分開來,還能縮小零樣本圖像分類在廣義下預(yù)測類別的搜索空間,可以有效防止預(yù)測類別發(fā)生偏置問題。視覺誤差信息的獲取采用半監(jiān)督學(xué)習(xí)方式的生成對抗網(wǎng)絡(luò),零樣本圖像分類采用融合屬性語義信息訓(xùn)練。實驗結(jié)果表明,與基準(zhǔn)模型相比,本文所提出來的融合視覺誤差信息后的零樣本圖像分類在AwA2數(shù)據(jù)集和CUB 數(shù)據(jù)集的評價指標(biāo)上均有大幅度提升趨勢,驗證了本文方法在提升零樣本圖像分類問題上的有效性。