大連理工提出小樣本識別DeepBDC,6項(xiàng)基準(zhǔn)性能最好
本文首次將布朗距離協(xié)方差這一基于概率和統(tǒng)計(jì)的相似性度量引入到深度學(xué)習(xí)中,提出了一種端到端的小樣本識別方法 DeepBDC。所提出的方法在包括一般目標(biāo)識別、細(xì)粒度分類和跨域分類等任務(wù)的 6 個標(biāo)準(zhǔn)數(shù)據(jù)庫上都取得了當(dāng)前最好的性能。論文已被 CVPR 2022 接收為 Oral Presentation。
- 論文鏈接:https://arxiv.org/pdf/2204.04567.pdf
- 代碼鏈接:http://www.peihuali.org/DeepBDC
第一章 簡介
人類在認(rèn)識新事物時,通常僅需要很少量的學(xué)習(xí)數(shù)據(jù)便可以快速掌握相關(guān)知識,比如通過幾張圖片便可以認(rèn)識一些之前從未見過的動物等。而現(xiàn)代的人工智能系統(tǒng)所依托的深度學(xué)習(xí)算法往往需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練代價(jià)非常大。同時,獲得大量的人工標(biāo)注數(shù)據(jù)也是非常耗時耗力的。因此理想狀態(tài)下的人工智能系統(tǒng)需要具備人類相同的快速學(xué)習(xí)能力,也就是說在每一類訓(xùn)練數(shù)據(jù)僅有極少量標(biāo)注樣本的情況下,使得深度學(xué)習(xí)模型具備出色的識別能力,這個便是小樣本分類任務(wù)。
這個任務(wù)非常具有挑戰(zhàn)性,因?yàn)閺纳倭康臉颖局泻茈y學(xué)習(xí)到豐富的知識,同時也容易導(dǎo)致過擬合。目前一種可行的解決方案是基于元學(xué)習(xí)(或者稱之為 “Learning to learn”) 去跨任務(wù)學(xué)習(xí)更深層的知識,并遷移到新的任務(wù)上。在這種情況下,訓(xùn)練是由一系列子任務(wù)構(gòu)成,這種被稱為 episode 訓(xùn)練。在最新的研究中,基于度量的方法吸引了大量的關(guān)注,其核心在于通過深度神經(jīng)網(wǎng)絡(luò)提取 query 和 support 圖像的表征,并度量表征之間的距離,從而進(jìn)行類別的判斷。
從統(tǒng)計(jì)學(xué)上講,query 圖像的特征 (或 support 圖像) 可以看作是高維空間中的一個隨機(jī)向量 X (或 Y)。因此,圖像之間的相似性可以通過概率分布來度量。然而,建模高維特征的分布是困難的,常用的方法是建模統(tǒng)計(jì)矩。ProtoNet 及其變體通過一階矩 (mean vector) 表示圖像,并使用歐幾里德距離或余弦相似度進(jìn)行度量學(xué)習(xí)。為了獲取更豐富的統(tǒng)計(jì)量,前人一些工作研究了二階矩 (Covariance matrix) 或一、二階矩的組合 (Gaussian distribution),并采用了 Frobenius 范數(shù)或 Kullback-Leiberler (KL) 散度作為相似度度量。然而,這些方法只利用邊緣分布 (Marginal distribution) 而忽略了聯(lián)合分布 (Joint distribution),沒有充分挖掘分布之間的統(tǒng)計(jì)特性。此外,使用協(xié)方差只能度量兩個具有分布之間的線性相關(guān),而深度神經(jīng)網(wǎng)絡(luò)的高維特征往往是非線性的,因此很難準(zhǔn)確的進(jìn)行度量。
表 1:DeepBDC 與同類方法的比較
一般情況下,X 和 Y 之間的相關(guān)性應(yīng)根據(jù)它們的聯(lián)合分布來衡量。最優(yōu)傳輸理論中的推土距離(EMD 距離)是測量這種相關(guān)性的一種有效方法。如在前人的一些工作中所述,EMD 尋求最優(yōu)聯(lián)合分布
,其邊緣分布被限制為給定的
和
,使運(yùn)輸成本的期望最小。
在小樣本分類中,DeepEMD 提出了可微分 EMD 對圖像區(qū)域進(jìn)行最優(yōu)匹配,從而能夠更好的利用圖像之間的聯(lián)合分布去度量相似度。盡管 DeepEMD 實(shí)現(xiàn)了很有競爭力的性能,但是因?yàn)槠溆?jì)算時需要求解線性規(guī)劃方程,導(dǎo)致計(jì)算成本很高,實(shí)際的訓(xùn)練和測試會很耗時。除此之外,互信息 (Mutual Information, MI) 也是一種典型的度量方法,它可以通過兩個隨機(jī)變量的聯(lián)合分布與邊緣乘積之間的 KL - 散度來量化其相關(guān)性。但遺憾的是,在高維空間中,MI 的計(jì)算比較困難,往往涉及到復(fù)雜的概率密度建模或 KL-divergence 的下界估計(jì)。
在本文中,該研究提出了一種基于深度布朗距離協(xié)方差 (DeepBDC) 的方法用于小樣本分類任務(wù)。布朗距離協(xié)方差 (Brownian Distance Covariance, BDC) 最早由 Gábor 等人提出,其定義為聯(lián)合特征函數(shù)與邊緣乘積之間的歐氏距離。它可以很自然地量化兩個隨機(jī)變量之間的相關(guān)性。
在 DeepBDC 中,該研究將 BDC 實(shí)現(xiàn)成一個即插即用的模塊,可以靈活的接入到深度神經(jīng)網(wǎng)絡(luò)中,獲得 BDC 矩陣,以此作為圖像的表征。通過計(jì)算一對圖像的 BDC 矩陣內(nèi)積便可得到兩個圖像的相似度。
同時,該研究實(shí)現(xiàn)的 BDC 模塊也可以應(yīng)用在基于簡單遷移學(xué)習(xí)的框架下,比如 Chen 等人提出的 baseline/baseline++。相比于經(jīng)典協(xié)方差,布朗距離協(xié)方差能夠刻畫非線性隨機(jī)變量之間的相關(guān)性和獨(dú)立性,因此可以更準(zhǔn)確的度量分布之間的相似度。
和同樣考慮聯(lián)合分布的 EMD 相比,BDC 的計(jì)算效率很高,幾乎不影響網(wǎng)絡(luò)的推理速度。同時由于 BDC 不需要建模概率密度,因此相比于 MI 來說,計(jì)算更簡潔。在上表 1 中,該研究展示了 DeepBDC 和其對應(yīng)方法之間的差異。
本文的貢獻(xiàn)可以總結(jié)如下:
- 該研究首次將布朗距離協(xié)方差 (BDC) 引入基于深度網(wǎng)絡(luò)的小樣本分類,表明了 BDC 在深度學(xué)習(xí)中有巨大潛力和未來應(yīng)用價(jià)值。
- 該研究將提出的 DeepBDC 實(shí)現(xiàn)成一個即插即用的模塊,可適用于不同的小樣本學(xué)習(xí)框架。同時,該研究結(jié)合兩種不同范式的小樣本學(xué)習(xí)框架對 DeepBDC 進(jìn)行了實(shí)例化,即基于原型網(wǎng)絡(luò)框架的 Meta DeepBDC 和基于簡單遷移學(xué)習(xí)框架的 STL DeepBDC。
- 該研究對提出的方法進(jìn)行了深入的消融研究,并在 6 個小樣本分類基準(zhǔn)上進(jìn)行了廣泛的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,兩種實(shí)例都取得了當(dāng)前最好的分類性能。
第二章 深度布朗距離協(xié)方差
2.1 理論
BDC 理論最早是 Gábor 等人建立的,可以表示為隨機(jī)變量之間的聯(lián)合特征函數(shù)和其邊緣分布的乘積之間的歐式距離。記
分別是維度為
和
的隨機(jī)向量,則X和Y之間的 BDC 測度可以表示為如下:
其中
表示為X和Y之間的聯(lián)合特征函數(shù),
和
分別為X和Y的邊緣分布,
為它們的聯(lián)合概率密度函數(shù)。
以上為 BDC 的連續(xù)表達(dá)形式,在離散情況下,可以定義
,其中
是根據(jù)
計(jì)算的歐氏距離矩陣。類似地,我們可以獲得
的歐氏距離矩陣
,其中
。那么這種情況下,BDC 測度可以寫為:
其中
表示矩陣跡,
表示矩陣轉(zhuǎn)置,
稱為 BDC 矩陣。這里
,其中后三項(xiàng)分別表示第
列、第
行和所有
項(xiàng)的均值。矩陣
可以用類似的方法從
計(jì)算出來。且由于 BDC 矩陣是對稱的,
也可以寫成兩個 BDC 向量
和
的內(nèi)積,即:
其中
(或
) 通過提取
(或
) 的上三角部分得到,然后進(jìn)行向量化。
BDC 測度
具有如下優(yōu)異的特性:
- 它是非負(fù)的,且當(dāng)且僅當(dāng)和獨(dú)立時它等于。
- 它可以表征和之間的線性和非線性相關(guān)性。
- 它對和的平移和標(biāo)準(zhǔn)正交變換是不變的,對它們的各自尺度變換是等變的。即對于任意向量,標(biāo)量和正交矩陣,。
2.2 BDC 模塊
從上節(jié)可以得知,對于一對輸入圖像來說,可以獨(dú)立的計(jì)算其 BDC 矩陣,再進(jìn)行內(nèi)積操作獲得二者的相似度。因此該研究將該過程實(shí)現(xiàn)為一個獨(dú)立的模塊,用于計(jì)算每張圖像高層卷積特征的 BDC 矩陣。且由于 BDC 矩陣的大小為輸入卷積特征維度的二次方,因此為了控制輸出維度,該研究引入了一個 1×1 的卷積層進(jìn)行降維。
該研究首先將降維后的卷積特征進(jìn)行 reshape 獲得
,其中
和
為空間高度和寬度,
為通道數(shù)。其中每一列
或者每一行
都可以看作是隨機(jī)向量
的觀察值。
接下來以
為例介紹 BDC 模塊的計(jì)算過程。
如下面公式所示,計(jì)算分為三個步驟,第一步是計(jì)算歐式距離平方矩陣
,
是
的第
列和第
列之間的平方歐氏距離;緊接著對其開平方得到歐式距離矩陣
;最后對距離矩陣減去行均值,列均值以及總體均值得到 BDC 矩陣。
這里是一個矩陣
,每個元素都是 1,
是單位矩陣,?表示哈達(dá)瑪乘積。該研究表示
2.3 DeepBDC 的兩種實(shí)例化
在實(shí)際的小樣本分類訓(xùn)練中,研究者通常會構(gòu)建一系列
的分類任務(wù),即共有
類,每類
個樣本。其中這
個樣本組成支撐集
,同時每一類中有
張圖像稱為查詢集
一種典型的小樣本學(xué)習(xí)范式是以 ProtoNet 為代表的元學(xué)習(xí),在每次訓(xùn)練時抽取一部分?jǐn)?shù)據(jù)組成支撐集和查詢集進(jìn)行學(xué)習(xí),使得網(wǎng)絡(luò)能夠從各種任務(wù)中學(xué)習(xí)到如何學(xué)習(xí),并將這種能力遷移到全新的類別上。同時另一種基于簡單遷移學(xué)習(xí)的學(xué)習(xí)框架也取得了不錯的泛化性能,其在訓(xùn)練階段是一個一般的圖像分類任務(wù),通過學(xué)習(xí)使得網(wǎng)絡(luò)獲得更好的嵌入特征,在新的類別上測試時,能夠快速適應(yīng)。基于這兩種學(xué)習(xí)框架,該研究構(gòu)建了基于元學(xué)習(xí)的 Meta DeepBDC 和基于簡單遷移學(xué)習(xí)的 STL DeepBDC。
如圖 1 所示,Meta DeepBDC 是在 ProtoNet 架構(gòu)的基礎(chǔ)上構(gòu)建的,通過對支撐集圖像得到的 BDC 表達(dá)進(jìn)行平均得到了每一類的原型表達(dá),通過計(jì)算查詢圖像的 BDC 表達(dá)和每一類原型表達(dá)之間的內(nèi)積,獲得與每類之間的距離,從而進(jìn)行類別判斷。在實(shí)驗(yàn)環(huán)節(jié),該研究評估了幾種不同的獲取原型表達(dá)的方式。
圖 1:Meta DeepBDC。
STL DeepBDC 基于一個典型的遷移學(xué)習(xí)框架 Good-Embed,使用大量的標(biāo)注數(shù)據(jù)進(jìn)行訓(xùn)練,獲得一個更好的基礎(chǔ)模型用來得到圖像的嵌入特征。在新的類別空間里,通過線性層或者回歸器對得到的嵌入特征進(jìn)行學(xué)習(xí),得到一個分類器用于識別。如圖 2 所示,該研究將 BDC 矩陣當(dāng)作輸入圖像的嵌入特征送到尾部的分類器中進(jìn)行學(xué)習(xí),利用交叉熵?fù)p失函數(shù)進(jìn)行網(wǎng)絡(luò)的優(yōu)化。
圖 2:STL DeepBDC。
第三章 實(shí)驗(yàn)
3.1 數(shù)據(jù)集和實(shí)驗(yàn)設(shè)置
本文中該研究在通用識別任務(wù) miniImageNet 和 tieredImageNet,以及細(xì)粒度識別任務(wù) CUB, Cars, Aircraft 上進(jìn)行了評估。在這些數(shù)據(jù)集上,為了和前人的工作可以公平比較,該研究使用了標(biāo)準(zhǔn)的數(shù)據(jù)集劃分,數(shù)據(jù)增廣和訓(xùn)練策略。其中每個數(shù)據(jù)集都被劃分為 meta-training,meta-validation 和 meta-testing 三個子集,每個子集之間的類別不重疊。除 CUB 使用 224×224 大小的圖像作為輸入之外,其他實(shí)驗(yàn)均使用 84×84 分辨率的輸入。
骨干模型使用了前人工作中使用的 ResNet-12(針對 84×84 輸入的圖像)和 ResNet-18(針對 224×224 輸入的圖像)。其中 ResNet-12 的 residual block 是由連續(xù) 3 個 3×3 且通道數(shù)一致的卷積層成,網(wǎng)絡(luò)的每一個 stage 的通道數(shù)分別為 [64,160,320,640],residual block 數(shù)量為 [1,1,1,1]。ResNet-18 是使用 He 等人提出的 ResNet 論文中的原始架構(gòu)。同時為了評估更深層模型上的性能,該研究也使用了 ResNet-34 和其變體,分別應(yīng)用于 224×224 和 84×84 輸入的實(shí)驗(yàn)。ResNet-34 的變體是在 ResNet-12 的基礎(chǔ)上將每一個 stage 的 residual block 的數(shù)量從 [1,1,1,1] 改為 [2,3,4,2]。
3.2 和 SOTA 方法的比較
該研究首先評估了 DeepBDC 在 miniImageNet 上的 1-shot/5-shot 性能。從表 2 可以看出,STL DeepBDC 均取得了最好的性能,Meta DeepBDC 也表現(xiàn)優(yōu)異,取得了超越或者和當(dāng)前最好工作可比的性能。其中,在 5-shot 任務(wù)中,Meta DeepBDC 和 STL DeepBDC 分別比之前最好的 BML 高出 0.83% 和 1.82%。
在細(xì)粒度識別任務(wù) CUB 上,為了公平可比,該研究首先根據(jù)設(shè)置重新實(shí)現(xiàn)了基線模型 ProtoNet 和 Good-Embed。表 2 表明該研究實(shí)現(xiàn)的 ProtoNet 和 Good-Embed 與原文中的準(zhǔn)確率相比很具有競爭力,同時和當(dāng)前最好的工作相比,該研究也是大幅度領(lǐng)先的。在 1-shot 上,Meta DeepBDC 和 STL DeepBDC 分別比 FRN 高 1% 和 1.46%; 在 5-shot 上,這兩種實(shí)現(xiàn)也分別領(lǐng)先 FRN 0.84% 和 1.04%。
在跨域任務(wù)上,該研究以 miniImageNet 為源域,以三個細(xì)粒度數(shù)據(jù)集 CUB,Cars,Aircraft 為目標(biāo)域進(jìn)行跨域評估。他們將 miniImageNet 的全集作為訓(xùn)練集,分別在目標(biāo)域數(shù)據(jù)集上進(jìn)行測試。結(jié)果如表 3 所示,在 miniImageNet→CUB 上,基于協(xié)方差的 CovNet 是非常有競爭力的,僅略低于當(dāng)前最好的 FRN。和 FRN 相比,Meta DeepBDC 和 STL DeepBDC 分別比高性能 FRN 高出 0.8% 和 3.1%;在 miniImageNet→Aircraft 上,該研究的兩種實(shí)現(xiàn)也比其他方法有著顯著的提高,性能提升大于 3.2%;在 miniImageNet→Cars 上,該研究的方法同樣也是處于領(lǐng)先,其中比最好的 ADM 在 1-shot 和 5-shot 上分別提高了 0.7% 和 4.2%。這些結(jié)果都充分證明了本文方法具有很好的域遷移能力。
表 2:在通用分類任務(wù)和細(xì)粒度識別任務(wù)上的性能比較。黑色表示最好的性能,紅色表示次好性能。
表 3:在領(lǐng)域遷移任務(wù)上的性能比較。黑色表示最好的性能,紅色表示次好性能。
3.3 消融實(shí)驗(yàn)
首先該研究評估了降維層對 DeepBDC 和同類方法的性能影響。由上文可知,降維層輸出特征通道數(shù)為 d, 研究分別評估了 d 取不同值時的 5-shot 性能。如圖 3 可以看出隨著維度的升高,ADM 和 CovNet 分別在 d=196,和 d=256 時達(dá)到最高,之后性能會下降,和一階的 ProtoNet 接近。Meta DeepBDC 也是類似的情況,但只有當(dāng)維度超過 640 時,才會出現(xiàn)性能降低。另外我們也可以看出該研究兩種實(shí)現(xiàn)在各個維度上都能顯著的高于同類方法,進(jìn)一步的展示了利用布朗距離協(xié)方差的優(yōu)異性能。
圖 3:降維層通道數(shù)量 d 對性能的影響。
緊接著該研究分別針對 Meta DeepBDC 和 STL DeepBDC 進(jìn)行評估。Meta DeepBDC 中的一處關(guān)鍵實(shí)現(xiàn)是計(jì)算兩個表達(dá)之間的距離,該研究在相同的實(shí)驗(yàn)設(shè)置下評估了其他兩種常用的度量方式,即歐式距離和余弦距離,結(jié)果如表 4 所示。
從中我們可以看到各個距離函數(shù)的計(jì)算代價(jià)基本是可比的,其中在 1-shot 任務(wù)中,使用內(nèi)積可以獲得最好的性能;在 5-shot 中使用歐式距離可以獲得最好的性能。針對 STL DeepBDC,該研究評估了使用不同分類器對性能的影響,其中可以看出使用 SVM 具有最小的時間代價(jià),但是性能不理想;使用邏輯回歸器可以獲得最好的性能,同時計(jì)算效率并沒有受太大影響,尤其是和 Softmax 分類器相比時,具有明顯的優(yōu)勢。根據(jù)這兩個實(shí)驗(yàn)結(jié)論,該研究在所有實(shí)驗(yàn)中使用這樣的設(shè)置。
表 4 :Meta DeepBDC 的距離函數(shù)評估。
表 5:STL DeepBDC 的分類器評估。
此外,該研究還對各個方法的運(yùn)行時間進(jìn)行了比較。在相同的計(jì)算設(shè)備上,測量 DeepBDC 和同類方法在 meta-training 和 meta-testing 時每個任務(wù)的運(yùn)行時間(ms/episode)。結(jié)果如表 6 所示,可以看出在同類方法中考慮聯(lián)合分布的 DeepEMD 性能最好,但是其訓(xùn)練和測試代價(jià)極大,遠(yuǎn)超過其他所有方法。DeepBDC 的訓(xùn)練和測試代價(jià)略高于 CovNet 和 ProtoNet,但是性能有著顯著的優(yōu)勢。因此這部分實(shí)驗(yàn)證明了 DeepBDC 是性能優(yōu)異且高效的方法,能夠適用于實(shí)際的應(yīng)用中。
表 6:STL DeepBDC 的分類器評估。
同時該研究也探究了 DeepBDC 在容量更大的模型上的表現(xiàn)。目前的小樣本學(xué)習(xí)方法通常使用 ResNet-12 或者 ResNet-18 作為基礎(chǔ)骨干模型,因此該研究使用更深層的 ResNet-34 進(jìn)行了實(shí)驗(yàn)。他們在 miniImageNet 和 CUB 上分別和同類方法進(jìn)行了比較,結(jié)果如表 7 和表 8 所示。我們可以看出當(dāng)使用更大容量模型時,該研究的兩種實(shí)現(xiàn)均有持續(xù)的性能提升。
表 7 :DeepBDC 基于 ResNet-34 在 miniImageNet 上的性能。
表 8 :DeepBDC 基于 ResNet-34 在 CUB 上的性能。
最后,該研究在一些線性和非線性相關(guān)的樣本上展示了布朗距離相關(guān)系數(shù)(BDCorr)和經(jīng)典協(xié)方差相關(guān)系數(shù)(Corr)上的建模相關(guān)性的能力。如圖 9 所示,BDCorr 在線性相關(guān)的樣本上和 Corr 具有相似的能力,且由于其非負(fù)性,BDCorr 無法反映方向性;二者都不能反映斜率的大小。但從圖 10 中我們可以看出,對于所有的非線性相關(guān)樣本,Corr 都等于 0,無法度量非線性相關(guān)性;而 BDCorr 可以刻畫這種復(fù)雜非線性情況下的相關(guān)性。這一點(diǎn)充分證明了 BDC 在度量分布之間的相關(guān)性時,比經(jīng)典協(xié)方差的能力更強(qiáng)。
表 9 :在線性相關(guān)的樣本上的比較。
表 10 :在非線性相關(guān)的樣本上的比較。
第四章 結(jié)論
在本文中,該研究提出了 DeepBDC 用于小樣本分類任務(wù),DeepBDC 通過度量樣本對之間的聯(lián)合分布從而獲得更準(zhǔn)確的相似度,極大的提升了小樣本分類的性能。據(jù)了解,這是首次將布朗距離協(xié)方差這一潛力巨大、但又嚴(yán)重低估的統(tǒng)計(jì)學(xué)方法引入到深度學(xué)習(xí)中,并將其實(shí)現(xiàn)為一個高效的即插即用的模塊,可以靈活的嵌入到任意深度卷積網(wǎng)絡(luò)中。該研究提供的兩種實(shí)現(xiàn)方案,即無論是基于度量學(xué)習(xí)的 Meta DeepBDC 還是基于簡單遷移學(xué)習(xí)的 STL DeepBDC 都證明了這種易用性。
大量的實(shí)驗(yàn)表明,該研究的方法都在多個通用、細(xì)粒度、跨域小樣本學(xué)習(xí)任務(wù)上獲得了非常具有競爭力的性能,取得了當(dāng)前最好的結(jié)果。該研究提出的 DeepBDC 是一種基本的度量距離 / 相似性和建模相關(guān)性的深度學(xué)習(xí)技術(shù),在計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)中具有廣泛的應(yīng)用前景