Improved Few-Shot Visual Classification 論文筆記

前言

小樣本學習方法主要可以分爲兩種形式:最近鄰方法和embedding方法。在embedding方法中,通常是先將圖像通過非線性映射到embedding空間中,然後在embedding空間中根據預設的距離度量來進行最終的最近鄰分類,原型網絡採用的就是這種方法。

人們發現,在經過靈活的非線性映射之後,得到的embedding基本可以適應任何距離度量,因此度量的選擇似乎變得無關緊要。然而本文發現,度量的選擇還是相當重要的。 在原型網絡中,作者分析了文中所使用的距離函數,以證明使用樣本均值作爲原型是合理的,並且作者認爲在所有的距離函數中,Bregman散度是最合適的,不過原型網絡僅選用Bregman散度中的一個實例——平方歐幾里得距離。但是,選擇歐幾里得度量會涉及兩個錯誤的假設:

  1. 特徵維度不相關;
  2. 具有一致的協方差。

此外,歐氏距離對於類內樣本相對於原型的分佈不敏感。本文發現,對這種分佈進行建模是提升性能的關鍵。

本文的貢獻如下:

  • 使用馬氏距離作爲度量,通過實驗發現性能相比CNAPS提升了6.1%;
  • 作者發現即使在小樣本分類的情況下,也能夠估算出馬氏距離;
  • 提出了一種新的Simple CNAPS結構,它從原始CNAPS中移除了788485個參數,並用固定的,不需要學習的確定性協方差和馬氏距離來替代它們;
  • 本文還發現足夠複雜的CNN特徵提取器可以適應最終的任何度量標準。

方法實現

首先對小樣本圖像分類做一個說明。假設有一個大規模帶標記數據集D={(xi,yi)}i=1ND=\lbrace(x_i,y_i)\rbrace^N_{i=1},其中xix_iyiy_i分別是圖像和標籤。那麼從DD中就可以構建一個專門用於分類任務的大規模數據集DτDD^{\tau} \in D,這裏τZ+\tau \in \Bbb Z_{+}定義的是一個分類任務。然後定義支持集Sτ={(xi,yi)}i=1NτS^{\tau}=\lbrace(x_i,y_i)\rbrace^{N^{\tau}}_{i=1}和查詢集Qτ={(xi,yi)}i=1NτQ^{\tau}=\lbrace(x_i^*,y_i^*)\rbrace^{N^{*\tau}}_{i=1}Dτ=SτQτD^{\tau}=S^{\tau} \bigcup Q^{\tau}x1,xiRDx_1,x_i^* \in \Bbb R^D是向量化的圖像,yi,yi{1,...,K}y_i,y_i^* \in \lbrace1,...,K\rbrace是類標籤。那麼最終的目標就是找到能使Er[Qτp(yifθ(xi,Sτ))]\Bbb E_r[\prod _{Q^{\tau}}p(y_i^*|f_{\theta}(x_i^*,S^{\tau}))]最大化的分類器fθf_{\theta}參數θ\theta

在實際構建DτD^{\tau}時,需要對支持集中的圖像標籤和查詢集中的圖像標籤之間的關係上增加一個約束。比如,查詢集標籤是支持集標籤的子集,這樣的話,分類任務就可以看成是爲查詢集中的圖像正確分配支持集中的某個類別。並且,在這種情況下,支持集就可以看作是訓練數據。

1. CNAPS

CNAPS由兩部分組成:特徵提取器和分類器,它們都是task-adapted,利用支持集訓練出自適應模塊來實現這種adaption。
在這裏插入圖片描述
上圖是CNAPS中特徵提取器的結構,它包括了一個ResNet網絡,ResNet網絡的每一層的特徵都會通過FiLM層的參數{γj,βj}j=14\lbrace \gamma_j,\beta_j \rbrace^4_{j=1}進行scale和shift,而參數{γj,βj}j=14\lbrace \gamma_j,\beta_j \rbrace^4_{j=1}是由特徵自適應模塊ψϕf\psi^f_{\phi}基於支持集樣本SτS^{\tau}提供的。

ψϕf\psi^f_{\phi}包括兩個階段:

  • 首先由任務編碼器(task encoder)gϕ()g_{\phi}(\cdot)生成任務表示gϕ(Sτ)g_{\phi}(S^{\tau})
  • 然後將gϕ(Sτ)g_{\phi}(S^{\tau})傳遞給ψϕj\psi^j_{\phi},從而爲塊jj生成FiLM參數{γj,βj}\lbrace \gamma_j,\beta_j \rbrace

一旦設置好FiLM的參數,那麼這個特徵提取器就實現了task-adapted,定義fθτf_{\theta}^{\tau}表示適應了任務τ\tau的特徵提取器。

