汪榮貴,湯明空,楊 娟,薛麗霞,胡 敏
(合肥工業(yè)大學(xué)計算機與信息學(xué)院,合肥 230601)
近年來,深度學(xué)習(xí)方法在圖像分類[1-3]、目標(biāo)檢測[4-6]等計算機視覺領(lǐng)域具有廣泛應(yīng)用,而應(yīng)用的重要前提是使用海量帶標(biāo)注樣本對深度學(xué)習(xí)模型加以訓(xùn)練。在很多特殊的應(yīng)用場景下,獲取大量標(biāo)注樣本成本較高,因此,如何賦予模型在少量樣本中具有快速學(xué)習(xí)的能力并識別新的實體成為亟待解決的問題。
人類視覺模型從少量新事物中快速抽象出具有代表性概念的能力優(yōu)于深度學(xué)習(xí)模型的學(xué)習(xí)過程。對于一類新事物,人類往往僅需要通過觀察便可完成學(xué)習(xí)過程,并能夠?qū)π聦嶓w進行準(zhǔn)確判斷。為賦予深度學(xué)習(xí)模型快速學(xué)習(xí)的能力,小樣本學(xué)習(xí)[7-9]問題應(yīng)運而生。其中新實體稱為查詢樣本,已觀察的樣本稱為支持樣本。
小樣本學(xué)習(xí)問題是一類特殊的圖像分類問題,此類任務(wù)要求使用少量待測試類別的訓(xùn)練樣本構(gòu)建性能優(yōu)良的分類模型,而人類視覺模型的快速學(xué)習(xí)能力可滿足小樣本學(xué)習(xí)任務(wù)的需求??紤]人類認識并識別一類新事物的過程,首先需觀察一個或數(shù)個新事物的實體,并從中抽象出具有代表性的特征,而在遇到新的實體時,則通過對比新實體特征與腦海中各類事物特征的相近程度完成對新實體類別的判斷。受此啟發(fā),小樣本學(xué)習(xí)的計算機視覺模型通常建模一個用于判斷樣本間相似度的分類器,該類方法稱為度量學(xué)習(xí)。
度量學(xué)習(xí)處理過程符合人類在解決小樣本問題時的思維方式,基于這一學(xué)習(xí)方式,研究人員提出了眾多具有代表性的小樣本學(xué)習(xí)方法。文獻[10]提出孿生網(wǎng)絡(luò),通過多層神經(jīng)網(wǎng)絡(luò)提取查詢樣本及支持樣本的深層卷積特征,并以二分類網(wǎng)絡(luò)判斷兩個樣本是否為同一類別。該方法僅計算樣本視覺特征間距離,未利用同類別樣本間的共同語義信息,如對不同種類的鳥進行分類時,僅利用鳥的視覺特征進行分類是不充分的,因為鳥總體的外形是非常相似的,依靠視覺特征進行分類的方法很可能會將鳥分到錯誤的類別中。而網(wǎng)絡(luò)如果可以在圖像視覺特征的基礎(chǔ)上,進一步利用樣本的語義信息,即視覺特征相似的物體屬于不同的類別,則可以更加準(zhǔn)確地對物體進行分類。文獻[11]提出原型網(wǎng)絡(luò),該方法首先學(xué)習(xí)同類支持樣本之間的原型(Prototype)表示,然后判斷查詢樣本與支持樣本間的原型距離以分類該樣本所屬的類別,其本質(zhì)上仍是通過距離度量進行樣本識別。文獻[12]提出關(guān)系網(wǎng)絡(luò),通過建模一個小型網(wǎng)絡(luò)來計算支持集和查詢集的樣本特征,使用另一個簡單的網(wǎng)絡(luò)判斷特征間的距離。文獻[13]提出匹配網(wǎng)絡(luò),首先提取目標(biāo)視覺特征,然后以余弦距離表征目標(biāo)間的相似性。上述方法總體思想均為視覺特征的距離度量,該類方法由于僅考慮視覺相關(guān)性,缺失語義顯著性特征,在背景干擾等復(fù)雜場景下存在明顯弊端。
本文提出語義匹配網(wǎng)絡(luò)的小樣本學(xué)習(xí)方法,提取支持樣本的多尺度深層卷積特征,通過雙注意力模型匹配樣本間的語義信息,使得同類間各尺度特征相近,不同類之間的各尺度特征遠離,使網(wǎng)絡(luò)可以通過學(xué)習(xí)目標(biāo)類別間的可區(qū)分語義特征提升分類效果。該方法通過多層級特征匹配提取,可緩解ResNet[14]網(wǎng)絡(luò)結(jié)構(gòu)在小樣本學(xué)習(xí)中的過擬合問題。
本節(jié)闡述小樣本學(xué)習(xí)的問題定義,并介紹本文的語義匹配網(wǎng)絡(luò)方法,該方法主要由特征提取網(wǎng)絡(luò)、特征語義匹配網(wǎng)絡(luò)及特征分類網(wǎng)絡(luò)三部分組成。本文方法的整體流程如圖1 所示,其中,EM(Embedding Moudle)為特征提取模塊,SM(Semantic Moudle)為語義匹配模塊。給定一組支持集圖片和一張查詢樣本,通過HeadNet降維圖像輸入,根據(jù)特征提取模塊提取圖像的多尺度特征,通過各尺度的語義匹配網(wǎng)絡(luò)提取語義依賴關(guān)系,其中各尺度特征和語義匹配模塊均接收其上層模塊特征用以特征融合。最后根據(jù)分類特征分類網(wǎng)絡(luò)獲取各尺度下的查詢樣本與所有支持樣本的相似度,并加權(quán)得到最終分類結(jié)果,查詢樣本的類別與支持樣本的相似度呈正相關(guān)。
圖1 語義匹配網(wǎng)絡(luò)的整體結(jié)構(gòu)Fig.1 Overall structure of semantic matching network
區(qū)別于經(jīng)典分類問題,小樣本學(xué)習(xí)方法將訓(xùn)練集分為支持集Dsupport和查詢集Dquery。在訓(xùn)練時每一輪從支持集中隨機挑選出n個類別,每個類別隨機挑選出k個樣本組成n-way-k-shot 的支持樣本Dm?support。
其中,i∈{1~n},yi代表類別,xik代表第i類別中的第k個樣本。查詢樣本是從n個類別中每個類別中隨機挑選出k′個與支持集不重復(fù)的樣本組成Dm?query。
其中,i、k′和y同Dm?support中的i、k的意思相同,表示第i類別中的第k′個不同于Dm?support中的樣本,最終滿足Dm?support∩Dm?query=?。小樣本學(xué)習(xí)的目的就是找出查詢樣本的類別,使得,即n-way-k-shot小樣本問題。測試階段的模式和訓(xùn)練時的模式相同,是將測試集分為支持集Dsupport和查詢集Dquery,不同的是測試集中的類別與訓(xùn)練中的類別完全不一樣,所以小樣本的主要問題是如何學(xué)習(xí)到相同類別樣本之間存在的共性。
本文網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖1 所示,給定支持樣本xs和查詢樣本xq,首先通過HeadNet 進行降維,得到樣本特征x′s和x′q,然后通過EM 模塊分別提取各個尺度特征,如式(3)和式(4)所示:
其中,v表示第v個尺度特征,表示HeadNet 模塊。支持樣本和查詢樣本拼接后的特征通過語義匹配SM 模塊提取和匹配語義信息,如式(5)所示:
其中,g?表示SM 模塊網(wǎng)絡(luò),v表示與EM 同級的SM模塊,為保證SM 模塊間的一致性,為與特征尺度相同的0 特征向量。支持樣本與查詢樣本在不同尺度下的語義匹配特征通過全局池化和全連接的分類模塊,得到查詢樣本和每個支持樣本間的匹配分數(shù),并加權(quán)得到最終相似度,如式(6)所示:
其中,c表示分類模塊網(wǎng)絡(luò),v表示與EM 和SM 同級的分類模塊,wv為不同尺度下的分數(shù)權(quán)值超參,,為最終相似度評分。
視覺識別需要豐富的特征表示,淺層特征包含圖像細節(jié)紋理而深層特征包含圖像抽象語義,本文采用如圖2 所示的網(wǎng)絡(luò)結(jié)構(gòu)來提取特征,通過分別提取不同尺度和深度的卷積特征及特征融合獲取圖像的表征。該網(wǎng)絡(luò)主要分為兩個部分,即自上而下的編碼網(wǎng)絡(luò)與自下而上的解碼網(wǎng)絡(luò)。在網(wǎng)絡(luò)結(jié)構(gòu)中,每一層都與同級尺度和上下級尺度連接,由此網(wǎng)絡(luò)的多尺度特征表示可以更充分有效地提取圖像特征。
圖2 特征提取網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of feature extraction network
給定尺度為S×S的圖片,經(jīng)過HeadNet 降維后,得到尺度為S/4×S/4 的特征,將其輸入至特征提取網(wǎng)絡(luò)可以得到各尺度的輸出為:
其中,v表示不同尺度的網(wǎng)絡(luò)輸出,φ表示各尺度融合后的Encode,Td表示Top-down 網(wǎng)絡(luò)的Encode,Bu表示Bottom-up 網(wǎng)絡(luò)的Encode,μ表示統(tǒng)一網(wǎng)絡(luò)尺度的upsample 操作,x表示當(dāng)前尺度的特征表示,Siamese EM 表示查詢集樣本輸入的網(wǎng)絡(luò),是和特征提取網(wǎng)絡(luò)結(jié)構(gòu)相同的孿生網(wǎng)絡(luò)。
經(jīng)過特征提取網(wǎng)絡(luò)后,可得到圖像的視覺特征表示,先前基于距離度量的小樣本學(xué)習(xí)方法一般直接將此視覺特征用于后續(xù)的距離計算中,并將查詢樣本歸為距離最近的類別。該計算過程僅利用了樣本的視覺特征,而忽略了樣本間潛在的語義聯(lián)系。本文在計算視覺特征的距離之前做了語義匹配的操作,進一步提取樣本間抽象的語義聯(lián)系,并利用該語義聯(lián)系指導(dǎo)特征提取網(wǎng)絡(luò)的工作,使其更加關(guān)注樣本間的語義信息而非僅僅是圖像的視覺特征,從而使得后續(xù)的分類網(wǎng)絡(luò)可以根據(jù)樣本間的語義聯(lián)系更準(zhǔn)確地分類。語義匹配的操作如圖3 所示,其中⊙表示向量積運算。
圖3 dual-attention 語義的匹配過程Fig.3 Matching process of dual-attention semantics
在圖3 中,給定支持樣本和查詢樣本的特征尺度為Fs·q∈?C×D×D,為了簡化省去了Batch 尺度參數(shù),同文獻[15]相似,將特征分別經(jīng)過1×1 的卷積得到QConv1×1(Fq)和KConv1×1(Fs),將QConv1×1(Fq)作為query 特征,KConv1×1(Fs)作為key 特征,計算query特征在key 特征上的attention 值:
其中,· 表示向量積,attsq的尺度為D2×D2記作,其第1 行的值計算如圖4 所示,等于query 特征所有通道上第一個位置的值與key 特征所有通道上D2個位置上值的乘積。圖4 中‘A1’表示‘A’(Q(Fq)T(所有通道上第一個位置的值)乘以‘1’(K(Fs)(所有通道上第一個位置的值)。Q(Fq)T·K(Fs)中的其他值具有類似的意義。將attsq所有元素經(jīng)過歸一化之后可以得到query 特征對key 特征上所有位置的attention 值,也可以是key 特征對query 特征上所有位置的attention 值。
圖4 attsq 計算過程Fig.4 Process of attsq calculation
接著將VConv1×1(Fq)和VConv′1×1(Fs)value 特征分別和attention map 點積計算。
其中,attms的尺度為C×D2記作,其第1 行的值計算如圖5 所示,其中語義信息K(Fs)]T的第一列表示查詢樣本q所有通道在第一位置值對支持樣本s所有通道在所有位置的點積。經(jīng)過圖5 的運算后所得的attms表示支持樣本的value 特征在第一通道上的值根據(jù)attention map 的重分配,同理attmq的值是查詢樣本的value 特征根據(jù)attention map 的重分配,本文通過實驗發(fā)現(xiàn)attention map 轉(zhuǎn)置后的attmq計算可以獲得更好的效果,可能的原因是先前的混合支持特征和查詢特征在通道上的分布操作使得獲取到的attention map 是雙方的共同語義信息,所以attmq的計算與attms的計算相同。重分配的結(jié)果為attention map 上值越大的部分對attms·q在相應(yīng)部分的影響也越大,而attention map 是由支持樣本特征Fs和查詢樣本特征Fq在key 特征和query 特征上計算的,所以重分配實際上是支持樣本和查詢樣本在相同語義信息的部分做了匹配和增強。
圖5 attms 計算過程Fig.5 Process of attms calculation
最后經(jīng)過dual-attention 模塊匹配和增強語義后的特征為:
其中,dual_att 表示dual-attention 模塊,s·q表示在支持集s和查詢集q下的兩種情況,γ為一個可學(xué)習(xí)的參數(shù)。
圖1 中的匹配分數(shù)輸出為各級尺度下的支持樣本和查詢樣本的匹配分數(shù),該模塊主要的作用有兩部分:根據(jù)不同尺度的輸入特征計算該級別下的匹配分數(shù);根據(jù)訓(xùn)練和測試的不同,在訓(xùn)練時產(chǎn)生各級別特征尺度下的損失,在測試時對各級別的分數(shù)進行加權(quán)生成一個查詢樣本對支持樣本的總分數(shù)。在訓(xùn)練時各級別的分數(shù)如式(12)所示,由于表示查詢樣本對支持樣本的相似程度,即查詢樣本為該支持類別的概率,本文使用二分類交叉熵損失(bceloss)來訓(xùn)練整個網(wǎng)絡(luò)模型。
本節(jié)主要通過在小樣本學(xué)習(xí)數(shù)據(jù)集Omniglot 和miniImageNet 上對比本文方法與其他主流方法,如匹配網(wǎng)絡(luò)(Matching Net)、原型網(wǎng)絡(luò)(Prototypical Net)、相關(guān)網(wǎng)絡(luò)(Relation Net)、元學(xué)習(xí)LSTM(Meta LSTM)[16]、未知模型元學(xué)習(xí)(MAML)[17]、圖網(wǎng)絡(luò)(Graph Neural Net)[18]、DynamicFSL[19]、AdaResNet[20]和PPA[21]等,并詳細驗證本文方法Bottom-up 模塊和dual-att 語義匹配模塊對最終結(jié)果的影響。
本文通過Adam[22]算法優(yōu)化整個模型,初始學(xué)習(xí)率為0.001,1 000 個episodes 為一代,每10 代將學(xué)習(xí)率降為原來的一半,訓(xùn)練過程共有100 代。整個模型從零開始訓(xùn)練,在訓(xùn)練前使用xavier[23]方法進行權(quán)重的初始化配置。在訓(xùn)練和測試中,使用標(biāo)準(zhǔn)的數(shù)據(jù)增強方法,如隨機將圖片裁剪為固定尺度、隨機的水平翻轉(zhuǎn)以及圖片像素值的歸一化操作等。
Omniglot 數(shù)據(jù)集由50 個字母共計1 623 類字符組成,每類字母均為20 個樣本,由不同人手寫而成。該數(shù)據(jù)集是小樣本學(xué)習(xí)領(lǐng)域早期常用的數(shù)據(jù)集,本文采用和匹配網(wǎng)絡(luò)一樣的數(shù)據(jù)集設(shè)置:將樣本大小統(tǒng)一變?yōu)?8×28,并且使用旋轉(zhuǎn)90°的樣本增強方法。使用1 200 類用于訓(xùn)練,423 類用于測試。由于數(shù)據(jù)集樣本尺度問題,本文提出的網(wǎng)絡(luò)結(jié)構(gòu)需要稍微修改,將HeadNet 的輸入通道、步長和padding 變?yōu)?,以適應(yīng)圖片的輸入,為了防止過擬合,將HeadNet 和EM 的卷積層數(shù)變?yōu)?,實驗結(jié)果如表1 所示,其中,F(xiàn)T 表示微調(diào)。
表1 Omniglot 數(shù)據(jù)集上的小樣本分類準(zhǔn)確率Table 1 Few-shot classification accuracy on Omniglot dataset %
從表1 可以看出,500 次結(jié)果的平均值在95% 置信區(qū)間的取值,本文的效果較匹配網(wǎng)絡(luò)和原型網(wǎng)絡(luò)都有較大提升,在大部分任務(wù)上取得了目前已知的最好效果。實驗結(jié)果表明,本文語義匹配網(wǎng)絡(luò)能夠較好地提升小樣本學(xué)習(xí)方法的分類準(zhǔn)確率。
miniImageNet 數(shù)據(jù)集是在ImageNet 數(shù)據(jù)集基礎(chǔ)上選出的,分為100 個類別,每個類別挑選600 個樣本,共計由60 000 張樣本組成。其中,64 類用于訓(xùn)練,16 類用于驗證,20 類用于測試。本文在訓(xùn)練時采用常用的episode 中每個類別包含5 個查詢樣本的設(shè)置,這樣對于5-way-1-shot任務(wù)共有5×5+1×5=30張樣本參與訓(xùn)練,5-way-5-shot任務(wù)共有5×5+5×5=50 張樣本參與訓(xùn)練。在測試時由于顯存不同于其他小樣本學(xué)習(xí)方法常用的每類包含15 個查詢樣本的設(shè)置,本文采用的每類10 張查詢樣本用于測試實驗效果,并且使用5 次實驗結(jié)果平均值作為最終結(jié)果的方法確保實驗結(jié)果的準(zhǔn)確性。
在miniImageNet 數(shù)據(jù)集上的小樣本分類準(zhǔn)確率實驗結(jié)果如表2 所示。
表2 在miniImageNet 數(shù)據(jù)集上的小樣本分類準(zhǔn)確率Table 2 Few-shot classification accuracy on miniImageNet dataset %
從表2 可以看出,相較于采用淺層網(wǎng)絡(luò)的傳統(tǒng)特征提取和分類方法的模型,本文模型利用特征提取階段時的語義依賴關(guān)系,在數(shù)據(jù)集上可以提升將近5 個百分點。而對于采用深層網(wǎng)絡(luò)的模型,本文的方法在微調(diào)之后依舊有著比較優(yōu)秀的結(jié)果。
為了驗證本文方法各個模塊對實驗結(jié)果的影響,本文進行多組對比實驗查看各個模塊在實驗時的表現(xiàn)。表3為不同模塊對實驗結(jié)果的影響,其中,訓(xùn)練和測試使用的實驗配置與5-way-1-shot的相同,√表示使用該模塊。
表3 不同模塊對實驗結(jié)果的影響Table 3 Affect of different modules on experimental results %
從表3可以看出,相較于Bottom-up模塊,dual-att模塊對效果的提升更為顯著,表明了樣本對之間的語義匹配的重要性,當(dāng)然結(jié)合語義提取的Bottom-up 模塊,模型可以更好地學(xué)習(xí)到樣本間的語義依賴關(guān)系。表4 為不同階段的輸出在數(shù)據(jù)集上的結(jié)果,其實驗配置都與5-way-1-shot 的相同。
表4 不同階段輸出對實驗結(jié)果的影響Table 4 Affect of different stages output on experimental results %
從表4 可以看出,模型的后面階段特征比較抽象并且更加具有區(qū)分性,但是SM4 的輸出效果沒有SM3 階段的效果好,這可能是到SM4 階段時語義匹配產(chǎn)生的輸出對分類模塊來說尺度較小,不能很好地表達特征差異性的關(guān)系,這也是本文在分類模型賦予不同階段產(chǎn)生的分數(shù)對最終查詢樣本分數(shù)權(quán)重超參數(shù)設(shè)置的一個側(cè)面依據(jù)。
為充分驗證本文方法與樣本數(shù)量的關(guān)系,本文分別在5way 中1-shot~5-shot 的條件下做了對比實驗,如圖6 所示,可以看出,1-shot~5-shot 的測試準(zhǔn)確率逐步增加,符合實驗預(yù)期。
圖6 5-way-1-shot~5-shot 的性能對比結(jié)果Fig.6 Performance comparison results of 5-way-1-shot~5-shot
表5 為對比實驗的具體數(shù)值,其中每增加一個shot 的樣本數(shù),對測試的準(zhǔn)確率都有所提升。并且與一般的分類算法相比,本文算法不需要很多的訓(xùn)練樣本數(shù),僅在5 個樣本數(shù)的條件下即可達到73.65%的準(zhǔn)確率。而傳統(tǒng)的分類算法往往需要成千上百的樣本數(shù),如ResNet 和DenseNet 等算法,在樣本數(shù)低于10 個以下時則不能工作。因此,本文算法僅在少量樣本數(shù)下即可較好地工作。
表5 5-way-1-shot~5-shot 的實驗結(jié)果Table 5 Experimental results of 5-way-1-shot~5-shot %
Cifar100 數(shù)據(jù)集有100 個類,每個類包含600 個樣本,分為500 個訓(xùn)練樣本和100 個測試樣本,其中100 個類被分成20 個大類。每個樣本都帶有一個fine 標(biāo)簽(所屬的子類)和一個coarse 標(biāo)簽(所屬的大類)。本文重新組織該數(shù)據(jù)集,從每個大類中隨機挑一個類組成20 個類作為測試集,同樣不重復(fù)地從大類中再各挑一個類組成20 個類作為測試集,剩下的60 類作為訓(xùn)練集。
與miniImageNet 實驗相同,本文取5 次實驗結(jié)果平均值作為最終的測試結(jié)果,如表6 所示。由表6 可知,相較于匹配網(wǎng)絡(luò)和關(guān)系網(wǎng)絡(luò),在5-way-1-shot 任務(wù)上,本文準(zhǔn)確率提高了4 個百分點,在5-way-1-shot 任務(wù)上,本文準(zhǔn)確率提高了8 個百分點。至此,本文分別在Omniglot、miniImageNet 和Cifar100 數(shù)據(jù)集上驗證了本文方法的效果,可見本文方法具有一定的泛化能力。
表6 在Cifar100 數(shù)據(jù)集上的小樣本分類準(zhǔn)確率Table 6 Few-shot sample classification accuracy on Cifar100 dataset %
本文根據(jù)文獻[24]中的理論形成注意力熱圖,可視化查詢樣本對支持樣本各語義依賴層級的輸出在原始樣本上激活部分。圖7 為SM 模塊在不同層級提取語義聚焦的部分,其中查詢樣本的類別為獅子,與圖中第一個支持樣本相同。
圖7 各語義依賴層級在原始樣本上激活部分Fig.7 Each semantic dependency level activates parts on the original sample
從圖7 可以看出,查詢樣本對與其具有相同類別的樣本可以學(xué)習(xí)到很好的語義信息,其他支持樣本的語義信息查詢樣本則學(xué)習(xí)很差,查詢樣本在第二和第三支持樣本學(xué)到的語義信息大多集中在草地部分,在第四支持樣本學(xué)到的語義前兩層集中在草地,后兩層并沒有很好地集中在目標(biāo)物體獅子附近。因為第五支持樣本與查詢樣本比較相似,SM 模塊可以部分地學(xué)到其語義信息,但是對比第一支持樣本的語義信息分布,其語義信息并沒有第一支持樣本語義信息全面。對比SM1~SM4 之間各層級的語義信息輸出,可以看出,后面層級提取的信息更加抽象和更具有區(qū)分性,更好地貼合了目標(biāo)物體區(qū)域。
本文針對小樣本學(xué)習(xí)問題提出一種語義匹配網(wǎng)絡(luò)模型。該模型通過語義提取和匹配操作在樣本特征的多尺度語義上提煉出樣本之間潛在的語義區(qū)別與聯(lián)系,從而提升后續(xù)分類網(wǎng)絡(luò)的準(zhǔn)確率。實驗結(jié)果表明,本文方法可以有效地歸納出樣本之間相似的語義信息,并利用該語義提升網(wǎng)絡(luò)的性能。樣本間的語義聯(lián)系和注意力機制常見于圖像分類和文本理解任務(wù)中,但在小樣本領(lǐng)域中卻未得到足夠重視。語義關(guān)聯(lián)和注意力機制能夠強化圖像表征,在樣本量較少的情況下該類特征顯得尤為重要,因此下一步將繼續(xù)研究語義模型和注意力方法在小樣本問題中的應(yīng)用。