從軟標籤來思考Few Shot Learning

一窺Less Than One Shot Learning的全新思路

YL-Tsai
Oct 19, 2020

前言

近期筆者看到一篇很有意思的論文,Less Than One’-Shot Learning: Learning N Classes From M < N Samples(該論文發表於2020年9月),論文作者提出了一個全新的思路來解Few Shot Learning的問題,並非從網路結構的層面進行創新,而是從標籤的定義上來提出新的觀點,從以往One-Hot-Encoding的方式拓展為軟標籤 — Probabilistic (soft) Label的方式,並以KNN(K-Nearest Neighbors)來分析軟標籤能夠帶來的效果,最終以M個樣本來學習N個類別(且M < N)作結,並提出僅在特定情況下能夠達成,其餘情況會造成不可解空間(infeasible),筆者認為從標籤的方向來切入是一個相當有趣,而且可能相當有CP值的一個觀點(只要改y),以下筆者會介紹這篇論文的主要思路,並描述一些個人感想。

硬標籤與軟標籤

硬標籤 — hard label

我們常見的One-Hot-Encoding — 給定一個長度為N的向量,其中一個標籤屬於N個類別的其中一個:

軟標籤 — soft label

給定一個長度為N的向量,軟標籤可以描述一個樣本同時屬於多個類別,以一個分佈的形式呈現。

機率化標籤 — probabilistic (soft) label

屬於軟標籤的其中一種,但所有元素加總為1,每個值為正數:

未限制軟標籤 — unrestricted (soft) label

同樣屬於軟標籤的其中一種,但元素沒有限制,可以是任何實數值,包含負數。

軟標籤樣本 soft-label prototype (SLaP)

描述一個樣本具有特徵值或是位置(X),以及帶有一個軟標籤的樣本(Y),論文作者稱之為soft-label prototype。

我們可以透過幾個簡單的數學函數建立未限制軟標籤(unrestricted soft label),機率性標籤(probabilistic soft label),以及硬標籤之間的關係,如下論文圖所示:

source

distance-weighted soft-label prototype K-Nearest Neighbors (SLaPkNN)

KNN中,透過將鄰近的k個樣本進行加權來得到預測,加權可以透過距離的倒數來加權,意即預測點距離觀測點在X越接近,Y應該也要越接近,同樣的邏輯也可以套用在軟標籤上:

假設給定一個具有M個軟標籤樣本、N個類別的資料集,所有樣本的集合以S表示:

其中Xᵢ​為第 iᵗʰ 個軟標籤的特徵矩陣或位置矩陣,且Yᵢ​是軟標籤,長度為N,現在有一個我們想要預測的特徵向量(或是位置向量)x,並且我們有k個最鄰近的向量,該預測值為:

其中ik為距離最近的k個點,並且能夠從Y*取出最大值作為預測值:

兩個樣本,三個類別

有了建立好的軟標籤樣本以及SLaPkNN,論文作者分析了多組類別數比樣本數多的決策邊界,並把他畫成圖,以下就是一個兩個樣本三個類別的例子:

以二維的特徵空間舉例 :

在以上的軟標籤樣本中,SLaPkNN取k=2,可以得到下圖的決策邊界:

source

以上例子是論文作者特別針對軟標籤樣本取一個對稱的特例:

所進行的分析,讀者們可以注意到這個例子中,兩個軟標籤樣本的第三個類別都是0,原因是因為如果第三個維度不是0,會因為樣本數過少無法畫出上圖的邊界(infeasible),論文作者指出手動設置軟標籤會存在一些限制,例如本例子,如果第三個維度不是0,那麼決策邊界會不可解(可能性太多),也就無法進行預測(也就是說,如果想要less than one shot,那麼軟標籤要特別設計才行)。

此外,論文也針對更多的樣本數以及類別數做更多的推導以及圖例 :

source
source

小結

透過軟標籤來進行Few Shot Learning是一個相當有趣的觀點,以下是筆者讀完這篇文章的一些啟發:

  1. 想要辨識爸爸的臉A以及媽媽的臉B,給一張該爸爸以及媽媽的小孩的圖片,並給定soft label為(0.7, 0.3),模型就能夠經由一張照片學習到兩個類別。
  2. 能夠修改預測規則,不使用argmax,改採用對已有的Y*進行argmin的方式來預測新的類別。
  3. 論文中所描述的場景比較像有了新的樣本,但是以舊有的標籤表示,將新的樣本作為軟標籤,這和近期transfer learning將所有不論新舊樣本都映射到NN中的embedding vector的概念有些不同。

以上就是筆者的一些感想,論文作者也表示對於軟標籤來進行Few Shot Learning很有可能是另一個研究熱點,筆者也非常期待相關的後續研究,希望點進來看到這篇論文的你,也有一些啟發!

參考資料

Less Than One’-Shot Learning: Learning N Classes From M < N Samples

SLaPkNN

--

--

YL-Tsai

Machine Learning Engineer with 4y+ experience | Exploring the data world | Recommendation, Search, Ad System.