這篇論文的題目是 用于小樣本Transformers的監(jiān)督遮掩知識蒸餾
論文接收: CVPR 2023
論文地址: https://arxiv.org/pdf/2303.15466.pdf
代碼鏈接: https://github.com/HL-hanlin/SMKD
1 Motivation
1.ViT在小樣本學(xué)習(xí)(只有少量標記數(shù)據(jù)的小型數(shù)據(jù)集)中往往會 過擬合,并且由于缺乏 歸納偏置 而導(dǎo)致性能較差;
2.目前很多方法使用 自監(jiān)督學(xué)習(xí) 和 監(jiān)督學(xué)習(xí) 來緩解這個問題,但是沒有方法能很好平衡監(jiān)督和自監(jiān)督兩個的學(xué)習(xí)目標;
3.最近提出的 自監(jiān)督掩蔽知識蒸餾 方法在各個領(lǐng)域的Transfomrers取得了先進的效果。
2 Ideas
提出了一種新的基于Transformer的監(jiān)督知識蒸餾框架(SMKD)
1.將類標簽納入自監(jiān)督知識蒸餾中,以填補自監(jiān)督與監(jiān)督學(xué)習(xí)之間的空白,從而有效地利用自監(jiān)督學(xué)習(xí)的優(yōu)勢來緩解監(jiān)督訓(xùn)練的過度擬合問題;
2.在 類(全局) 和 patch(局部) 級別上都制定了監(jiān)督對比損失,允許在 類 和 patch tokens 上進行類內(nèi)知識蒸餾,以學(xué)習(xí)到效果更好的小樣本Transformer模型;
3.引入跨類內(nèi)圖像遮掩patch tokens重建的挑戰(zhàn)性任務(wù),以提高模型泛化性能。
本文結(jié)合了自監(jiān)督知識蒸餾和監(jiān)督對比學(xué)習(xí),同時引入遮掩圖像模型(MIM)
3 Related works
1.小樣本學(xué)習(xí)
FSL 中最近的方法開始較少關(guān)注元學(xué)習(xí),而更多地關(guān)注具有良好泛化能力的學(xué)習(xí)嵌入。
因此,本文提出了一個知識蒸餾框架來學(xué)習(xí)可泛化的嵌入
2.FSL 中的Vision Transformers
歸納偏置的缺乏使得 Transformer 因其數(shù)據(jù)量大的特性而臭名昭著,但仍然具有快速適應(yīng)新類別的潛力。
本文提出的方法在沒有明確納入歸納偏置的Transformer結(jié)構(gòu)依然表現(xiàn)良好
3.FSL 的自監(jiān)督SSL
(1)自監(jiān)督可以學(xué)習(xí)到對基類的較小的偏置表示,這通常會導(dǎo)致對新類的泛化能力更好
(2)兩類工作將 SSL 合并到 FSL:一種通過輔助損失將自監(jiān)督的代理任務(wù)納入標準監(jiān)督學(xué)習(xí);一種采用自監(jiān)督預(yù)訓(xùn)練、監(jiān)督訓(xùn)練兩階段來訓(xùn)練few-shot Transformers
本文相比之前的工作,沒有設(shè)計復(fù)雜的訓(xùn)練管道,而是在自監(jiān)督預(yù)訓(xùn)練模型上使用監(jiān)督訓(xùn)練,以填補自監(jiān)督和監(jiān)督知識蒸餾之間的差距。
4.SSL的遮掩圖像模型(MIM)
恢復(fù)損壞的輸入圖像中遮掩的patch級目標內(nèi)容
4 Methods
4.1 SMKD 框架
1.從跨類內(nèi)圖像(兩個圖像)分別生成兩個視圖。
2.第一個試圖應(yīng)用隨機塊遮掩,送入學(xué)生網(wǎng)絡(luò);同時第二個未遮掩試圖送入教師網(wǎng)絡(luò)。這兩個網(wǎng)絡(luò)都由一個ViT 主干的編碼器和一個帶有 3 層多層感知器 (MLP) 的投影頭組成。
3.SMKD在類和patch級別上在類內(nèi)跨試圖中蒸餾知識。
L
[
c
l
s
]
L_{[cls}]
L[cls?] 從
[
c
l
s
]
[cls]
[cls] 標記中蒸餾知識,而
L
[
p
a
t
c
h
]
L_{[patch]}
L[patch]? 通過找到具有最高相似度的匹配標記對(由紅色虛線連接)的密集對應(yīng)關(guān)系,從
[
p
a
t
c
h
]
[patch]
[patch] 標記中提取知識。
4.2 初步:自監(jiān)督知識蒸餾
具體來說,給定從訓(xùn)練集I 中均勻采樣的單個圖像 x,應(yīng)用隨機數(shù)據(jù)增強來生成兩個增強視圖 x 1 x^1 x1和 x 2 x^2 x2,然后將其輸入教師和學(xué)生網(wǎng)絡(luò)。
1. [ c l s ] [cls] [cls]標記。學(xué)生網(wǎng)絡(luò)首先生成一個 [ c l s ] [cls] [cls]標記,教師網(wǎng)絡(luò) θ t \theta_t θt? 由學(xué)生網(wǎng)絡(luò) θ s \theta_s θs?通過 指數(shù)移動平均 (EMA) 更新,教師網(wǎng)絡(luò)通過最小化 學(xué)生網(wǎng)絡(luò)和教師網(wǎng)絡(luò)在 [ c l s ] [cls] [cls]上的交叉熵損失 將其知識蒸餾到學(xué)生網(wǎng)絡(luò)
其中,
H
(
x
,
y
)
=
?
x
l
o
g
y
H(x, y) = ?x log y
H(x,y)=?xlogy
2.在[patch] 標記上執(zhí)行遮掩圖像模型(MIM)。給定一個隨機采樣的掩碼序列
m
∈
{
0
,
1
}
N
m\in\left\{0,1\right\}^N
m∈{0,1}N ,
m
i
m_i
mi? = 1 的patches被替換為可學(xué)習(xí)的標記嵌入
e
[
M
A
S
K
]
e_{\left[MASK\right]}
e[MASK]? ,從而損壞的圖像可以表示為:
這個損壞的圖像和原始未損壞的圖像分別被送入學(xué)生和教師網(wǎng)絡(luò)。
MIM 的目標是從損壞的圖像中恢復(fù)遮掩標記,這相當(dāng)于最小化學(xué)生網(wǎng)絡(luò)和教師網(wǎng)絡(luò)在 遮掩patches上 的交叉熵損失:
4.3 監(jiān)督遮掩知識蒸餾
4.3.1 提取類標記
為了將標簽信息納入此類自監(jiān)督框架,本文進一步允許從類內(nèi)跨視圖中提取有關(guān) [cls] 標記的知識。
不是對單個圖像 進行采樣并生成兩個視圖,而是現(xiàn)在我們對兩個圖像 x,y進行采樣并為每個圖像生成一個視圖。
x’ 和 y’ 分別表示為從圖像 x 和 y 生成的增強視圖,在 x’上應(yīng)用額外的隨機塊遮掩,分別送入學(xué)生和教師網(wǎng)絡(luò)。
在 [cls] 標記上的監(jiān)督對比損失變?yōu)椋?br>
當(dāng) x, y 被采樣為同一圖像 (x = y) 時,相當(dāng)于執(zhí)行自監(jiān)督遮掩知識蒸餾,即等式(1)。
在 x 和 y 表示不同圖像 (
x
≠
y
x \neq y
x=y) ,相當(dāng)于執(zhí)行監(jiān)督遮掩知識蒸餾
這樣的設(shè)計有兩個主要優(yōu)點。
(1) 可高效實施。我們不需要有意地從同一類中采樣圖像對,我們只需要在mini-batch中查看圖像,找到屬于同一類的圖像對,然后將我們的損失應(yīng)用到等式(3)中。
(2) 與以前使用監(jiān)督 或自監(jiān)督對比損失的作品不同,我們的方法遵循 SSL 作品的最新趨勢,并且避免了負樣本的需要。
4.3.2 提取patch標記
除了全局 [cls] 標記的知識蒸餾之外,提出了跨類內(nèi)圖像的掩蔽patch標記重建的挑戰(zhàn)性任務(wù),以充分利用圖像的局部細節(jié)進行訓(xùn)練。
本文基于這樣的假設(shè):對于類內(nèi)圖像,即使它們的語義信息在塊級別上可能有很大差異,但至少應(yīng)該存在一些共享相似語義的塊。
所以,對于教師網(wǎng)絡(luò)的每一個patch k(其相應(yīng)的標記嵌入定義為
f
k
t
f_k^t
fkt? ),從學(xué)生網(wǎng)絡(luò)的遮掩視圖中找到與其最相似的patch k+(其相應(yīng)的標記嵌入定義為
f
k
+
t
f_{k+}^t
fk+t? )。
由于沒有任何patch級別的標注,使用余弦相似度在學(xué)生網(wǎng)絡(luò)中的所有 [patch] 標記中找到 k 的最佳匹配標記:
patch級知識蒸餾損失現(xiàn)在變成:
其中
ω
k
+
\omega_{k+}
ωk+? 是一個標量,表示我們賦予每個損失項的權(quán)重。
本文的損失與 DenseCL 有一些相似之處。然而,差異也很明顯:
(1) 本文的損失是將他們的自監(jiān)督對比損失擴展到監(jiān)督設(shè)置中。
(2) 本文進一步結(jié)合了 MIM ,并允許遮掩patch被匹配,這使任務(wù)更加困難,并導(dǎo)致更具語義意義的patch嵌入
5 Experiments
5.1 訓(xùn)練管道
分兩個階段訓(xùn)練我們的模型:自我監(jiān)督預(yù)訓(xùn)練和監(jiān)督訓(xùn)練。
在第一階段,我們使用最近提出的 MIM 框架 [88] 進行自監(jiān)督預(yù)訓(xùn)練。
自監(jiān)督損失是方程(1)和方程(2)中 L[cls] 和
L
M
I
M
L_{MIM}
LMIM? 的總和,沒有縮放。
在第二階段,我們繼續(xù)使用方程(3)和方程(5)中的監(jiān)督對比損失
L
[
c
l
s
]
L_{\left[cls\right]}
L[cls]? 和
L
[
p
a
t
c
h
]
L_{\left[patch\right]}
L[patch]?來訓(xùn)練預(yù)訓(xùn)練模型
其中 λ 控制這patch級損失的縮放比例。
5.2 實現(xiàn)細節(jié)
列了一張表,如圖所示:
5.3 與SOTAs的比較
5.4 可視化
5.5 消融實驗
文章來源:http://www.zghlxwxcb.cn/news/detail-735617.html
通過本文的監(jiān)督對比損失設(shè)計,在類和patch級知識蒸餾,同時仍然享受不需要大batch size和負樣本的好處。
統(tǒng)一了自監(jiān)督學(xué)習(xí)和監(jiān)督對比學(xué)習(xí)的學(xué)習(xí)目標,為未來的工作使用精心設(shè)計的課程學(xué)習(xí)策略。文章來源地址http://www.zghlxwxcb.cn/news/detail-735617.html
到了這里,關(guān)于論文筆記|CVPR2023:Supervised Masked Knowledge Distillation for Few-Shot Transformers的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!