核心思想
本文提出一種基於度量學習小樣本分類算法,在CNAPS算法的基礎上,對分類器部分進行改進,引入一種新的距離度量方式,減少了參數數量並且提高了分類的準確率。下面我們首先介紹CNAPS算法。
如上圖所示,CNAPS算法包含兩個部分:特徵提取器(黑色虛線框內的部分)和分類器(紅色框內的部分)。其中特徵提取器是由帶有FiLM層的ResNet-18網絡構成的,如下圖所示
FiLM層的作用是將BN層輸出的特徵圖進行一個仿射變換,,然後再進入激活函數層。而和兩個參數則是利用特徵提取器自適應模塊生成的,該模塊也包含兩個部分:和。由一個深層網絡構成,根據支持集生成對應的任務表徵,而則是根據任務表徵生成每個殘差塊對應的和參數。經過該特徵提取網絡後得到查詢圖像和支持集圖像對應的特徵和。對於支持集中每幅圖像的特徵按照類別通過平均池化的方式得到每類圖像對應的類別特徵,然後再經過類別自適應模塊,生成分類器中每各類別對應的權重和偏置。最後利用下式得到查詢集圖像屬於各個類別的概率值
本文保留了CNAPS算法中特徵提取的部分,但改進了分類器部分,使用一種新的距離度量方式取代了CNAPS算法中的類別自適應模塊,查詢集圖像屬於各個類別的概率值計算過程如下
式中是針對類別和任務的協方差矩陣,其計算過程如下
式中表示任務中類別內各個圖像間的協方差矩陣,計算過程如下
而表示任務中所有類別的圖像之間的協方差矩陣,計算過程與相似,只不過將改爲。表示正則化參數,權重計算過程如下
當每個類別僅包含一張圖像,即時,,則主要依賴於正則化參數的取值,而隨着每個類別中包含的圖像越多,的值越接近於1,且任務中類別內各個圖像間的協方差矩陣估計的約準確,則主要依賴於。作者指出該方法不僅減少了大量的網絡參數(相對於CNAPS的分類器部分),且能夠關注到不同類別圖像之間的分佈情況,之前採用的歐式距離度量方式是假設所有類別圖像的協方差是統一的,而本文采用的方式則是考慮到不同類別的圖像其協方差是不同的,更加接近於真實情況,如下圖所示
實現過程
網絡結構
特徵提取網絡是由帶有FiLM層的ResNet-18網絡構成,分類器部分不需要網絡結構。
創新點
- 設計了新的距離度量方式,考慮不同類別圖像之間的協方差關係,取代了CNAPS算法中分類器部分
算法評價
本文是在對CNAPS算法進行的改進,雖然CNAPS算法對應的這篇文章《Fast and flexible multi-task classification using conditional neural adaptive processes》我並沒有讀過,但在本文中做了非常詳細的說明。相對於CNAPS算法,本文主要是改進了分類器部分,用一種無參數的距離度量方式取代原有的分類器網絡,在減少參數數量的同時,提高了分類的效果。而且本文中有一幅圖非常有趣,利用一個散點圖表示出各種類型的小樣本學習算法之間的關係,如下圖所示
如果大家對於深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公衆號“深視”。