(附代碼)YOLOS:重新思考Transformer的泛化性能

paper: https://arxiv.org/abs/2106.00666
code: https://github.com/hustvl/YOLOS
文章依托于目標(biāo)檢測(cè)任務(wù),從最基本的ViT出發(fā),參考DETR架構(gòu)設(shè)計(jì),從ViT的預(yù)訓(xùn)練、遷移學(xué)習(xí)、模型縮放等幾個(gè)維度展開(kāi)了討論了,重點(diǎn)揭示了Transformer的遷移學(xué)習(xí)能力與泛化性能,同時(shí)引出了Transformer在模型縮放與ConvNet縮放不一致的問(wèn)題。
Abstract
Transformer能否以最少的2D空間結(jié)構(gòu)從純粹的序列到序列的角度進(jìn)行2D目標(biāo)識(shí)別呢?
為回答該問(wèn)題,我們提出了YOLOS(You Only Look at One Sequence),一系列基于樸素ViT(即盡可能少的進(jìn)行修改)的目標(biāo)檢測(cè)模型。我們發(fā)現(xiàn):在中等大小數(shù)據(jù)集ImageNet上預(yù)訓(xùn)練的YOLOS已經(jīng)足以在COCO上取得極具競(jìng)爭(zhēng)力的目標(biāo)檢測(cè)性能,比如:YOLOS-Base可以取得42.0boxAP指標(biāo)。與此同時(shí),我們還通過(guò)目標(biāo)檢測(cè)。討論了當(dāng)前預(yù)訓(xùn)練機(jī)制、模型縮放策略對(duì)于Transformer在視覺(jué)任務(wù)中的局限性。
YOLOS
在模型設(shè)計(jì)方面,我們盡可能參照原始ViT架構(gòu),并參照DETR針對(duì)目標(biāo)檢測(cè)進(jìn)行適當(dāng)調(diào)整。YOLOS可以輕易的適配不同的Transformer結(jié)構(gòu),這種簡(jiǎn)單的設(shè)置初衷不是為了更好的檢測(cè)性能,而是為了盡可能無(wú)偏的揭示Transformer在目標(biāo)檢測(cè)方面的特性。
Architecture

