詳細(xì)解讀Google新作 | 教你How to train自己的Transfomer模型?
1簡介
Vision Transformers(Vision transformer, ViT)在圖像分類、目標(biāo)檢測和語義分割等視覺應(yīng)用中得到了具有競爭力得性能。
與卷積神經(jīng)網(wǎng)絡(luò)相比,當(dāng)在較小的訓(xùn)練數(shù)據(jù)集上訓(xùn)練時(shí),通常發(fā)現(xiàn)Vision Transformer較弱的歸納偏差導(dǎo)致對模型正則化或數(shù)據(jù)增強(qiáng)(簡稱AugReg)的依賴增加。為了更好地理解訓(xùn)練數(shù)據(jù)量、AugReg、模型大小和計(jì)算預(yù)算之間的相互作用,作者進(jìn)行了系統(tǒng)的實(shí)驗(yàn)研究。
研究的一個(gè)結(jié)果是,作者發(fā)現(xiàn)增加的計(jì)算和AugReg相結(jié)合,可以產(chǎn)生與在更多訓(xùn)練數(shù)據(jù)上訓(xùn)練的模型具有相同性能的模型:在ImageNet-21k數(shù)據(jù)集上訓(xùn)練各種大小的ViT模型,這些模型與在更大的JFT-300M數(shù)據(jù)集上訓(xùn)練的模型比較甚至可以得到更好得結(jié)果。
2論文作者主要說了什么?
-
第一次系統(tǒng)的、大規(guī)模的研究在訓(xùn)練Vision Transformer之前,正則化、數(shù)據(jù)增強(qiáng)、模型大小和訓(xùn)練數(shù)據(jù)大小之間的相互作用,包括它們各自對達(dá)到一定性能水平所需的計(jì)算預(yù)算的影響。
-
通過遷移學(xué)習(xí)的視角來評估預(yù)訓(xùn)練模型。因此,作者描述了一個(gè)相當(dāng)復(fù)雜的訓(xùn)練設(shè)置訓(xùn)練前的Vision Transformer跨越不同的模型尺寸。實(shí)驗(yàn)得出了許多關(guān)于各種技術(shù)的影響的令人驚訝的見解,以及什么時(shí)候增強(qiáng)和正則化是有益的,什么時(shí)候無益的情況。
-
作者還對Vision Transformer的遷移學(xué)習(xí)配置進(jìn)行了深入分析。結(jié)論是在廣泛的數(shù)據(jù)集中,即使下游數(shù)據(jù)似乎與用于前訓(xùn)練的數(shù)據(jù)只有微弱的關(guān)聯(lián),遷移學(xué)習(xí)仍然是最佳的可用選擇。作者分析還表明,在執(zhí)行類似的預(yù)訓(xùn)練模型中,對于遷移學(xué)習(xí)來說,具有更多訓(xùn)練數(shù)據(jù)的模型可能比具有更多數(shù)據(jù)增強(qiáng)的模型更受青睞。
-
本文研究將有助于指導(dǎo)未來的Vision Transformer的研究,并將成為一個(gè)有效的訓(xùn)練設(shè)置的有用來源,以尋求在給定的計(jì)算預(yù)算下優(yōu)化他們的最終模型性能。
3Findings
3.1 Scaling datasets with AugReg and compute
研究的一個(gè)主要發(fā)現(xiàn)(如圖1(左)所示)是,通過使用圖像增強(qiáng)和模型正則化預(yù)訓(xùn)練一個(gè)模型,使其達(dá)到與增加數(shù)據(jù)集大小約一個(gè)數(shù)量級相同的精度。更準(zhǔn)確地說,在AugReg ImageNet-1k上訓(xùn)練的最佳模型的性能與在10倍大的普通ImageNet-21k數(shù)據(jù)集上訓(xùn)練的相同模型的性能差不多。
類似地,在AugReg ImageNet-21k上訓(xùn)練的最佳模型,當(dāng)計(jì)算量也增加時(shí),將匹配或優(yōu)于在普通JFT-300M數(shù)據(jù)集上訓(xùn)練的模型。因此,可以將這些結(jié)果與公開可用的數(shù)據(jù)集進(jìn)行匹配,可以想象,在JFT-300M上進(jìn)行更長時(shí)間的訓(xùn)練和使用AugReg可能會進(jìn)一步提高性能。
當(dāng)然,這些結(jié)果不能適用于任意小的數(shù)據(jù)集。只對ImageNet-1k的10%進(jìn)行大量數(shù)據(jù)增強(qiáng)的ResNet50訓(xùn)練可以改善結(jié)果,但不能恢復(fù)對完整數(shù)據(jù)集的訓(xùn)練。
3.2 Transfer is the better option
在這里,作者調(diào)查了對于從業(yè)者可能遇到的合理規(guī)模的數(shù)據(jù)集,是否建議嘗試使用AugReg從頭開始進(jìn)行訓(xùn)練,或者是否把時(shí)間和金錢花在遷移預(yù)訓(xùn)練模型上更好。其結(jié)果是,就大多數(shù)實(shí)際目的而言,遷移預(yù)先訓(xùn)練的模型不僅成本效益更高,而且會帶來更好的結(jié)果。
作者在一個(gè)與ImageNet-1k數(shù)據(jù)集相似大小的數(shù)據(jù)集上對小的ViT-Ti/16模型進(jìn)行了搜索,尋找一個(gè)好的訓(xùn)練策略。Resisc45包含大約3萬幅訓(xùn)練圖像,由一種非常不同的衛(wèi)星圖像組成,ImageNet-1k或ImageNet-21k都沒有很好地覆蓋這些圖像。圖1(右)和圖2顯示了這一廣泛搜索的結(jié)果。
最驚人的發(fā)現(xiàn)是,無論花費(fèi)多少訓(xùn)練時(shí)間,對于微小的Pet37數(shù)據(jù)集,似乎不可能從頭開始訓(xùn)練ViT模型,使其達(dá)到接近遷移模型的精度。此外,由于預(yù)訓(xùn)練模型可以免費(fèi)獲取,所以從業(yè)者的預(yù)訓(xùn)練成本實(shí)際上為零,只有用于遷移學(xué)習(xí)的計(jì)算損失,因此遷移預(yù)訓(xùn)練的模型同時(shí)也大大便宜。
對于更大的Resisc45數(shù)據(jù)集,這個(gè)結(jié)果仍然成立,盡管多花費(fèi)2個(gè)數(shù)量級的計(jì)算和執(zhí)行大量搜索可能接近(但達(dá)不到)預(yù)先訓(xùn)練的模型的精度。
值得注意的是,這并沒有考慮到很難量化的“exploration cost”。對于訓(xùn)練前的模型,我們強(qiáng)調(diào)那些在訓(xùn)練前驗(yàn)證集上表現(xiàn)最好的模型,可以稱為推薦模型??梢钥吹?,使用推薦的模型有很高的可能性在幾次嘗試中就能獲得良好的結(jié)果。
3.3 More data yields more generic models
通過將預(yù)訓(xùn)練模型遷移到下游任務(wù)來研究預(yù)訓(xùn)練數(shù)據(jù)集大小的影響。作者在VTAB上評估了訓(xùn)練前的模型,包括19個(gè)不同的任務(wù)。
圖3顯示了3個(gè)VTAB類別的結(jié)果:natural、specialized和structured。模型按推理時(shí)間進(jìn)行排序,模型越大推理速度越慢。
首先比較使用相同計(jì)算預(yù)算的2個(gè)模型,唯一的區(qū)別是ImageNet-1k(1.3M圖像)和ImageNet-21k (13M圖像)的數(shù)據(jù)集大小。作者實(shí)驗(yàn)對比ImageNet-1k訓(xùn)練300個(gè)epoch的模型和ImageNet-21k上訓(xùn)練30個(gè)epoch模型發(fā)現(xiàn),在ImageNet-21k上進(jìn)行預(yù)訓(xùn)練的模型3個(gè)VTAB類別上都明顯優(yōu)于ImageNet-1k。
隨著計(jì)算預(yù)算的不斷增長,作者觀察到ImageNet-21k數(shù)據(jù)集在10倍長的調(diào)度上的一致改進(jìn)。在一些幾乎已經(jīng)解決的任務(wù)中,例如花,獲得的絕對數(shù)量很小。對于剩下的任務(wù),與短期訓(xùn)練的模型相比,改進(jìn)是顯著的。
總的來說得出的結(jié)論是,數(shù)據(jù)越多,模型就越通用,這一趨勢適用于不同的任務(wù)。作者建議設(shè)計(jì)選擇使用更多的數(shù)據(jù)和一個(gè)固定的計(jì)算預(yù)算。
3.4 Prefer augmentation to regularization
目前尚不清楚在RandAugment和Mixup等數(shù)據(jù)增強(qiáng)和Dropout和randomdepth等模型正則化之間有哪些取舍。在本節(jié)的目標(biāo)是發(fā)現(xiàn)這些通用模式,當(dāng)將Vision transformer應(yīng)用到一個(gè)新任務(wù)時(shí),可以作為經(jīng)驗(yàn)規(guī)則使用。
在圖4中,作者展示了為每個(gè)單獨(dú)設(shè)置獲得的上游驗(yàn)證得分,即在更改數(shù)據(jù)集時(shí),數(shù)字是不具有可比性的。
一個(gè)單元格的顏色編碼其分?jǐn)?shù)的改善或變差,與非正則化的,未增強(qiáng)的設(shè)置,即最左邊的列。增強(qiáng)強(qiáng)度從左到右依次增大,模型容量從上到下依次增大。
第1個(gè)可見的觀察結(jié)果是,對于中等規(guī)模的ImageNet-1k數(shù)據(jù)集,任何類型的AugReg都有幫助。然而,當(dāng)使用10倍大的ImageNet-21k數(shù)據(jù)集并保持計(jì)算固定時(shí),即運(yùn)行30個(gè)epoch,任何一種AugReg都會影響除最大模型之外的所有模型的性能。只有當(dāng)計(jì)算預(yù)算增加到300個(gè)時(shí),AugReg才幫助更多的模型,盡管即使那樣,它也繼續(xù)影響較小的模型。
一般來說,增加增廣效果比增加正規(guī)化效果好得多。更具體地說,圖4中每個(gè)映射右側(cè)的細(xì)列顯示,對于任何給定的模型,其最佳正則化分?jǐn)?shù)減去最佳非正則化分?jǐn)?shù)。
在圖7中,作者通過dropout和random depth的方式向模型添加正則化時(shí),顯示了精度上的增益(綠色,正數(shù))或損失(紅色,負(fù)數(shù))。在早期的實(shí)驗(yàn)中證實(shí),兩者結(jié)合(峰值)下降概率0.1確實(shí)是最好的設(shè)置。
這表明,模型正規(guī)化主要幫助較大的模型,但是當(dāng)訓(xùn)練時(shí)間較長的情況下,特別是ImageNet-21的預(yù)訓(xùn)練,除了最大的模型它對所有的模型都有害的。
3.5 Choosing which pre-trained model to transfer
如上所述,在對ViT模型進(jìn)行預(yù)訓(xùn)練時(shí),各種正則化和數(shù)據(jù)增強(qiáng)設(shè)置會導(dǎo)致模型具有顯著不同的性能。
然后,從實(shí)踐者的觀點(diǎn)來看,一個(gè)自然的問題出現(xiàn)了:如何選擇一個(gè)模型進(jìn)一步適應(yīng)最終的應(yīng)用程序?
-
一種方法是:對所有可用的預(yù)訓(xùn)練模型進(jìn)行下游適應(yīng),然后根據(jù)下游任務(wù)的驗(yàn)證分?jǐn)?shù)選擇表現(xiàn)最好的模型。但是這在實(shí)踐中可能是相當(dāng)麻煩的。
-
另一種方法是:可以根據(jù)上游驗(yàn)證精度選擇一個(gè)單獨(dú)的預(yù)訓(xùn)練模型,然后只使用該模型進(jìn)行自適應(yīng),這要簡單得多。
在這里作者將分析這2種策略之間的權(quán)衡。在5個(gè)不同的數(shù)據(jù)集上對它們進(jìn)行了大量的預(yù)訓(xùn)練模型的比較。具體來說,在圖5(左)中強(qiáng)調(diào)了只適應(yīng)最好的預(yù)訓(xùn)練模型的簡單策略和適應(yīng)所有預(yù)訓(xùn)練模型(然后選擇最好的)的復(fù)雜策略之間的性能差異。
結(jié)果好壞參半,但總體上反映出,在大多數(shù)情況下,成本較低的策略與成本較高的策略效果相同。然而,有一些顯著的異常值,當(dāng)它有利于適應(yīng)所有的模型。
因此,作者得出結(jié)論,選擇一個(gè)基于上游分?jǐn)?shù)的單一預(yù)訓(xùn)練模型是一種具有成本效益的實(shí)用策略,并在整個(gè)論文中使用它。然而,作者也強(qiáng)調(diào),如果有額外的計(jì)算資源可用,那么在某些情況下,可以通過微調(diào)額外的預(yù)訓(xùn)練模型來進(jìn)一步提高自適應(yīng)性能。
關(guān)于ImageNet-1k數(shù)據(jù)集驗(yàn)證數(shù)據(jù)的說明
在執(zhí)行上述分析時(shí),作者發(fā)現(xiàn)在ImageNet-21k上預(yù)先訓(xùn)練并遷移到ImageNet-1k數(shù)據(jù)集的模型存在一個(gè)微小但嚴(yán)重的問題。這些模型(特別是大型模型)的驗(yàn)證分?jǐn)?shù)與觀察到的測試性能沒有很好的關(guān)聯(lián),見圖5(左)。這是因?yàn)镮mageNet-21k數(shù)據(jù)包含ImageNet-1k訓(xùn)練數(shù)據(jù),作者使用訓(xùn)練數(shù)據(jù)的一個(gè)小split來進(jìn)行評估(見3.1節(jié))。
因此,在較長訓(xùn)練計(jì)劃上的大型模型記憶了來訓(xùn)練集的數(shù)據(jù),這使得在小評估集中計(jì)算的評估指標(biāo)存在偏差。為了解決這個(gè)問題并支持公平的超參數(shù)選擇,作者使用獨(dú)立收集的ImageNetV2數(shù)據(jù)作為傳輸?shù)絀mageNet-1k的驗(yàn)證split。如圖5(右)所示。作者沒有在其他數(shù)據(jù)集中觀察到類似的問題。
作者建議將ImageNet-21k模型遷移到ImageNet-1k的研究人員遵循這一策略。
3.6 Prefer increasing patch-size to shrinking model-size
作者研究的一個(gè)意想不到的結(jié)果是,訓(xùn)練了幾個(gè)模型,它們在推理吞吐量方面大致相等,但在質(zhì)量方面差異很大。
具體地說,圖6(右)顯示了包含Tiny變體的模型比具有32-patch-size的類似快速的更大模型的性能要差得多。對于給定的分辨率,patch-size會影響self-attention執(zhí)行的token數(shù)量,因此會影響模型容量,而參數(shù)計(jì)數(shù)并不能反映模型容量。參數(shù)計(jì)數(shù)既不反映速度,也不反映容量。
4參考
[1].How to train your ViT? Data, Augmentation,and Regularization in Vision Transformers
5推薦閱讀
CVPR2021 GAN詳細(xì)解讀 | AdaConv自適應(yīng)卷積讓你的GAN比AdaIN更看重細(xì)節(jié)(附論文下載)
全新激活函數(shù) | 詳細(xì)解讀:HP-x激活函數(shù)(附論文下載)
遮擋人臉問題 | 詳細(xì)解讀Attention-Based方法解決遮擋人臉識別問題(附論文下載)
本文論文原文獲取方式,掃描下方二維碼
回復(fù)【Tr-ViT】即可獲取論文
長按掃描下方二維碼添加小助手。
可以一起討論遇到的問題
聲明:轉(zhuǎn)載請說明出處
掃描下方二維碼關(guān)注【集智書童】公眾號,獲取更多實(shí)踐項(xiàng)目源碼和論文解讀,非常期待你我的相遇,讓我們以夢為馬,砥礪前行!
