論文閱讀筆記《Few-Shot Learning Through an Information Retrieval Lens》
小樣本學習&元學習經典論文整理||持續更新
核心思想
本文提出一種完全不同的小樣本學習方法(mAP-SSVM,mAP-DLM),從資訊檢索(information retrieval)的角度來解決小樣本學習問題,與之前episode中分成支援集和查詢集的方式不同,本文將batch內的每個樣本都看作一個查詢樣本,並且從其他所有樣本中檢索出與當前查詢樣本同一類別的樣本。網路輸出的是其他樣本與當前查詢樣本相似度的排序結果,為評價輸出結果的優劣,本文采用mAP作為優化的目標函式,為方便後文描述,這裡簡單介紹一下mAP。
對於資料集
B
B
B中的樣本
x
1
x_1
x1,
R
e
l
x
1
Rel^{x_1}
平均準確率
A
P
AP
AP則表示對
O
x
1
[
j
]
O^{x_1}[j]
Ox1[j]中所有的
j
j
j值對應準確率求平均值,計算過程如下
平均準確率的均值
m
A
P
mAP
mAP則是對所有的查詢樣本對應的平均準確率再求均值
本文的目標就是通過訓練使得輸出的相似度排序結果能讓
m
A
P
mAP
mAP儘可能的大,很顯然直接以mAP作為目標函式進行優化是很難實現的,因此本文引入了結構化預測(Structured Prediction)的思路來實現這一目標,結構化預測需要尋找一個評分函式
F
(
x
,
y
;
w
)
F(x,y;w)
具體到本文而言,作者首先根據mAP目標函式的需求,定義了模型輸出結果的形式,模型輸出一個結構化向量
y
k
j
i
y_{kj}^i
ykji,對於查詢樣本
i
i
i,如果樣本
k
k
k與樣本
i
i
i的相似度大於樣本
j
j
j與樣本
i
i
i的相似度,則
y
k
j
i
=
1
y_{kj}^i=1
ykji=1,否則
y
k
j
i
=
−
1
y_{kj}^i=-1
ykji=−1,特別地
y
k
k
i
=
0
y_{kk}^i= 0
ykki=0。然後定義了評分函式
F
(
x
,
y
;
w
)
F(x,y;w)
F(x,y;w)的形式
式中
P
c
i
\mathcal{P}^{c_i}
Pci表示與樣本
i
i
i類別相同的樣本集合,
N
c
i
\mathcal{N}^{c_i}
Nci表示與樣本
i
i
i類別不同的樣本集合,
φ
\varphi
φ表示餘弦相似度度量函式
式中
f
f
f表示引數為
w
w
w的特徵提取網路,對上述二式進行分析可知,當樣本
x
k
x_k
xk與
x
i
x_i
xi的餘弦相似度大於樣本
x
j
x_j
xj與
x
i
x_i
xi的餘弦相似度(即
φ
(
x
i
,
x
k
,
w
)
−
φ
(
x
i
,
x
j
,
w
)
>
0
\varphi(x_i,x_k,w)-\varphi(x_i,x_j,w)>0
φ(xi,xk,w)−φ(xi,xj,w)>0),且模型的輸出
y
k
j
i
=
1
y_{kj}^i=1
ykji=1(即模型判斷樣本
x
k
x_k
xk要比
x
j
x_j
xj與
x
i
x_i
xi更相似)時,評分函式
F
F
F的得分為正值,表示模型的輸出結果,與當前輸入樣本
x
i
,
x
j
,
x
k
x_i,x_j,x_k
xi,xj,xk"相合",且
φ
(
x
i
,
x
k
,
w
)
−
φ
(
x
i
,
x
j
,
w
)
\varphi(x_i,x_k,w)-\varphi(x_i,x_j,w)
φ(xi,xk,w)−φ(xi,xj,w)的值越大,得分越高,相合程度越高。反之當模型的輸出結果和輸入的樣本不相合時(即
(
φ
(
x
i
,
x
k
,
w
)
−
φ
(
x
i
,
x
j
,
w
)
)
(\varphi(x_i,x_k,w)-\varphi(x_i,x_j,w))
(φ(xi,xk,w)−φ(xi,xj,w))與
y
k
j
i
y_{kj}^i
ykji異號時),評分函式的得分為負值。
如上文所述,確定了評分函式
F
F
F的形式後,下面要做的就是要找到能夠使
F
F
F最大化的輸出
y
y
y了
怎麼解決這個問題呢?最直接的方法似乎是列舉法?其實該問題對於不同的任務目標,不同的評分函式都有不同的求解方式。作者指出對於本文的任務而言,輸出結果計算方法如下
並且作者還提出了一種損失增強的計算方法
上式是通過動態規劃的方式進行求解的,在另一篇文章中給出了計算方式。看到這種計算方法不僅要讓評分函式最大化,而且增加了一個額外的任務損失函式
L
L
L,本文定義的任務損失函式如下
式中
p
i
p^i
pi是一個二元的向量,其中的每個元素
p
g
i
p^i_g
pgi表示樣本
g
g
g是否與樣本
i
i
i屬於同一類別,當
p
g
i
=
1
p^i_g=1
pgi=1時表示二者屬於同一類別,否則
p
g
i
=
−
1
p^i_g=-1
pgi=−1。
p
i
p^i
pi表示訓練樣本的真實標籤結果,
p
^
i
\hat{p}^i
p^i表示模型的預測結果。
至此結構推斷的前兩個問題已經解決了,最後就是如何對評分函式中的引數
w
w
w進行優化呢?作者引入了兩種方法:結構化支援向量機(SSVM)和直接損失最小化(DLM),其目標函式與損失梯度計算方法如下所示
SSVM:
DLM:
最後就是迭代上述的過程,得到一個最優的評分函式
F
F
F,並以此選擇出最優的輸出結果
y
y
y。
實現過程
訓練策略
創新點
- 本文提出了影象檢索任務,並且以提高mAP作為目標,實現小樣本學習
- 引入了結構化推測的方法,並定義了評分函式的形式
- 引入了損失增強的方法,並定義了mAP損失函式
演算法評價
本文把影象分類任務延申為了影象檢索任務,從一堆影象中選擇出與當前查詢影象最相近的影象樣本,為實現該任務的訓練,採用了mAP做為優化的目標函式,而為了實現模型的訓練,又引入了結構化推測的方法。具體的細節內容還包括評分函式的定義,任務損失函式的定義,引數優化演算法等。本文是近期讀過的文章中比較難以理解的一篇了,主要是引入的結構化推測的方法之前並未接觸過,給整篇文章的理解增添了很大的難度,因此建議在認真研究本文之前,應該先了解下結構化推測,結構化學習的部分內容。
如果大家對於深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公眾號“深視”。