上圖給出了本文所提YOLOS架構(gòu)示意圖,而從ViT到Y(jié)OLOS的過(guò)渡非常簡(jiǎn)單:
YOLOS丟棄了用于圖像分類(lèi)的CLS而添加了100個(gè)隨機(jī)初始化的DET; 在訓(xùn)練階段,YOLOS采用偶匹配損失( Bipartite Matching Loss)替換了圖像分類(lèi)損失以進(jìn)行目標(biāo)檢測(cè)。
Detection Token
我們針對(duì)性的選擇隨機(jī)初始的DET作為目標(biāo)表達(dá)的代理以避免2D結(jié)構(gòu)與標(biāo)簽賦值時(shí)注入的先驗(yàn)知識(shí)存在的歸納偏置。當(dāng)在COCO上進(jìn)行微調(diào)時(shí),每次前向傳播時(shí),在DET與真實(shí)目標(biāo)之間構(gòu)建一個(gè)最優(yōu)偶匹配。該步驟起著與標(biāo)簽賦值相同的作用,但它與2D結(jié)構(gòu)無(wú)關(guān),也即是說(shuō):YOLOS不需要將ViT的輸出重解釋為2D結(jié)構(gòu)以進(jìn)行標(biāo)簽賦值。理論上來(lái)講,YOLOS可以進(jìn)行任意維目標(biāo)檢測(cè),且無(wú)需知道精確的空間結(jié)構(gòu)或者幾何結(jié)構(gòu),只要將輸入按照相同方式平展為序列即可。
Fine-tuning at Higher Resolution
當(dāng)在COCO上進(jìn)行微調(diào)時(shí),除了用于分類(lèi)和BBOX規(guī)范的MLP參數(shù)以及DET外,其他參數(shù)均由ImageNet預(yù)訓(xùn)練而來(lái)。在YOLOS中,分類(lèi)與BBOX頭采用兩層MLP實(shí)現(xiàn)且參數(shù)不共享。在微調(diào)階段,圖像具有比預(yù)訓(xùn)練更大的分辨率,我們保持塊尺寸()不變,因而導(dǎo)致了更大的序列長(zhǎng)度。我們采用了類(lèi)似ViT的方式對(duì)預(yù)訓(xùn)練位置嵌入進(jìn)行2D插值。
Inductive Bias
我們精心設(shè)計(jì)了YOLOS以最小化額外的歸納偏置注入。由ViT產(chǎn)生的歸納片偏置源自網(wǎng)絡(luò)的stem部分的塊提取以及位置嵌入的分辨率調(diào)整。除此之外,YOLOS并未在ViT上添加額外卷積。從表達(dá)學(xué)習(xí)角度,我們選擇采用DET作為目標(biāo)代理并用于最終目標(biāo)預(yù)測(cè)以避免額外的2D歸納偏置。
Comparisons with DETR
YOLOS的設(shè)計(jì)是受DETR啟發(fā)而來(lái):YOLOS采用DET作為目標(biāo)表達(dá)的代理以避免2D結(jié)構(gòu)和任務(wù)相關(guān)的先驗(yàn)知識(shí)導(dǎo)致的歸納偏置,YOLOS采用了與DETR相似的優(yōu)化方式。但同時(shí)存在幾點(diǎn)不同:
DETR采用了隨機(jī)初始化的編解碼形式的Transformer;而YOLOS則僅研究了預(yù)訓(xùn)練ViT編碼的遷移能力; DETR采用了decoder-encoder注意力并在每個(gè)decoder層添加額外輔助監(jiān)督;而YOLOS總是查看每一層的一個(gè)序列,而沒(méi)有再操作方面對(duì)塊與DET進(jìn)行區(qū)分。
Experiments
Setup
Pre-training
我們?cè)贗mageNet上采用DeiT訓(xùn)練策略對(duì)YOLOS/ViT進(jìn)行預(yù)訓(xùn)練。
Fine-tuning
我們采用類(lèi)似DETR方式在COCO數(shù)據(jù)上對(duì)YOLOS進(jìn)行微調(diào)。
Model Variants
下表給出了我們關(guān)于YOLOS的不同模型配置信息。

The Effects of Pre-training

我們通過(guò)YOLOS研究了不同預(yù)訓(xùn)練策略對(duì)于ViT的影響,結(jié)果見(jiàn)上表。從上表可以看到:
至少在遷移學(xué)習(xí)框架下,從計(jì)算效率角度來(lái)看,預(yù)訓(xùn)練是很有必要的。從Tiny與Small模型對(duì)比來(lái)看,預(yù)訓(xùn)練可以節(jié)省大量的計(jì)算耗時(shí);而且從頭開(kāi)始訓(xùn)練的模型性能要低于預(yù)訓(xùn)練模型的性能。這與愷明大神之前關(guān)于ConvNet的預(yù)訓(xùn)練研究不一致。 從真實(shí)標(biāo)簽監(jiān)督預(yù)訓(xùn)練來(lái)看,不同大小模型傾向于不同的預(yù)訓(xùn)練機(jī)制:200epoch預(yù)訓(xùn)練+300epoch微調(diào)的YOLOS-Ti仍無(wú)法匹配300epoch預(yù)訓(xùn)練的性能;而對(duì)于small模型200epoch預(yù)訓(xùn)練具有與300epoch預(yù)訓(xùn)練相當(dāng)?shù)男阅堋R腩~外的蒸餾,模型的性能可以進(jìn)一步提升1AP指標(biāo)。這是因?yàn)轭A(yù)訓(xùn)練CNN老師后模型有助于ViT更好的適配COCO。 從上述分析我們可以得出:ImageNet預(yù)訓(xùn)練結(jié)果無(wú)法精確的反應(yīng)在COCO目標(biāo)檢測(cè)上遷移學(xué)習(xí)性能。相比圖像識(shí)別中常用的遷移學(xué)習(xí)基準(zhǔn),YOLOS對(duì)于預(yù)訓(xùn)練機(jī)制更為敏感,且性能仍未達(dá)到飽和。因此,將YOLOS作為一個(gè)具有挑戰(zhàn)性的遷移學(xué)習(xí)基礎(chǔ)評(píng)價(jià)不同預(yù)訓(xùn)練策略對(duì)于ViT的影響是很合理的。
Pre-traing and Transfer Learning Perforrmance of Different Scaled Models
我們研究了不同模型縮放策略的預(yù)訓(xùn)練與遷移學(xué)習(xí)性能,比如寬度縮放w、均勻復(fù)合縮放dwr以及快速速度dwr。模型從1.2G縮放到4.5G并用于預(yù)訓(xùn)練。相關(guān)模型配置見(jiàn)前面的Table1,結(jié)果見(jiàn)下表。