接下來說一下CNAPS中的分類,分類是通過一個task-adapted線性分類器完成的,其中查詢集圖像xix^*_i的類別概率是通過softmax(Wfθτ(xi)+b)(Wf_{\theta}^{\tau}(x^*_i)+b)計算的。通過分類器自適應網絡ψϕc\psi^c_{\phi}來計算權值WW和偏差bb[W,b]=[ψϕc(μ1)ψϕc(μ2)...ψϕc(μK)]T[W,b]=[\psi^c_{\phi}(\mu_1) \psi^c_{\phi}(\mu_2)...\psi^c_{\phi}(\mu_K)]^T,對於任務中的每個類kkψϕc\psi^c_{\phi}根據類均值μk\mu_k產生分類權重中的相應行。類均值μk\mu_k是通過對類kk的支持集樣本的特徵向量做平均池化得到的,而特徵向量是通過自適應特徵提取器fθτf^{\tau}_{\theta}提取得到的。下圖是CNAPS中分類器的結構:
在這裏插入圖片描述

2. Simple CNAPS

在Simple CNAPS中,特徵提取器的結構和CNAPS中的相同,但分類器結構是不同的。在Simple CNAPS中,直接使用馬氏距離dkd_k來計算類別概率:
在這裏插入圖片描述
其中,
在這裏插入圖片描述
QkτQ^{\tau}_k是特定於任務τ\tau和類kk的協方差矩陣。由於事先並不清楚QkτQ^{\tau}_k的值,因此需要根據任務τ\tau中支持集的feature embedding來對QkτQ^{\tau}_k進行估計。因爲支持集中的樣本數量遠遠小於特徵空間的維度,因此使用一種正則化的估計方法:
在這裏插入圖片描述
上式是通過class-within-task協方差矩陣kτ\sum^{\tau}_k,和all-classes-in-task協方差矩陣τ\sum^{\tau}進行凸組合得到的。

對於kτ\sum^{\tau}_k,通過對所有xiSkτx_i \in S^{\tau}_k的feature embedding fθτ(xi)f_{\theta}^{\tau}(x_i)進行估計得到,其中SkτS^{\tau}_kSτS^{\tau}中類標籤爲kk的樣本,也就是說kτ\sum^{\tau}_k任務中某一類的協方差矩陣
在這裏插入圖片描述
如果該類中的支持集樣本數爲1,即Skτ=1|S^{\tau}_k|=1,那麼就將kτ\sum^{\tau}_k定義爲合適大小的零矩陣。

對於τ\sum^{\tau},它的估計方式和kτ\sum^{\tau}_k一樣,只不過它使用的是支持集中的所有樣本xiSτx_i \in S^{\tau},也就是說τ\sum^{\tau}任務中所有類的協方差矩陣

對於任務τ\tau及類kk的協方差來說,採用一種確定的方法來計算它的權值:
在這裏插入圖片描述

  • 在single-shot情況下,Qkτ=0.5τ+βIQ^{\tau}_k=0.5\sum^{\tau}+\beta I,也就是說相對於任務協方差τ\sum^{\tau}增加了正則化參數β\beta的強度。當Skτ=2|S^{\tau}_k|=2時,λkτ\lambda^{\tau}_k變成了2/32/3,而QkτQ^{\tau}_k中只有部分是class-level協方差;
  • 在high-shot情況下,λkτ\lambda^{\tau}_k趨向於1,而QkτQ^{\tau}_k中基本都是class-level協方差。

這也說明,當shot的數量增加時,估計的class-within-task協方差的值也越好,從而使得QkτQ^{\tau}_k在開始時越接近kτ\sum^{\tau}_k。本文也考慮過將λkτ\lambda^{\tau}_k設置成可學習的參數,但發現這種固定形式得到的結果是最好的。下圖是Simple CNAPS中分類器的結構:
在這裏插入圖片描述

3. 一些理論

式(1)中類別概率的計算對應於一個等權指數族混合模型(equally-weighted exponential family mixture model),其中指數族分佈是通過Bregman散度來確定的:
在這裏插入圖片描述
式(2)中的平方馬氏距離是通過凸函數F(x)=12xT1xF(x)=\frac{1}{2}x^T\sum^{-1}x生成的,它對應於多元正態指數族分佈(multivariate normal exponential family distribution)。那麼式(1)就可以看成是高斯混合模型的"responsibilities":
在這裏插入圖片描述
那麼這樣就暴露出歐式距離的一個問題,如下圖所示,歐式距離對應的是Qkτ=IQ^{\tau}_k=I時的平方馬氏距離,它假設每個聚類是圍繞類均值μk\mu_k進行單位正態分佈的,如(a)所示;而平方馬氏距離在計算到聚類中心的距離時,它考慮的是聚類的協方差:
在這裏插入圖片描述


結論

本文是在CNAPS的基礎上做出了一點修改,用馬氏距離作爲距離度量,計算類別概率並進行分類,取代了CNAPS中task-adapted分類器,本文的設計更加的簡潔,並且也取得了很好的效果。作者認爲馬氏距離甚至可以應用到零樣本學習中,在以後的研究工作中也可以探索一下其它Bregman散度的有效性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章