何 燦, 袁國武, 吳 昊
(云南大學(xué) 信息學(xué)院, 昆明 650500)
對于人類而言認(rèn)識(shí)新事物僅僅需要一到兩個(gè)圖片或者概念, 然而對于最好的深度神經(jīng)網(wǎng)絡(luò)其數(shù)據(jù)集也是成千上萬張[6]. 不僅需要對數(shù)據(jù)圖像進(jìn)行標(biāo)簽化還需浪費(fèi)大量的時(shí)間來訓(xùn)練模型. 小樣本學(xué)習(xí)是元學(xué)習(xí)的一個(gè)重要分支, 是指給定一個(gè)少樣本圖像分類任務(wù)T,在該任務(wù)中包括數(shù)據(jù)集D={Dtrain,Dtest}. 把Dtrain稱之為少量樣本學(xué)習(xí)的支持集, 也稱為訓(xùn)練集其一般由一到數(shù)十張圖片組成; 把Dtest稱為測試集, 也稱為查詢集. 一般來說, 少量樣本學(xué)習(xí)考慮的是一個(gè)N-way K-shot的分類問題. 其中,N表示Dtrain中類別的個(gè)數(shù),K表示每個(gè)類別有K個(gè)樣本, 支持集Dtrain的樣本數(shù)為Dtrain=NK. 如何在半監(jiān)督或無監(jiān)督的條件下解決小樣本學(xué)習(xí)細(xì)粒度分類的問題, 是本文研究的另一重點(diǎn)[1,7,8]. 小樣本學(xué)習(xí)利用極少的數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練并且在能夠保證準(zhǔn)確率的情況下盡可能地減少訓(xùn)練的數(shù)據(jù)量[3], 在很多網(wǎng)絡(luò)中通常只用一張圖片作為訓(xùn)練的數(shù)據(jù)集, 最后對比提取的特征向量, 進(jìn)而判斷測試集圖像的類別. 對比以往的小樣本學(xué)習(xí)方法, 本文提出在細(xì)粒度分類方向做小樣本學(xué)習(xí)研究. 細(xì)粒度圖像的差異大多體現(xiàn)在局部細(xì)微之處, 難點(diǎn)主要在于兩個(gè)方面: 一個(gè)是準(zhǔn)確定位圖像中具有辨別性的關(guān)鍵區(qū)域, 二是從檢測到的關(guān)鍵區(qū)域中提取有效特征[6]. 如何有效地檢測圖像中的前景圖像, 從中挖掘局部細(xì)節(jié)并在這些區(qū)域上提取關(guān)鍵的特征信息, 是細(xì)粒度圖像分類的難點(diǎn)[9]. 基于卷積神經(jīng)網(wǎng)絡(luò)的模型在細(xì)粒度分類方面有很大的局限性[10],本文使用了基于自注意力機(jī)制的Swin Transformer(Swin-T). Swin-T是Transformer在圖像領(lǐng)域的又一出色的網(wǎng)絡(luò), 其通過層級(jí)化的設(shè)計(jì)和翻轉(zhuǎn)窗口有效地彌補(bǔ)卷積神經(jīng)網(wǎng)絡(luò)過于專注局部的弊端, 并且在分類、分割等領(lǐng)域都優(yōu)于大部分的卷積神經(jīng)網(wǎng)絡(luò)模型[11]. 此外, Swin-T對Vision Transformer做進(jìn)一步提升, 主要改善了Vision Transformer的token數(shù)目固定且單一的缺點(diǎn)、增加了窗口之間的信息交互. 通過實(shí)驗(yàn)結(jié)果對比, 獲得了優(yōu)于卷積神經(jīng)網(wǎng)絡(luò)的Transformer特征提取網(wǎng)絡(luò)模型[4,12,13], 最終本文選擇了Swin-T作為孿生網(wǎng)絡(luò)的主干網(wǎng)并改進(jìn)Swin-T在孿生網(wǎng)絡(luò)方面的不足從而與孿生網(wǎng)絡(luò)進(jìn)行適配. 因此, 本文提出了利用自注意力機(jī)制對蛇的細(xì)微差別進(jìn)行檢測[7,14], 通過遷移學(xué)習(xí)對比不同網(wǎng)絡(luò)獲得最佳特征提取網(wǎng)絡(luò)模型并作為搭建孿生網(wǎng)絡(luò)的主干網(wǎng), 將孿生網(wǎng)絡(luò)提取出的特征向量送入本文構(gòu)造的元學(xué)習(xí)器中, 元學(xué)習(xí)器對這兩組特征向量做對比和分類[15].
神經(jīng)網(wǎng)絡(luò)在細(xì)粒度分類方向取得了長足的進(jìn)步[16],近年的研究大多是弱監(jiān)督分類, 其難點(diǎn)在于分離背景干擾因素并提取局部特征. 早期的工作主要依賴先驗(yàn)信息如局部標(biāo)注、邊界框等人工注釋. 另一部分工作則僅通過圖像級(jí)別的注釋來定位有區(qū)別的部位. Jaderberg等人[11]提出了空間變換網(wǎng)絡(luò)來進(jìn)行仿射變換從而對全局特征應(yīng)用特征池化方法得到進(jìn)一步改進(jìn). 但是, 仿射變換只能執(zhí)行旋轉(zhuǎn)、剪切、縮放和翻譯[17]. 當(dāng)支持集和測試集的圖片差異較大時(shí), 即便二者是來自同一類的圖片, 也很難有效區(qū)分圖片的差異. 在本文中, 通過遷移學(xué)習(xí)獲得自注意力特征提取主干網(wǎng), 通過多頭自注意力機(jī)制來獲取局部特征以及這些局部特征之間的關(guān)聯(lián)[18,19]來改進(jìn)空間變換網(wǎng)絡(luò)的缺陷.
在近幾年, 元學(xué)習(xí)領(lǐng)域取得了極大的進(jìn)步. Vinyals等人[7]提出了匹配網(wǎng)絡(luò)方法, 該方法通過在標(biāo)記的支持集添加嵌入函數(shù)來預(yù)測未標(biāo)記的查詢集. 通過計(jì)算支持集和查詢集上特征的余弦距離得出查詢集上和支持集最接近的那一類, 從而完成少量樣本學(xué)習(xí). Ravi等人[20]則在匹配網(wǎng)絡(luò)上進(jìn)一步改進(jìn), 提出了元學(xué)習(xí)的方法. 該方法通過long short term memory訓(xùn)練支持集更新分類器, 然后在每一次迭代上訓(xùn)練自定義模型[14]. 孿生網(wǎng)絡(luò)由Koch等人[1]提出, 其包含兩個(gè)權(quán)重完全相同的網(wǎng)絡(luò), 首先通過圖像驗(yàn)證任務(wù)訓(xùn)練網(wǎng)絡(luò)學(xué)習(xí)樣本的判別特征, 然后對于新任務(wù)的樣本直接使用訓(xùn)練好的模型提取特征向量進(jìn)行比較, 搭建簡單且在很多場景任務(wù)中達(dá)到了不錯(cuò)的效果. Vinyals等人[7]提出的matching networks在孿生網(wǎng)絡(luò)基礎(chǔ)上引入了加權(quán)機(jī)制, 即對每兩個(gè)樣本通過歐式距離計(jì)算相似性, 并對這些相似性分?jǐn)?shù)通過Softmax函數(shù)進(jìn)行歸一化操作. Antouniou等人[21]提出使用改進(jìn)GAN網(wǎng)絡(luò), 先訓(xùn)練模型來評估數(shù)據(jù)的概率分布, 然后隨機(jī)采樣直接無監(jiān)督生成數(shù)據(jù), 來彌補(bǔ)數(shù)據(jù)不足的缺點(diǎn). Liu等人[22]提出可以簡單地旋轉(zhuǎn)一個(gè)類中的所有圖像, 來將這個(gè)旋轉(zhuǎn)后的類的圖像與父類區(qū)分開來從而作為一個(gè)新類, 同時(shí)也高效地增加了訓(xùn)練過程中可以采樣的樣本數(shù)量. Chen等人[23]突出針對一次學(xué)習(xí)問題, 提出了Self-Jig算法, 這是一個(gè)兩階段方法, 首先在訓(xùn)練集中利用帶變遷的源域圖片采用網(wǎng)格劃分的方式將圖片劃分成多個(gè)區(qū)塊, 然后隨機(jī)替換掉部分區(qū)塊實(shí)現(xiàn)數(shù)據(jù)增強(qiáng), 并以此訓(xùn)練一個(gè)基準(zhǔn)網(wǎng)絡(luò). 在目標(biāo)域以同樣的方式將有標(biāo)簽支持集和無標(biāo)簽查詢集合成為新的圖片, 并賦予新圖片支持集的標(biāo)簽再訓(xùn)練網(wǎng)絡(luò)模型. Hariharan等人[8]提出一種表征學(xué)習(xí)和數(shù)據(jù)增強(qiáng)方法, 通過構(gòu)造三元組并利用生成對抗網(wǎng)絡(luò)產(chǎn)生的新數(shù)據(jù)添加正則化項(xiàng)來嚴(yán)格限制編碼器學(xué)習(xí)的有效信息. 原型網(wǎng)絡(luò)[14]是將輸入圖像映射到一個(gè)潛在空間, 其中一個(gè)類別的原型是對支持集中所有相同類別圖像的向量化樣例數(shù)據(jù)取均值得到的, 然后再通過計(jì)算查詢集圖像的向量化值與類別原型之間的歐式距離從而預(yù)測查詢集合的類別. 換句話說, 原型網(wǎng)絡(luò)認(rèn)為在映射后空間中距離越近的樣例屬于同一類別的可能性越大, 反之, 則認(rèn)為不屬于同一類別. 關(guān)系網(wǎng)絡(luò)[24]是通過一個(gè)神經(jīng)網(wǎng)絡(luò)來計(jì)算不同樣例之間的距離.
Transformer首次提出是應(yīng)用到機(jī)器翻譯[25]領(lǐng)域中, 在當(dāng)前的研究工作中Transformer成為自然語言處理領(lǐng)域的基礎(chǔ)架構(gòu)[26], 并取得了不錯(cuò)的結(jié)果. 基于此,很多工作嘗試將Transformers引入計(jì)算機(jī)視覺處理領(lǐng)域. Vision Transformer首次提出了視覺變換架構(gòu), 將圖像分割成固定數(shù)量的塊, 在每個(gè)塊內(nèi)做注意力運(yùn)算并取得了優(yōu)于卷積神經(jīng)網(wǎng)絡(luò)的結(jié)果[7]. Data-efficient Image Transformers通過數(shù)據(jù)增強(qiáng)和強(qiáng)分類, 通過對比結(jié)果減少了訓(xùn)練所花費(fèi)的時(shí)間提高了分類的效率. Liu等人[4]提出Swin-T, 該方法是在Vision Transformer的基礎(chǔ)上加入了多模態(tài)融合并結(jié)合卷積神經(jīng)網(wǎng)絡(luò)層次化設(shè)計(jì)的思想. 通過翻轉(zhuǎn)窗口達(dá)到不同窗口之間的信息交互, 為了減少Transformer結(jié)構(gòu)的復(fù)雜度又設(shè)計(jì)了在每個(gè)切片內(nèi)做自注意力計(jì)算, 并使每個(gè)切片與周圍切片進(jìn)行信息交互和融合, 這也使其復(fù)雜度相較于此前Transformer網(wǎng)絡(luò)減少到了線性復(fù)雜度的級(jí)別. 此外, 相較于Vision Transformer, Swin-T能夠處理高分辨率圖片[4],取得了更好的效果. 在本文中, 構(gòu)造細(xì)粒度數(shù)據(jù)集并命名Snake set (S-set), 通過改進(jìn)Swin-T模型在S-set數(shù)據(jù)集上進(jìn)行遷移學(xué)習(xí)獲得特征提取網(wǎng)絡(luò)進(jìn)而作為搭建孿生網(wǎng)絡(luò)的主干網(wǎng).
以注意力機(jī)制為基礎(chǔ)的Transformer模型被越來越多地應(yīng)用到圖像領(lǐng)域, 且比以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的網(wǎng)絡(luò)模型效果要更好. 這主要是因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)隨著層數(shù)的加深特征會(huì)逐漸丟失. 盡管近年又提出了殘差網(wǎng)結(jié)構(gòu)但是對于深層網(wǎng)絡(luò)仍然容易產(chǎn)生過擬合[6,27]. 在Transformer中, 圖片被分為各個(gè)不同的切片在每個(gè)切片內(nèi)應(yīng)用自注意力機(jī)制不僅實(shí)現(xiàn)了每次輸入數(shù)據(jù)的可控性也解決了圖片相對于文本數(shù)據(jù)維度過多的問題. 在計(jì)算自注意力時(shí)通過加入相對位置偏置B來計(jì)算每一個(gè)頭的相關(guān)性:
其中,Q,K,V是query,key,value矩陣;d是query/key的維度. 通過在本實(shí)驗(yàn)細(xì)粒度數(shù)據(jù)集上對比不同模型的效果, 最終選擇改進(jìn)Swin-T作為孿生網(wǎng)絡(luò)的主干網(wǎng),孿生網(wǎng)絡(luò)通過構(gòu)建兩組權(quán)重、參數(shù)相同的孿生模型.一組為支持集的特征提取網(wǎng)絡(luò)[4,7], 另一組作為提取測試集圖像的特征提取網(wǎng)絡(luò).
為了使Swin-T契合到本文搭建的孿生網(wǎng)絡(luò)中, 本文改寫并定義了Swin-T的損失函數(shù)部分. Swin-T作為特征提取網(wǎng)絡(luò), 共有4個(gè)模塊, 前2個(gè)模塊提取低維特征, 其權(quán)重占比較小; 后2個(gè)模塊提取高維特征, 其中第3個(gè)模塊權(quán)重占比最大. 這是因?yàn)閷τ诘途S特征而言, 其維度小、包含的高維信息過少, 對于高維特征而言, 其維度高、已丟失了大部分低維信息. 通過對第3個(gè)模塊的權(quán)重設(shè)置, 同時(shí)兼顧高維和低維特征. 本文改寫了4個(gè)提取特征模塊后的損失部分, 去掉平均池化層和全連接層, 新增標(biāo)準(zhǔn)化層對特征進(jìn)行歸一化從而將Swin-T與孿生網(wǎng)絡(luò)進(jìn)行適配. 將改進(jìn)過的Swin-T作為孿生網(wǎng)絡(luò)特征提取網(wǎng)絡(luò)模型, 并設(shè)置兩組孿生網(wǎng)絡(luò)特征提取網(wǎng)絡(luò)權(quán)重相同、參數(shù)一致.
(1)沉降過濾式離心機(jī)脫水效果良好,脫水產(chǎn)物水分為18.50%,脫水率高達(dá)96.23%,即離心液和濾液中攜帶的水量為入料量的96.23%,脫水產(chǎn)物中只夾帶了3.77%的剩余水量。
孿生特征提取網(wǎng)絡(luò)提取到相應(yīng)數(shù)據(jù)集的特征后,為了進(jìn)一步確定兩個(gè)輸入孿生網(wǎng)絡(luò)的圖片是否屬于同一類, 本文使用了余弦距離和歐式距離.
其中,a和b分別代表兩組孿生網(wǎng)絡(luò)提取出來的特征向量,Loss(θ)表示兩組向量的余弦距離. 余弦距離也稱為余弦相似度, 通過計(jì)算兩個(gè)向量之間的夾角值得到余弦相似度, 再用一減去余弦相似度從而得到余弦距離[28].如果兩個(gè)特征向量的余弦相似度值為零或負(fù)數(shù), 則余弦距離為大于一的值, 說明提取這兩個(gè)特征向量的圖像不屬于同一類. 如果兩個(gè)特征向量的余弦相似度為一, 則余弦距離為零, 說明提取這兩個(gè)特征向量的圖像為同一類.通過這樣設(shè)置, 使余弦距離為非負(fù)值, 其值在[0, 2]的區(qū)間上, 從而在數(shù)值上符合認(rèn)知邏輯, 也進(jìn)一步優(yōu)化了整個(gè)計(jì)算的過程. 當(dāng)兩個(gè)特征向量越相似, 余弦相似度越高,余弦距離越大; 當(dāng)兩個(gè)特征向量差異越大, 余弦相似度越低, 余弦距離越小. 再通過設(shè)置合適的閾值對余弦距離進(jìn)行判斷, 大于這個(gè)閾值的則認(rèn)為這兩個(gè)特征向量對應(yīng)的圖像屬于同一類, 反之, 則屬于不同類.
其中,X,Y分別代表兩組孿生網(wǎng)絡(luò)提取出的特征向量,n表示特征向量的長度,i表示兩組特征向量對應(yīng)的數(shù)值, 范圍從1到n. 歐式距離的一種定義方式是通過計(jì)算兩個(gè)向量對應(yīng)各項(xiàng)的差的平方之和后開方所得的值;還有一種方式是通過計(jì)算兩個(gè)向量對應(yīng)各項(xiàng)差的平方和. 根據(jù)其定義當(dāng)孿生網(wǎng)絡(luò)提取的兩個(gè)特征向量越接近時(shí), 歐式距離的值越小; 反之, 歐式距離則越大. 總體來說, 余弦距離體現(xiàn)的是兩個(gè)特征向量的方向差異, 而歐式距離體現(xiàn)的是兩個(gè)特征向量數(shù)值上的絕對差異.通過余弦距離和歐式距離的綜合考量, 優(yōu)化孿生網(wǎng)絡(luò)提取的兩個(gè)特征向量的比較方法.
Swin Transformer (Swin-T)選擇ImageNet數(shù)據(jù)集上進(jìn)行訓(xùn)練和測試. 在圖1中, 通過改進(jìn)Swin-T與孿生網(wǎng)絡(luò)進(jìn)行適配, 并進(jìn)一步提升特征提取的效率. 首先通過遷移學(xué)習(xí)對本文使用的數(shù)據(jù)集Snake set進(jìn)行訓(xùn)練, 得到提取本實(shí)驗(yàn)細(xì)粒度數(shù)據(jù)集的能力. 在遷移學(xué)習(xí)得到特征提取網(wǎng)絡(luò)模型后, 為了使遷移學(xué)習(xí)的模型能夠與孿生網(wǎng)絡(luò)進(jìn)行匹配, 只需要遷移后的模型具備特征提取能力, 因此, 舍棄了模型中損失計(jì)算部分和分類部分, 之后送到元學(xué)習(xí)器中進(jìn)行特征對比.
圖1 改進(jìn)Swin Transformer模型
Swin-T提出的翻轉(zhuǎn)窗口注意力方法相較于之前的Transformer網(wǎng)絡(luò)將復(fù)雜度縮小到了線性級(jí)別. 在本文中通過應(yīng)用翻轉(zhuǎn)窗口極大地減少了特征提取的時(shí)間.
式(5)是對式(4)即Swin-T之前的注意力計(jì)算復(fù)雜度的改進(jìn), 計(jì)算量級(jí)從二次方減少到一次方;h、w分別表示整幅圖片切片的行數(shù)和列數(shù),hw表示切片數(shù);M表示窗口分割的切片數(shù);C表示特征的通道數(shù).MSA表示多頭注意力;W–MSA表示翻轉(zhuǎn)多頭注意力.
元學(xué)習(xí)器對來自孿生網(wǎng)絡(luò)的特征向量做對比分類.通過余弦距離和歐式距離綜合應(yīng)用對支持集和測試集的特征向量做對比, 并設(shè)置合適的閾值, 對大于閾值的兩個(gè)向量, 則認(rèn)為屬于同一類, 反之, 則屬于不同類. 此外, 對于不同類的測試集圖片為其賦予新的標(biāo)簽, 單獨(dú)列為一個(gè)新的類別, 從而增強(qiáng)元學(xué)習(xí)的自主學(xué)習(xí)性.
由式(2)和式(3)求得的兩個(gè)結(jié)果做邏輯與運(yùn)算,得到兩組特征向量的對比結(jié)果Loss(c),c為類別信息.只有在余弦距離和歐式距離的結(jié)果都為正的情況下,元學(xué)習(xí)器才認(rèn)為這兩組特征向量屬于同一類.
在圖2所示的模型流程圖中, 首先模型通過在ImageNet上預(yù)訓(xùn)練得到改進(jìn)的Swin-T. 為了使改進(jìn)的Swin-T更好地獲取野生蛇的特征, 通過在Snake set上微調(diào)模型的權(quán)重參數(shù), 從而得特征提取模型. 然后將兩組特征提取模型共享權(quán)重作為孿生網(wǎng)絡(luò)的主干網(wǎng)來搭建孿生網(wǎng)絡(luò). 之后輸入支持集和測試集到孿生網(wǎng)絡(luò)提取特征向量, 并將孿生網(wǎng)絡(luò)提取出來的兩組特征向量送入元學(xué)習(xí)器進(jìn)行對比和分類. 如果測試集類別與支持集類別相同, 則輸出分類類別標(biāo)簽, 否則生成新類別標(biāo)簽. 在圖3的模型中, 左側(cè)數(shù)據(jù)集包含支持集和測試集, 支持集共有5種野生蛇類別, 每個(gè)類別包含5張圖片; 測試集只有一個(gè)類別, 每個(gè)類別包含一張圖片. 改進(jìn)的Swin-T包含兩個(gè)完全相同的特征提取網(wǎng)絡(luò), 這兩個(gè)特征提取網(wǎng)絡(luò)權(quán)重、參數(shù)一樣. 將孿生網(wǎng)絡(luò)提取的特征向量送入元學(xué)習(xí)器, 元學(xué)習(xí)器由預(yù)測部分和類別生成部分構(gòu)成. 預(yù)測部分完成對測試集特征的對比和預(yù)測, 這里對比方法使用了余弦距離和歐式距離, 如果與支持集中所有類別對比后超過閾值則認(rèn)為是同一類.如果與支持集中的所有類別對比后的值小于閾值則認(rèn)為屬于不同類別, 并生成新的標(biāo)簽, 從而形成一個(gè)新類.
圖2 模型流程圖
圖3 實(shí)驗(yàn)?zāi)P?/p>
在微軟亞洲研究院提出的Swin-T中, 使用ImageNet作為數(shù)據(jù)集. 在本實(shí)驗(yàn)中, 制作了如圖4的野生蛇數(shù)據(jù)集, 共17 389張圖片, 其中訓(xùn)練集與測試集按照9:1的比例進(jìn)行劃分, 將其命名為Snake set. 劃分后的訓(xùn)練集含有15 650張圖片, 測試集含1739張圖片. 將數(shù)據(jù)集初始化為384×384大小的尺寸, 在訓(xùn)練模型時(shí)通過旋轉(zhuǎn)、裁剪、插值對圖像進(jìn)一步增強(qiáng)[29]. 在Snake set數(shù)據(jù)集上對比了當(dāng)前在細(xì)粒度分類方面效果較好的主干網(wǎng), 包括Res-Net、DenseNet、EfficientNet和Swin-T等, 在未經(jīng)微調(diào)的前提下, 對比不同主干網(wǎng)在Snake set數(shù)據(jù)集上的分類準(zhǔn)確率, 包含15 650張訓(xùn)練集圖片以及1 739張測試集圖片. 結(jié)果證明使用注意力共17 389張圖片, 其中訓(xùn)練集圖片為15 650張、測試集1 739張機(jī)制的Swin-T效果要明顯好于其他卷積神經(jīng)網(wǎng)絡(luò)模型, 因此本文選擇Swin-T作為搭建孿生網(wǎng)絡(luò)的主干網(wǎng),并對Swin-T網(wǎng)絡(luò)作進(jìn)一步改進(jìn).
圖4 S-set數(shù)據(jù)集示例圖
如表1所示, 根據(jù)實(shí)驗(yàn)結(jié)果對比, 本文選擇基于Transformer結(jié)構(gòu)的Swin-T作為孿生網(wǎng)絡(luò)的主干網(wǎng). 近年來注意力機(jī)制在自然語言領(lǐng)域取得了巨大的進(jìn)步,同時(shí)應(yīng)用到計(jì)算機(jī)視覺和圖像處理領(lǐng)域一樣取得了不錯(cuò)的成果. 彌補(bǔ)了以往基于卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的缺陷,Swin-T將圖片作為一個(gè)切片輸入, 增強(qiáng)局部信息交互,在切片內(nèi)做注意力運(yùn)算, 這樣的Transformer網(wǎng)絡(luò)結(jié)構(gòu)對于大多圖像領(lǐng)域的研究都具有很好的應(yīng)用前景.
表1 主干網(wǎng)實(shí)驗(yàn)結(jié)果
為了使Swin-T具備更好的效果, 本文探索了不同Swin-T模塊對實(shí)驗(yàn)結(jié)果的影響, 第3個(gè)Swin-T模塊能夠有效提取特征同時(shí)減少時(shí)間消耗, 因此將第3個(gè)Swin-T塊的權(quán)重設(shè)置最高. 在模型提取信息后, 使用一個(gè)規(guī)范層使其值歸一化, 經(jīng)過上述操作得到一個(gè)一維的、長為221 184的特征向量. 此外, 為了進(jìn)一步確定特征向量的長度對元學(xué)習(xí)器分類的影響, 又在規(guī)范層后加一個(gè)平均池化層, 得到一維的、長為1 024的特征向量. 實(shí)驗(yàn)結(jié)果證明, 特征向量長度越長越有利于元學(xué)習(xí)器的對比分類[4,12,30].
根據(jù)前面介紹的方法中, 本文從多方面改進(jìn)了Swin Transformer, 保留了模型在分類前的全部網(wǎng)絡(luò)結(jié)構(gòu), 并重新寫了分類部分和損失部分的函數(shù). 整個(gè)模型由3部分組成, 首先特征提取模塊將原始圖像映射到特征空間. 把特征空間輸入元學(xué)習(xí)器并對查詢集中的圖像進(jìn)行預(yù)測. 特征提取層使用Swin-T模型, 該模型分為4個(gè)模塊每個(gè)模塊又對應(yīng)不同數(shù)目的注意力層.其4個(gè)模塊分別對應(yīng)2層、2層、18層、2層; 并且每個(gè)模塊分別對應(yīng)的多頭注意力數(shù)目為6、12、24、48.模型的輸入圖片尺寸為384×384像素. 通過特征提取層最終得到一維的、長為221 181的特征向量, 在每一層提取特征后使用一個(gè)mlp層, mlp層最重要的作用就是控制輸出的維度數(shù)使其保持一個(gè)較慢的速度增加.每個(gè)mlp層由全連接層、GELU激活層、drop層組成.
特征提取得到特征空間后再通過構(gòu)建元學(xué)習(xí)器對特征進(jìn)行預(yù)測和分類. 首先通過特征提取模型搭建孿生網(wǎng)絡(luò)提取支持集和測試集的圖像特征向量, 將提取到的特征向量送入元學(xué)習(xí)器, 對測試集樣本做類別預(yù)測. 元學(xué)習(xí)器對兩組特征向量計(jì)算余弦距離和歐式距離, 余弦距離從兩組特征向量的角度方面進(jìn)行對比; 歐式距離從距離方面對兩組特征向量進(jìn)行對比. 在計(jì)算余弦距離和歐式距離時(shí)設(shè)置合適的閾值, 從而大于這個(gè)閾值的兩個(gè)特征向量則認(rèn)為是來自于同一類的圖片;而小于這個(gè)閾值的兩個(gè)特征向量則認(rèn)為來自不同類的圖片. 若確定某個(gè)特征向量是來自于不同類的圖片, 則為其添加新標(biāo)簽, 從而豐富元學(xué)習(xí)的可擴(kuò)展性和自主學(xué)習(xí)性, 使其更加符合元學(xué)習(xí)的特點(diǎn)[31].
為了評估模型的準(zhǔn)確率, 本實(shí)驗(yàn)構(gòu)造單圖片測試集. 單圖片測試集即在測試集中包含一張測試的圖片,當(dāng)測試集圖片類別不屬于支持集中的任一類別時(shí), 其分類結(jié)果為新類別. 最后, 通過統(tǒng)計(jì)測試集中的分類結(jié)果作為評價(jià)模型的指標(biāo).
如表2所示, 在單圖片實(shí)驗(yàn)中, 本文設(shè)置了7組實(shí)驗(yàn)數(shù)據(jù), 每一組支持集中包含5個(gè)類別, 每個(gè)類別有5張圖片. 每一組測試集中有一個(gè)類別, 包含一張圖片.在第1組實(shí)驗(yàn)中, 測試集的蛇類別與支持集中第1類蛇的類別相同, 分類結(jié)果為第1類. 在第2組實(shí)驗(yàn)中,測試集的蛇類別與支持集中第2類蛇的類別相同, 分類結(jié)果為第2類. 在第3組、第4組、第5組實(shí)驗(yàn)中,測試集的蛇類別分別與支持集中第3類、第4類、第5類蛇的類別相同, 分類結(jié)果為第3類、第4類、第5類. 為了更好驗(yàn)證基于自注意力機(jī)制的孿生網(wǎng)絡(luò)模型在細(xì)粒度分類中的效果, 在第6組和第7組實(shí)驗(yàn)中, 設(shè)置測試集蛇類別與支持集5種蛇類別均不相同, 實(shí)驗(yàn)結(jié)果經(jīng)元學(xué)習(xí)器生成了新的類別標(biāo)簽, 即新類1和新類2.
表2 單圖片實(shí)驗(yàn)結(jié)果
為了進(jìn)一步與其他細(xì)粒度分類模型的對比, 本實(shí)驗(yàn)設(shè)置多圖片測試集. 多圖片測試集中包含1 000張圖片, 將分類準(zhǔn)確率作為模型的評價(jià)指標(biāo).
如表3所示, 在第1組到第5組對比實(shí)驗(yàn)中, 分別對比了bilinear convolutional neural networks (B-CNN)、discriminative filter bank within a CNN (DFL–CNN)、weakly supervised data augmentation network (WS-DAN)、progressive multi-granularity (PMG)共4種細(xì)粒度分類網(wǎng)絡(luò)在野生蛇圖片上的分類效果. 通過單圖片和多圖片測試驗(yàn)證了基于自注意力機(jī)制的孿生網(wǎng)絡(luò)在小樣本學(xué)習(xí)和細(xì)粒度分類方向的優(yōu)勢.
表3 多圖片實(shí)驗(yàn)結(jié)果
本實(shí)驗(yàn)使用的設(shè)備參數(shù)如下: 操作系統(tǒng)為Ubuntu 18.04環(huán)境, 深度學(xué)習(xí)環(huán)境和框架為Cuda 10.1、Cudnn 7、PyTorch 1.7.1、Torchvision 0.8.2、Cudatoolkit 10.1; 顯卡2080ti、32 GB內(nèi)存
在進(jìn)行遷移學(xué)習(xí)訓(xùn)練模型時(shí), 訓(xùn)練參數(shù)設(shè)置為300輪, 每輪輸入4張圖片; 每20輪進(jìn)行一次預(yù)熱學(xué)習(xí), 預(yù)熱學(xué)習(xí)率為5E–7; 權(quán)重衰減率為0.05; 基礎(chǔ)學(xué)習(xí)率為5E–3, 最小學(xué)習(xí)率為5E–6.
模型參數(shù)設(shè)置如下, 通道數(shù)為4, 嵌入通道數(shù)為96,模型四個(gè)模塊的深度分別為2, 2, 18, 2, 4個(gè)塊的自注意力頭數(shù)分別為6, 12, 24, 48; 窗口大小為7×7個(gè)切片,自注意力機(jī)制的偏置設(shè)為true.
本文主要研究基于自注意力機(jī)制的孿生網(wǎng)絡(luò)模型在細(xì)粒度分類的小樣本學(xué)習(xí)方法. 首先通過遷移學(xué)習(xí)得到提取本實(shí)驗(yàn)細(xì)粒度數(shù)據(jù)集的網(wǎng)絡(luò)模型權(quán)重. 將遷移學(xué)習(xí)后的網(wǎng)絡(luò)模型作為孿生網(wǎng)絡(luò)的主干網(wǎng), 通過構(gòu)建元學(xué)習(xí)器對孿生網(wǎng)絡(luò)提取的兩組特征向量做對比和分類. 本實(shí)驗(yàn)探索了基于自注意力機(jī)制的網(wǎng)絡(luò)模型在細(xì)粒度圖像的分類效果, 相較于卷積神經(jīng)網(wǎng)絡(luò)模型, 本文獲得了更高的準(zhǔn)確率和效率.