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