YOLOS:重新思考Transformer的泛化性能
點擊上方“視學算法”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達
導讀
本文是華科&地平線關于Transformer的遷移學習、泛化性能方面的深度思考。重點揭示了Transformer的遷移學習能力與泛化性能,同時引出了Transformer在模型縮放與ConvNet縮放不一致的問題。

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

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

The Effects of Pre-training

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

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

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

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

作為一種目標檢測器,YOLOS采用DET表示所檢測到地目標。我們發(fā)現(xiàn):不同DET對目標位置與尺寸比較敏感,而對目標類別不敏感。見上面Fig2與Fig3.
本文亮點總結
如果覺得有用,就請分享到朋友圈吧!

點個在看 paper不斷!
