核心思想
本文提出一種基於度量學習的小樣本分類算法(DSN)。作者引入了子空間的概念,爲每種類別都尋找到一個適合的子空間,然後在子空間中進行距離度量,並預測類別。首先作者介紹了幾種常見的基於度量學習的小樣本分類器,其分類方式如下圖所示
(a)成對的分類器,分別計算查詢樣本對應的特徵向量和每個支持樣本對應的特徵向量之間的距離,然後按照最近鄰的思想預測類別,如Matching Network。
(b)原型分類器,爲支持集中每個類別計算出一個原型(每個類別所有樣本特徵向量的平均值),然後根據查詢樣本的特徵向量與各個類別原型之間的距離預測類別,如Prototypical Network。
(c)非線性二元分類器,利用神經網絡學習到一個非線性的距離度量函數,如Relation Network。
(d)子空間分類器,爲每個類別計算出一個特徵空間的子空間,然後將查詢樣本的特徵向量投射到子空間中,在子空間中進行距離度量,並預測類別,如本文的算法(DSN)。DSN的處理過程如下圖所示
首先,利用特徵提取器將輸入圖像映射到特徵空間中得到對應的特徵向量,然後通過平均的方式計算每個類別對應的特徵向量均值,計算過程如下
對於每個類別都可以得到集合,對進行奇異值分解(SVD)得到,然後選取中前個維度得到截斷矩陣,由得到子空間的過程其實就是截斷奇異值分解(TSVD),其與主成分分析PCA非常類似,是一種數據降維的方法。得到每個類別對應的子空間後,可以計算查詢向量與每個類別之間的距離,計算過程如下
式中,最後利用softmax函數計算查詢樣本屬於各個類別的概率,計算過程如下
實現過程
網絡結構
特徵提取網絡採用4層卷積神經網絡或ResNet網絡
損失函數
損失函數包含兩項:分類損失和正則化項
第一項分類損失採用分類概率的負對數,是常見的操作;第二項正則化項目的是最大化各個子空間之間的距離,距離度量方式如下
根據上式可知,爲了最大化,就需要最小化
訓練策略
整個訓練過程如下
算法推廣
本文的方法還可以拓展到半監督訓練中,修改的計算方式如下
式中表示無標籤樣本
創新點
- 將特徵空間降維到特定的子空間中,並在子空間中進行距離度量
- 採用TSVD的方法生成子空間
算法評價
本文對每個類別都計算了特定的子空間,並在子空間中進行距離度量,因此作者稱其爲自適應子空間(Adaptive Subspaces)。因爲每個類別的距離度量過程都與類別相關,因此作者稱其爲動態分類器(Dynamic Classifier)。
如果大家對於深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公衆號“深視”。