文章鏈接:URL: https://arxiv.org/pdf/1912.03432.pdf
核心概述
本文作者從距離度量角度出發,探討了現行SoTA FSL方法的優缺點,並且提出了一種simple CNAPS方法,特征提取部分采用的是ResNet18+FiLM層(自適應任務);最終分分類采用了馬氏( Mahalanobis)距離。 作者重點論證了馬氏距離與現下最常用的歐氏距離(L2)、曼哈頓距離(L1)以及負點積(余弦相似度)等距離度量相比,其在類間差異性求解上的優越點。同時作者認為:影響FSC准確性的關鍵因素是距離度量的選擇,而非特征提取器的魯棒性。
總結:
-
contribution:
- 分類用了 基於類協方差的距離度量(即馬氏距離) ,將CNAPS的性能提升了6.1%。
- 在shot數量極小(4)的情況下,也可以構建class-specific的協方差,使距離求解可行。
- 提出了一種新的“simple-CNAPS”體系結構,極大減少了參數量 (占總數的3.2%-9.2%),分類過程不可學習,參數固定,效果依然很好。
-
why work:
- resnet+FiLM自適應特征提取
- 馬氏距離分類(通過求解協方差矩陣,去除各個分量之間的方差,消除了量綱性,並且加入的對數據分布的先驗信息更少)。
圖1:類協方差度量:點代表embedded圖像feature, 各個顏色交接處即為類決策邊界,五角星代表query image。左圖:標准 L2-based距離,即歐式距離, 右圖:馬氏距離(基於類別協方差的距離度量)。為了方便比較,我們把有圖做了空間轉換,即搞成了線性分割面。數據集:features: out-of-domain Traffic Signs dataset。該任務共包含五個類共112個support samples, 每個類一個query instance。我們(右)的決策邊界與support embedding對齊的更好,並且全都分類正確,基於L2的分類器有三類都分錯了。
算法部分
下圖是對現行FSL方法的可視化。橫軸:特征提取器的自適應性策略;縱軸:分類方法。
模型結構圖如下圖所示。作者是在CNAPS模型基礎上開發的,特征提取部分的結構相同,都是部分自適應的結構(ResNet18+FiLM層:自適應模塊,對每個block的feature做適配當前任務的shift+scale,用support set訓得),主要差異在於分類上,原始的CNAPS采用的是一個可學習的線性分類器,最后經過softmax處理得到分類結果,本文的simple-CNAPS直接采用馬氏距離進行距離求解,沒有參數,只需要計算協方差矩陣即可,
即分類結果=softmax( \(D_M\) (suport mean embedding, query embedding))。
1. feature extractor:
resnet18的feature blocks在imagenet上做了預訓練,然后將每個block出的support feature送到一個FiLM層 \(\psi_\phi^i\) 學習自適應參數 \((\gamma_i, \beta_i)\) ,訓好的 \(\psi_\phi^i\) 對i層的coarse feature做shift+scale處理,使feature適配當前任務,忽略非相關特征區域(類似於attention)。
2. classification
2.1 老版的CNAPS:
分類通過一個可學習的線性分類adapter完成。分類結果= \(softmax(W f_\theta^\Gamma(x_i^*)+b)\) ,W和b由分類自適應網絡 \(\psi_\phi^c\) 產生。
對於類別k,對應行(第k行)的類權重是 \(\psi_\phi^c(\mu_k)\) 的類均值 \(\mu_k\)(平均池化) 。
2.2 simple-CNAPS
分類概率計算公式(k表示第k類):
其中 \(d_k\) 即為馬氏距離:
\(Q^\Gamma_k\) 是task and class-specific的協方差矩陣。考慮到support set中shot數量可能遠小於特征空間維度,對協方差矩陣做正則化(保證可逆):
其中 \(\Sigma_k^\Gamma\) 是類內( class-within-task)協方差矩陣, \(\Sigma^\Gamma\) 是類間(all-classes-in-task)協方差矩陣(忽略類別信息。 疑問: \(\mu\) 如何解?所有embedding做平均池化?)。 \(\Sigma_k^\Gamma\) 表達式( \(S^\Gamma\) :support set ):
作者將比例 \(\lambda\) 定義為: \(\lambda_\Gamma^k =|S_\Gamma^k|/(|S_\Gamma^k|+1)\) 。
- 當 \(|S_\Gamma|=1,Q_\Gamma^k= 0.5\Sigma^\Gamma +\beta I\) , 此時 \(Q_\Gamma^k\) 依賴於正則化參數β的大小(接近歐氏距離)。
- 當 \(|S_\Gamma^k|=2,\lambda_\Gamma^k =2/3,Q_\Gamma^k=2/3\Sigma_k^\Gamma+1/3\Sigma^\Gamma+\beta I\) ,即 \(Q_\Gamma^k\) 此時受類內協方差的影響更大,受all-classes-in-task協方差矩陣 \(\Sigma^\Gamma\) 的影響更小。
- 在high-shot情況下, \(\lambda_\Gamma^k\) 的值趨近於1,即完全受類內協方差矩陣影響(class-level covariance)。
直觀理解: shot數量越多, \(\lambda_\Gamma^k\) 越大,class-within-task協方差 \(\Sigma_k^\Gamma\) 的估計越准確,\(Q_\Gamma^k\) 的值應由 \(\Sigma_k^\Gamma\) 決定。 作者還考慮了把 \(\lambda_\Gamma^k\) 設置為可學習參數的方法,結果表明就這種直接設定的方式效果最好。
經過softmax(馬氏距離),等價於多元高斯分布:
高斯混合系數 \(\pi_k=1/k\) (系數相等,每個分量的contribution相同。類比歐氏距離,其約定高斯分量在 \(\mu_k\) 附近服從方差為1 \(Q_k^\Gamma=1\) 的單位正態分布,即提前設定了每個類別的方差是一致的)。
Experiment Detail
數據集: meta-datasets: ILSVRC-2012(ImageNet),Omnilot ,FGVC-Aircraft,CUB-200-2011(Birds),Describable Textures(DTD),QuickDraw ,FGVCx Fungi(Fungi),VGG Flower(Flower),Traffic Signs (Signs)和MSCOCO。前八個訓練,后兩個測試(域外), 前八個中選了少量做域內測試。
與其他距離度量的對比(L1, squared L2,負點積)
Thoughts
算法結構比較簡單,大多在理論論述,創新點主要在於馬氏距離應用到特征空間的距離度量上。作者認為特征提取器的構建對最終分類准確性的影響沒有“分類指標”的影響大,個人認為feature embedding這一步還是很重要的,可以考慮更end-to-end的結構,比如attention這種,另外作者也沒說是在哪一個block出來的feature上求距離,考慮多尺度都做會不會提點?