ViT 在計算機視覺領域取得了巨大的成功,甚至大有取代 CNN 之勢。但是相比 CNN,訓練 ViT 需要更多的數(shù)據(jù),通常要在大型數(shù)據(jù)集 JFT-300M 或至少在 ImageNet 上進行預訓練,很少有人研究少量數(shù)據(jù)訓練 ViT。
最近,南京大學吳建鑫團隊提出了一種新方法,只需 2040 張圖片即可訓練 ViT。他們在 2040 張花(flowers)的圖像上從頭開始訓練,達到了 96.7% 的準確率,表明用小數(shù)據(jù)訓練 ViT 也是可行的。另外在 ViT 主干下的 7 個小型數(shù)據(jù)集上從頭開始訓練時,也獲得了 SOTA 的結果。
而且更重要的是,他們證明了,即使在小型數(shù)據(jù)集上進行預訓練,ViT 也具有良好的遷移能力,甚至可以促進對大規(guī)模數(shù)據(jù)集的訓練。
論文內容
在這篇論文中,作者提出了用于自我監(jiān)督 ViT 訓練的 IDMM(Instance Discrimination with Multi-crop and CutMix)。我們先來看一下 ViT 圖像分類網絡的基本架構:將圖像樣本 x?(i = 1, 2, …, N; N 為圖片數(shù)量)送入 ViT 中,得到一組輸出表征 z?。w?為第 j 個分類的權重。
然后,使用全連接層 W 進行分類,當類的數(shù)量等于訓練圖像的總數(shù) N 時,即參數(shù)化實例判別。
第 j 類的輸出為:
我們把 O 送入 Softmax 層,就得到一個概率分布 P???。對于實例判別,損失函數(shù)為:
對于深度聚類,其損失函數(shù)為:
可以看出,只要適當設置權重(讓 w? = ~w? ),就可以讓實例判別等價于深度聚類。
從下圖中可以看出,與其他方法相比,實例判別可以學習到更多的分布式表征,并能更好地捕捉到類內的相似性。
作者之所以選擇參數(shù)化的實例判別,還有一個重要的原因:簡單性和穩(wěn)定性。
不穩(wěn)定性是影響自監(jiān)督 ViT 訓練的一個主要問題。實例判別(交叉熵)的形式更穩(wěn)定,更容易優(yōu)化。接下來開始梯度分析,損失函數(shù)對權重求導:
其中 δ 是指示函數(shù),當 k=i 時值為 1,否則為 0。
需要注意的是,對于實例判別,類的數(shù)量 N 通常很大,而且存在對實例樣本訪問極稀少的問題。對于稀少的實例 k≠i,可以預計 P????≈0,因此?L/?w?≈0,這意味著 w?的更新頻率極低。在小數(shù)據(jù)集問題上,作者使用 CutMix 和標簽平滑,來緩解此問題。
CutMix:
標簽平滑:
最后梯度變?yōu)椋?/p>
這樣通過直接修改單次標簽,來更頻繁地更新權重矩陣,也是 ViT 監(jiān)督訓練中常用的方法。
總之,作者使用了以下策略來加強小數(shù)據(jù)集上的實例判別。
小分辨率:預訓練中的小分辨率對小數(shù)據(jù)集很有用。
多次裁剪:實例判別概括了對比損失,保證了在使用多種實例時獲取特征的對齊和統(tǒng)一性。
CutMix 和標簽平滑:有助于緩解使用實例判別時的過擬合和不經常訪問的問題。
至于為什么需要直接在目標數(shù)據(jù)集上從頭開始訓練,作者給出了 3 點原因:
1、數(shù)據(jù)
目前的 ViT 模型通常在一個大規(guī)模的數(shù)據(jù)集上進行預訓練,然后在各種下游任務中進行微調。由于缺乏典型的卷積歸納偏向,這些模型比普通的 CNN 更耗費數(shù)據(jù)。
因此從頭開始訓練 ViT,能夠用圖像總量有限的任務是至關重要的。
2、算力
大規(guī)模的數(shù)據(jù)集、大量的耗時和復雜的骨干網絡的,讓 ViT 訓練的算力成本非常昂貴。這種現(xiàn)象使 ViT 成為少數(shù)機構研究人員的特權。
3、靈活性
預訓練后再進行下游微調的模式有時會很麻煩。
例如,我們可能需要為同一任務訓練 10 個不同的模型,并將它們部署在不同的硬件平臺上,但在一個大規(guī)模的數(shù)據(jù)集上預訓練 10 個模型是不現(xiàn)實的。
在上圖中,很明顯與從頭開始訓練相比,ImageNet 預訓練的模型需要更多的參數(shù)和計算成本。
在小數(shù)據(jù)集上進行預訓練時的遷移能力。每個單元格和列中精度最高的元素分別用下劃線和粗體表示。最后,在下表中,作者評估了在不同數(shù)據(jù)集上預訓練模型的遷移精度。對角線上的單元(灰色)是在同一數(shù)據(jù)集上進行預訓練和微調。對角線外的單元格評估了這些小數(shù)據(jù)集的遷移性能。
從這張表中,我們可以看到以下幾點:
即使在小數(shù)據(jù)集上進行預訓練,ViT 也有良好的遷移能力。
與 SimCLR 和 SupCon 相比,該方法在所有這些數(shù)據(jù)集上也有更高的遷移精度。
即使預訓練的數(shù)據(jù)集和目標數(shù)據(jù)集不在同一領域,也能獲得令人驚訝的好結果。例如,在 Indoor67 上預訓練的模型在轉移到 Aircraft 上時獲得了最高的準確性。
作者簡介
本文第一作者是南京大學在讀博士曹云浩,通訊作者是南京大學人工智能學院吳建鑫教授。
吳建鑫本科和碩士畢業(yè)于南京大學計算機專業(yè),博士畢業(yè)于佐治亞理工。2013 年,他加入南京大學科學與技術系,任教授、博士生導師,曾擔任 ICCV 2015 領域主席、CVPR 2017 領域主席,現(xiàn)為 Pattern Recognition 期刊編委。
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。