從上表指標(biāo)對(duì)比可以看到:
dwr與dwr縮放均比簡(jiǎn)單的w縮放取得了更佳的精度; 關(guān)于縮放策略的屬性與CNN相一致,比如w縮放速度最友好;dwr縮放取得了最佳精度;dwr縮放速度接近w縮放,精度與dwr相當(dāng)。 由于COCO數(shù)據(jù)微調(diào)時(shí)分辨率與預(yù)訓(xùn)練分辨率不一致,此時(shí)預(yù)訓(xùn)練性能與遷移學(xué)習(xí)性能出現(xiàn)了不一致:dwr縮放具有與w縮放相當(dāng)?shù)男阅?,而dwr縮放則具有最佳性能。這種性能不一致說(shuō)明:ViT需要一種新的模型縮放策略。
Comparisons with CNN-based Object Detectors

上表對(duì)比了YOLOS與ConvNet作為骨干時(shí)的性能,從中可以看到:在Tiny模型方面,YOLOS-Ti取得比高度優(yōu)化CNN作為骨干時(shí)更佳的性能。

上表給出了YOLOS與DETR的性能對(duì)比,從中可以看到:
YOLOS-Ti具有比DETR更佳的性能; YOLOS-S-dwr縮放取得了比DETR更佳的性能; 而YOLOS-B盡管具有更多的參數(shù)量,但仍比同等大小DETR稍弱。
盡管上述結(jié)果看起來(lái)讓人很是沮喪,但是YOLOS的出發(fā)點(diǎn)并不是為了更佳的性能,而是為了精確的揭示ViT在目標(biāo)檢測(cè)方面的遷移能力。僅需要對(duì)ViT進(jìn)行非常小的修改,這種架構(gòu)即可成功的遷移到極具挑戰(zhàn)性的COCO目標(biāo)檢測(cè)基準(zhǔn)上并取得42boxAP指標(biāo)。YOLOS的這種最小調(diào)改精確地揭示了Transformer的靈活性與泛化性能。

作為一種目標(biāo)檢測(cè)器,YOLOS采用DET表示所檢測(cè)到地目標(biāo)。我們發(fā)現(xiàn):不同DET對(duì)目標(biāo)位置與尺寸比較敏感,而對(duì)目標(biāo)類(lèi)別不敏感。見(jiàn)上面Fig2與Fig3.
本文亮點(diǎn)總結(jié)
---END---
雙一流大學(xué)研究生團(tuán)隊(duì)創(chuàng)建,一個(gè)專(zhuān)注于目標(biāo)檢測(cè)與深度學(xué)習(xí)的組織,希望可以將分享變成一種習(xí)慣。
將「目標(biāo)檢測(cè)與深度學(xué)習(xí)」設(shè)為星標(biāo)★,并點(diǎn)擊右下角“在看“,解鎖推送限制,第一時(shí)間收到我們的分享。
整理不易,點(diǎn)贊三連↓
