作者是Meta(原Facebook)、索邦大學的Hugo Touvron, Matthieu Cord, Hervé Jégou等人秘血。他們也是DeiT味抖、ResNet的反擊的作者。
從作者實驗可以看出直撤,這種并行化設計非竿,可能只對很深的ViT有效蜕着。當ViT只有12層時谋竖,這種設計可能對性能有害。
Three things everyone should know about Vision Transformers
https://arxiv.org/abs/2203.09795
摘要:Transformer架構在自然語言處理方面取得初步成功后承匣,在計算機視覺領域迅速獲得了發(fā)展蓖乘,為圖像分類、檢測韧骗、分割和視頻分析等任務提供了最先進的結果嘉抒。我們提供了三個基于簡單且易于實現(xiàn)的視覺Transformer變體的見解。(1)視覺Transforme 通常按順序處理的殘差層袍暴,在一定程度上可以并行高效處理些侍,而不會顯著影響精度隶症。(2) 微調(diào)注意層的權重足以使視覺Transformer適應更高的分辨率和其他分類任務。這節(jié)省了計算量岗宣,減少了微調(diào)時的峰值內(nèi)存消耗蚂会,并允許跨任務共享大部分權重。(3) 添加基于MLP的圖塊預處理層改進了基于圖塊屏蔽的類Bert自監(jiān)督訓練耗式。我們使用ImageNet-1k數(shù)據(jù)集評估這些設計選擇的影響胁住,并在ImageNet-v2測試集上確認我們的發(fā)現(xiàn)。遷移性能是通過六個較小的數(shù)據(jù)集來衡量的刊咳。
1 導言
自從引入Transformer架構[66]以來彪见,它已經(jīng)成為自然語言處理任務中的主導架構,取代了以前流行的循環(huán)架構娱挨。視覺Transformer[16](ViT)是一種簡單的Transformer余指,適用于計算機視覺任務,如圖像分類:輸入圖像被劃分為非重疊的圖塊跷坝,在線性圖塊投影層之后浪规,這些圖塊被饋送到普通的Transformer結構。與從卷積層構建的網(wǎng)絡不同探孝,Transformer在一層中提供并行處理和完整的視野笋婿。與其他基于注意力的架構(參見[4,7])一樣,Transformer最近對計算機視覺架構的設計產(chǎn)生了重大影響顿颅。計算機視覺中的許多現(xiàn)代架構直接繼承了這項工作中的部分設計缸濒,或者至少受到了Transformer最近發(fā)現(xiàn)的啟發(fā)[7,16,62]。因此粱腻,從目標檢測和分割[18]和視頻分析[1,19]到圖像生成[9,31]庇配,不同的計算機視覺任務都有了顯著的改進。
雖然視覺Transformer已經(jīng)取得了相當大的進步绍些,但對其設計和訓練程序的優(yōu)化只進行了有限的探索捞慌。在這篇論文中,我們提供了三個關于訓練視覺Transformer的見解柬批。
(1)并行視覺Transformer啸澡。
有幾部著作[20,75]提倡人們對淺層網(wǎng)絡感興趣,其原因從較低的延遲到更容易的優(yōu)化氮帐。我們提出了一個非常簡單的方法來實現(xiàn)這一點嗅虏。讓我們用MHSA表示多頭自注意殘差塊,用FFN表示殘差前饋網(wǎng)絡上沐。從下面描述的順序體系結構開始皮服,我們通過成對地重新組織相同的塊來并行化該體系結構,這可以針對任何不同數(shù)量的并行塊進行(which can be done for any different numbers of parallel blocks)。這產(chǎn)生了一個具有相同數(shù)量的參數(shù)和計算的體系結構龄广,同時更寬硫眯、更淺。這種設計允許更多的并行處理择同,簡化優(yōu)化舟铜,并根據(jù)實現(xiàn)減少延遲。
在第3節(jié)中奠衔,我們通過實驗分析了這種并行結構的性能谆刨,尤其是與順序基線相比,它如何影響精度归斤。如果足夠深痊夭,并行版本將成為一個引人注目的選擇。在某些情況下脏里,我們觀察到由于更簡單的優(yōu)化她我,精度有所提高。關于GPU上的延遲迫横,我們觀察到小批量情況下的延遲減少番舆。(注釋1:我們在文獻中沒有發(fā)現(xiàn)任何分析ViT寬度與深度對常見GPU和CPU影響的論文。)
(2)微調(diào)注意力是你所需要的矾踱。
通常的做法是在對網(wǎng)絡進行微調(diào)之前對其進行預訓練恨狈。這是支持遷移學習的標準方法,當目標任務的圖像數(shù)量有限[50,73]時呛讲,可以利用像ImageNet[56]這樣的大型通用數(shù)據(jù)集禾怠。另一個背景是改變分辨率。通常情況下贝搁,訓練的分辨率低于推理時使用的分辨率吗氏。這節(jié)省了資源,但另外雷逆,它還減少了數(shù)據(jù)增加導致的訓練圖像和測試圖像之間的尺度差異[65]弦讽。在第4節(jié)中,我們展示了在ViT的情況下膀哲,僅微調(diào)多頭注意層和凍結前饋網(wǎng)絡(FFN)層基本上就足夠了往产。這節(jié)省了計算量,并減少了訓練期間的內(nèi)存峰值等太。重要的是捂齐,這允許控制參數(shù)數(shù)量的相同F(xiàn)FN權重用于多個任務。當對不同的圖像分辨率進行微調(diào)時缩抡,對精度的影響在統(tǒng)計學上并不顯著。對于大型模型,在考慮遷移到其他分類任務時瞻想,對精度的影響是有限的压真。
(3)基于屏蔽自監(jiān)督學習的圖塊預處理。
Transformer的第一層有一個相對局部的跨度[11]蘑险,這表明它們主要表現(xiàn)為卷積滴肿。最近的一些混合結構[18,21,23]使用卷積干對輸入圖像進行預處理,以提高準確性和訓練穩(wěn)定性[71]佃迄。然而泼差,使用卷積對圖像進行預處理與最近成功的基于屏蔽的自監(jiān)督學習方法(如BeiT[3]或MAE[24])在先驗上是不兼容的。卷積會將信息傳播到各個圖塊上呵俏,從而妨礙了屏蔽預測任務堆缘。
在第5節(jié)中,我們提出了一種簡單的方法普碎,通過在圖塊預處理后應用屏蔽吼肥,使基于屏蔽的自監(jiān)督訓練方法適應圖塊預處理。然而麻车,我們的分析表明缀皱,現(xiàn)有的卷積柄與BeiT結合時并不有效。為了解決這個問題动猬,我們引入了一個分層MLP(hMLP)系統(tǒng)啤斗,它將MLP層和圖塊聚合操作交織在一起,并禁止圖塊之間的任何通信赁咙。我們的實驗表明争占,這種選擇是有效的,能夠利用BeiT自監(jiān)督預訓練和圖塊預處理的優(yōu)點序目。此外臂痕,我們的HMLP柄也是有效的VIT在監(jiān)督的情況下:它是與我們的比較最好的卷積柄。
2 背景
在本節(jié)中猿涨,我們將討論相關工作的共同點和我們的不同貢獻握童。我們還介紹了本研究中考慮的基線ViT模型,以及它們是如何訓練的叛赚。在接下來的部分中澡绩,我們將討論與我們的三個具體貢獻中的每一個更具體的相關工作。
2.1 相關工作
基于注意力的模型俺附,尤其是Transformer[66]肥卡,已被迅速應用于處理文本[6,12,40,52,66]、語音[33,44]的神經(jīng)網(wǎng)絡事镣,甚至用于更復雜的任務步鉴,如函數(shù)積分或求解微分方程[37]。在計算機視覺領域,DeTR[7]和視覺Transformer[16](ViT)在短時間內(nèi)對架構設計產(chǎn)生了深遠的影響氛琢。自ViT以來引入的大多數(shù)架構可被視為Transformer與卷積神經(jīng)網(wǎng)絡的某種形式的雜交喊递,如分層Transformer[19,21,41,67]所示,或相反阳似,由卷積神經(jīng)網(wǎng)絡與受ViT啟發(fā)的設計元素[42,63]所示骚勘,甚至多層感知器采用的設計靈感來自Transformer[14,39,47,60,61]。
在我們的案例中撮奏,我們基于Dosovitskiy的基本ViT設計俏讹。它的設計由一個小的超參數(shù)空間控制,因此不像最近的一些后續(xù)架構那樣精心設計畜吊。通過適當?shù)挠柧毘绦騕58,62,69]泽疆,它實現(xiàn)了有趣的性能/復雜性權衡。它也是多功能的:它可以有效地與分層檢測或分割框架相結合[18]定拟。重要的是于微,盡管內(nèi)置的先驗知識有限,但當與自監(jiān)督學習相結合時青自,無論是對比方法[8,10]株依,還是基于重建的技術,如BeiT[3]或其他形式的屏蔽自動編碼器[15,17,24,68,72,76]都顯示出巨大的潛力延窜。
2.2 實驗設置
ViT模型恋腕。
我們考慮最初由DooVoviksii等人提出的vanilla ViT,以及Touvon等人提出的較小的VIT模型〔62〕逆瑞。因此荠藤,我們使用基于所謂的類令牌的初始池化方法(Therefore we use the initial pooling method that is based on a so-called class token.)。我們只考慮Transformer運行在16×16塊获高。減小此圖塊大小可以改善結果哈肖,但會顯著增加模型的復雜性。
訓練程序念秧。
為了防止過度適配淤井,我們采用了現(xiàn)有的訓練設置,即Wightman等人[69]的A2程序摊趾。它使用了二進制交叉熵損失币狠,并修復了大多數(shù)超參數(shù)的設置。Wightman等人的A2程序最初是為訓練ResNet-50模型而設計的砾层,在將其用于VIT時需要進行一些修改漩绵,以獲得強大的性能并確保足夠的穩(wěn)定性:
? 與ResNet-50相比,學習率應該降低肛炮。我們將其設置為lr=4.10?3適用于ViT Ti和ViT-S止吐,至lr=3.10?3適用于ViT-B和ViT L宝踪。
? 隨機深度下降率sd:根據(jù)Touvron等人[64]的研究,我們根據(jù)模型對其進行了調(diào)整祟印。它不用于ViT Ti肴沫。我們將Vit-S的sd=0.05粟害,Vit-B的sd=0.1蕴忆,Vit-L的sd=0.4。
我們觀察到悲幅,在訓練大型模型時套鹅,LayerScale[64]顯著提高了性能,在這種情況下汰具,更長時間的訓練也是有益的卓鹿。因此,除了我們的主要基線(訓練300個epoch留荔,不使用LayerScale)吟孙,在DeiT訓練和Wightman的A2程序上(69),我們考慮另一個訓練400個epoch 與LayerScale(LS)聚蝶。
評價
除非另有規(guī)定杰妓,我們在ImageNet-1k數(shù)據(jù)集[56]上訓練我們的模型,并在其驗證集上評估top-1精度碘勉。所有實驗均以種子0進行巷挥。由于我們已經(jīng)調(diào)整了少量的超參數(shù),并且除了隨機深度之外验靡,我們在不同的模型中共享這些參數(shù)倍宾,所以我們不希望出現(xiàn)太多的過度擬合。盡管如此胜嗓,我們還是在ImageNet-V2[55](匹配頻率)上使用相同的度量來評估我們的模型高职,它提供了一個單獨的測試集,以提供對結果的補充視圖辞州。
2.3 基線
我們在表1中報告了基線結果怔锌。我們做了很少的修改,我們的訓練程序優(yōu)于現(xiàn)有的監(jiān)督模型的訓練孙技,我們認為产禾,見附錄A(表8)。請注意牵啦,我們所有的模型都使用16×16的圖塊大小亚情,如Dosovitskiy等人[16]所述。除非另有說明哈雏,我們的實驗是用224×224的圖像進行的楞件。
3????深度與寬度:平行ViT
神經(jīng)結構設計中經(jīng)常出現(xiàn)的爭論是如何平衡寬度和深度衫生。Imagenet[35,57]上第一個成功的神經(jīng)網(wǎng)絡不是很深,例如土浸,在2014年的標準中,22層GoogleNet[59]被認為是很深的黄伊。這一點在resnet[25,26]中發(fā)生了改變泪酱,對于resnet[25,26],由于存在殘余連接还最,因此越深墓阀,對優(yōu)化的阻礙就越小。引入后拓轻,一些研究人員研究了深度與寬度交易的替代選擇[13,30,75]斯撮,比如寬殘差網(wǎng)絡[75]。
最近扶叉,人們對更廣泛的體系結構重新產(chǎn)生了興趣勿锅,引起了人們的關注[20,38]。例如枣氧,非深度網(wǎng)絡[20]提出了一種具有多個并行分支的架構溢十,其設計更為復雜。在我們的工作中作瞄,我們的目標是提出一種更簡單茶宵、更靈活的替代方案,以更直接的方式建立在常規(guī)ViT的基礎上宗挥。
3.1 初步討論ViT的寬度與深度
Dosovitskiy等人[16]的ViT架構由三個數(shù)量參數(shù)化:寬度(即工作維度d)乌庶、深度和頭部數(shù)量。我們不討論后者契耿。增加深度或寬度會增加模型的容量瞒大,通常還會提高其精度。對于我們在表1[16,62]中報告的最常見的ViT模型搪桂,寬度和高度一起縮放透敌。下面,我們將討論寬度與深度的不同利弊踢械。
參數(shù)化和優(yōu)化酗电。
網(wǎng)絡越深,層的組成性(compositionality)越好内列。一旦通過殘差連接解決了優(yōu)化問題撵术,這就是ResNet的決定性優(yōu)勢之一。然而话瞧,太多的深度阻礙了優(yōu)化嫩与,即使存在殘差連接寝姿。針對ViTs[64]提出了一些解決方案,表明當使用改進的優(yōu)化程序進行訓練時划滋,Transformer受益于深度饵筑。
可分性。
在圖像分類中处坪,空間特征最終被投影[35]或匯集[25]到高維潛在向量中根资,該向量隨后被饋送到線性分類器。這個向量的維數(shù)應該足夠高稻薇,以便這些類是線性可分的嫂冻。因此胶征,對于涉及多個類的任務塞椎,它通常更大。例如睛低,在ResNet-50中案狠,當應用于CIFAR時,它的維度為512钱雷,但對于ImageNet骂铁,它的維度為2048。在ViT中罩抗,寬度與每個圖塊的工作尺寸相同拉庵,通常比ResNet小,可能會限制分離能力套蒂。此外钞支,潛在向量的維數(shù)越大,越傾向于過度擬合操刀。在這方面烁挟,容量和過度擬合之間的折衷是微妙的,取決于訓練集的大小[58]骨坑。
復雜性
在ViT中撼嗓,不同的復雜性度量受寬度和深度的影響不同。忽略圖塊預處理和最終分類層欢唾,它們對復雜性的影響可以忽略不計且警,那么我們有:
? 參數(shù)量與深度成線性正比,是寬度的二次函數(shù)礁遣。
? 計算量(由FLOPs確定)與深度成近似線性正比斑芜,與寬度的平方成正比。
? 當寬度固定亡脸、深度增加時押搪,推理時的峰值內(nèi)存是恒定的树酪,但它是寬度的二次函數(shù)。
? 寬結構的延遲在理論上更好大州,因為它們更并行续语,但實際的加速取決于實現(xiàn)和硬件。
3.2 并聯(lián)ViT
我們根據(jù)引言中提出的方案厦画,通過分組來提出并分析平坦視覺Transformer疮茄。讓我們考慮由函數(shù)、根暑、和定義的Transformer塊序列力试。而不是像通常的實現(xiàn)那樣愤惰,按四個步驟依次處理輸入:
略就,母截,
浑此,? ? (1)
我們用兩個并行操作來代替這個組合:
? ? (2)
對于給定數(shù)量的MHSA和FFN塊鄙信,這將層數(shù)減半香嗓。相反纱扭,并行處理的數(shù)量是兩倍峡迷。這種并行化背后的直覺如下:隨著網(wǎng)絡的深入颇象,任何殘差塊的貢獻伍伤,無論是還是,相對于整體功能而言都變得越來越小遣钳。因此扰魂,近似值變得越來越令人滿意,并且很容易檢查蕴茴,如果這個近似是真的劝评,等式(1)和(2)是等價的。
我們的策略不同于采用更大工作維度的Transformer荐开,這會導致精度付翁、參數(shù)、內(nèi)存和觸發(fā)器之間的不同權衡晃听,正如我們在實驗中討論的那樣百侧。與增加工作維度(如上所述,它以二次方式增加復雜性)不同能扒,我們的修改在參數(shù)和計算方面是中性(neutral)的佣渴。
根據(jù)我們是否有效地并行處理,推理時的峰值內(nèi)存使用量和延遲會被修改初斑。請注意辛润,我們可以選擇并行處理任意數(shù)量的塊,而不僅僅是兩個见秤;如果我們在每一層中處理一個塊砂竖,我們就會回到順序設計真椿。
3.3實驗
符號
我們采用之前工作[16,62]的標準命名約定,使用后綴Ti/S/B/L來識別模型的工作維度乎澄,即表1中的“寬度”列突硝。我們附加深度N以指示層對數(shù)的變化(MHSA,F(xiàn)FN)[64]置济。例如解恰,ViT-B24的寬度與ViT-B12相同,但深度是后者的兩倍浙于,即24對MHSA和FFN層护盈,而不是12對。對于我們的并行模型羞酗,我們指定了并行分支的深度和數(shù)量:ViT-B12×2的殘差模塊數(shù)量是ViT-B12的兩倍腐宋。共包括12×2=24對MHSA和FFN層。因此整慎,其復雜性與ViT-B24模型(又稱ViT-B24×1)相同脏款。
順序和并行VIT的比較。
在圖1中裤园,我們比較了具有固定復雜度的順序和并行模型的性能。我們固定的塊的總數(shù)剂府,即對MHSA和FFN層拧揽,這決定了數(shù)量的參數(shù)和FLOPs器,我們考慮不同的分支可能導致相同的總數(shù)塊腺占。例如淤袜,36可以作為順序ViT 36×1或并行ViT 18×2、12×3或9×4獲得衰伯。
我們觀察到铡羡,在并行和順序模型中,對于所有測試的模型容量意鲸,兩個并行分支的性能最好烦周。對于ViT-S60,S20×3和S30×2的性能相當怎顾,但通常使用兩個以上的并行分支在準確性方面并不有利读慎,我們不再進一步討論它們。請注意槐雾,圖1將ViT模型與相對較多的塊(36和60)進行了比較夭委。這種情況下,序列模型由于其深度而相對難以優(yōu)化募强。具有兩個分支的并行模型更容易訓練株灸,同時足夠深崇摄,可以受益于層的組成性。
在圖2中慌烧,我們考慮只有24對(MHSA配猫,F(xiàn)FN)和不同寬度的模型。在這里杏死,我們觀察到最小的模型ViT-Ti和ViT-S在其順序版本中更好泵肄。這是因為可以輕松優(yōu)化多達24層。B24×1和B12×2的性能相當淑翼。相比之下腐巢,ViT-L12×2比其順序對應物更強,這更難優(yōu)化玄括,即使我們對這種尺寸使用LS冯丙;在沒有LS的情況下,它在300個epoch 的表現(xiàn)為83%遭京。
在圖3中胃惜,我們將順序和并行的性能作為ViT-S和ViT-B的塊數(shù)的函數(shù)進行了比較。我們的觀察結果與我們之前的發(fā)現(xiàn)一致:并行版本對更難優(yōu)化的更深層次和更高容量的模型更有幫助哪雕;我們的并行化方案緩解了這個問題船殉。
優(yōu)化的影響。
在表2中斯嚎,我們提供了LayerScale[64]的結果利虫,這有助于優(yōu)化最大的模型。它改善了順序和并行模型的性能堡僻,其結果基本上接近于標準糠惫。因此,對于足夠大且經(jīng)過適當優(yōu)化的模型钉疫,順序和并行VIT大致相當硼讽。
增加模塊數(shù)量或工作維度?
表3提供了不同ViT架構之間的比較:順序架構牲阁、并行架構和工作維度更大的架構固阁。我們大致調(diào)整了參數(shù)和觸發(fā)器方面的復雜性,但這意味著工作維度更大的ViT模型在典型實現(xiàn)中具有更高的峰值內(nèi)存使用率咨油。在這兩種測試設置中您炉,順序和并行模型比工作維度更大的模型產(chǎn)生更高的精度。序列和并行模型與36個區(qū)塊具有可比性役电。由于順序模型的深度增加赚爵,在48個區(qū)塊的情況下,并行模型更好。
延遲在商品V100 GPU上冀膝,我們觀察到每個樣本處理的速度顯著加快唁奢,對于小批量和相對較小的型號,也有一些收益窝剖,見表4麻掸。這種比較基于我們的并行體系結構的一個簡單實現(xiàn),由于缺乏特定的CUDA內(nèi)核赐纱,這是次優(yōu)的脊奋。總體而言疙描,我們的測量結果表明诚隙,需要特定的硬件或內(nèi)核才能在吞吐量方面獲得令人信服的好處。
4 微調(diào)注意力是您所需要的
在本節(jié)中起胰,我們將重點介紹微調(diào)ViT模型久又,以使模型適應更大的圖像分辨率,或解決不同的下游分類任務效五。特別是地消,我們考慮一種方法,我們只微調(diào)對應于MHSA層的權重畏妖,見圖4脉执。我們從預測精度和處理復雜度、峰值內(nèi)存使用和參數(shù)計數(shù)方面分析了影響瓜客。正如我們將看到的适瓦,我們的選擇明顯優(yōu)于其他選擇,例如微調(diào)參數(shù)重FFN層谱仪。
通常以較低的分辨率訓練網(wǎng)絡,并以較高的目標分辨率對其進行微調(diào)否彩。這在訓練時節(jié)省了大量計算疯攒,并且通常還提高了網(wǎng)絡在目標分辨率下的精度[65]。這是因為它減少了在火車上看到的圖像和在測試時看到的圖像之間的差異列荔,這是由常見的數(shù)據(jù)增加引起的敬尺。微調(diào)也是一般基礎模型和遷移學習本身的范例(22, 50, 73)。最近的一項工作探索了使用各種類型的適配器模塊和少量特定于任務的參數(shù)來適應預先訓練的模型[5,29,45,46,51,54]贴浙。相反砂吞,在我們的工作中,我們專注于微調(diào)香草ViT 崎溃。
在不同分辨率下進行微調(diào)蜻直。
在表5中,我們報告了預訓練為224×224的模型在384×384分辨率下微調(diào)ViT-S、ViT-B和ViT-L的結果概而。僅微調(diào)MHSA權重可提供與ImageNet val和ImageNet-V2上的完全微調(diào)相比在標準偏差(±0.1)范圍內(nèi)的結果呼巷。當微調(diào)FFN層時,情況并非如此赎瑰,而這些層包含的參數(shù)數(shù)量是MHSA的兩倍王悍。注意,我們預先訓練的模型已經(jīng)訓練了足夠長的時間(400個epoch )餐曼,以確保收斂压储。
當以更高的分辨率進行微調(diào)而不是進行完全微調(diào)時,使用這種方法只有好處源譬,因為我們可以在參數(shù)集惋、延遲和峰值內(nèi)存使用方面免費獲得大量節(jié)約,見圖4(右面板)瓶佳。首先芋膘,微調(diào)階段需要在GPU上減少10%的內(nèi)存,這在高分辨率微調(diào)環(huán)境下尤其有趣霸饲,因為更高的圖像需要更多內(nèi)存为朋。訓練速度也提高了10%,因為計算的梯度更少厚脉。最后习寸,注意力權重大約相當于權重的三分之一。因此傻工,如果一個人想要使用多個為不同的輸入分辨率進行微調(diào)的模型霞溪,我們可以為每個額外的模型節(jié)省66%的存儲空間。
對不同的數(shù)據(jù)集進行微調(diào)中捆。
現(xiàn)在鸯匹,我們通過微調(diào)將在ImageNet上預先訓練的VIT遷移到不同的下游分類任務時,評估我們的方法泄伪。我們考慮公共基準殴蓬,其特征和參考文獻在附錄B中給出。
在表6中蟋滴,我們報告了不同微調(diào)策略的性能染厅。在這里,我們進行不同的觀察津函。首先肖粮,對于最小的數(shù)據(jù)集,即CARS和Flower尔苦,只微調(diào)MHSA層是一個很好的策略涩馆。它甚至比完全調(diào)諧更好行施。我們的解釋是,限制權重的數(shù)量具有規(guī)則化效果凌净。結論與最大的數(shù)據(jù)集更為復雜悲龟,尤其是iNaturalist,我們觀察到完全微調(diào)與我們針對ViT-S的解決方案之間存在顯著差距冰寻。這是可以預料的:在這種情況下须教,有更多的圖像可供學習,還有在微調(diào)階段之前未見過的新類斩芭。將微調(diào)限制在MHSA層只允許修改相對較少的參數(shù)轻腺。FFN層的權重增加了兩倍,因此效果更好划乖。這種限制往往會隨著更大的ViT-L模型而消失贬养,對于這些模型,MHSA的容量要大得多琴庵,因此足夠了误算。因此,我們的策略在基礎模型的典型用例中是有趣的迷殿,它是對各種下游任務進行精細調(diào)整的非常大的模型儿礼。
5 Bert自監(jiān)督學習的圖塊預處理
最初的ViT論文[16]認為在網(wǎng)絡設計中包含卷積而不是圖塊投影。最近的幾篇論文[21,23,67,70,71,74]提倡這種選擇庆寺,在體系結構中包括一個小型預處理網(wǎng)絡蚊夫,而不是一個簡單的圖塊投影。大多數(shù)被考慮的預處理子網(wǎng)都是基于卷積的懦尝,通常被稱為“卷積干”知纷。還考慮了小型Transformer[74]。
雖然開發(fā)這些圖塊預處理設計是為了提高準確性和/或穩(wěn)定性陵霉,但它們的設計和靈活性仍存在一些問題琅轧。首先,目前尚不清楚哪一種與普通Transformer結合使用時最有效踊挠。第二鹰晨,據(jù)我們所知,沒有任何工作能夠解決它們與基于圖塊屏蔽的自監(jiān)督方法的兼容性問題止毕,尤其是在類似于BERT的自動編碼器(如BeiT[3])上。在本節(jié)中漠趁,我們將嘗試回答這些問題扁凛。我們在準確性方面比較了幾種現(xiàn)有的預處理設計,并使用BeiT作者發(fā)布的代碼庫闯传,結合BeiT對其進行計算和評估谨朝。我們所做的唯一改變是在ImageNet-1k上訓練標記器,而不是使用BeiT中使用的DALL-E[53]中的標記器,該標記器在由2.5億張圖像組成的專有數(shù)據(jù)集上訓練字币。通過這種方式则披,預訓練僅基于ImageNet-1k。這允許重復性實驗和公平比較洗出,并給出同等結果[49]士复。由于現(xiàn)有的卷積設計與屏蔽相結合并不令人滿意,我們首先介紹我們自己的設計翩活。
我們的分層MLP(hMLP)系統(tǒng)如圖5所示阱洪。所有圖塊都獨立處理,線性層與非線性和重整化交錯菠镇。其設計以我們的動機為指導冗荸,即在預處理階段消除不同16×16圖塊之間的任何相互作用。即使我們屏蔽了一個圖塊利耍,它也不會像現(xiàn)有設計那樣蚌本,產(chǎn)生任何因與其他圖塊重疊的卷積而產(chǎn)生的瑕疵。因此隘梨,通過我們的hMLP解決方案程癌,我們可以在圖塊處理階段之前或之后等效地屏蔽圖塊。請注意出嘹,雖然圖塊是獨立處理的席楚,但我們的hMLP stem相當于卷積stem,其中卷積內(nèi)核的大小及其步長是匹配的税稼,在實踐中烦秩,我們使用卷積層實現(xiàn)它,請參見附錄C中的代碼郎仆。
簡而言之只祠,我們從小的2×2圖塊開始,逐漸增加它們的大小扰肌,直到它們達到16×16抛寝。在圖5中,圖塊大小的每一次增加都用“patchify”來表示曙旭,這符合像Swin Transformers這樣的分層Transformer設計的精神[41]盗舰。在我們應用GELU非線性之前,用線性投影對圖塊進行投影并進行歸一化[27]桂躏。對于標準化钻趋,我們考慮和評估兩種選擇:要么使用批處理歸一化(32)(BN)或層歸一化(LN)[2 ]。雖然BN提供了更好的折衷方案剂习,但LN在用于小批量時很有意義:它甚至可以很好地用于每個批次的單個圖像蛮位,就像在目標檢測中經(jīng)常使用的那樣较沪。
與文獻中已有的STEM相比,我們的hMLP設計并沒有顯著增加計算需求失仁。例如尸曼,我們設計的ViT-B需要17.73 GFLOPS。與使用通常的線性投影桿相比萄焦,這增加了不到1%的計算量控轿。
監(jiān)督學習中的Stem比較。
在表7中楷扬,我們對不同的閥桿設計進行了比較解幽。我們從網(wǎng)上提供的文獻中選擇了幾個原型設計。除了我們的hMLP stem烘苹,我們還考慮了標準線性投影的一些變化躲株,以評估非線性和歸一化的影響。對于標準的線性閥桿镣衡,我們還考慮了VIT-B13霜定,包括額外的對(MHSA,F(xiàn)FN)廊鸥,以允許與其他具有更多觸發(fā)器的桿的更直接的比較望浩。在這種比較中,最有效的現(xiàn)有設計是LeViT[21]的設計惰说∧サ拢考慮到標準偏差,相對于線性基線的改善是顯著的吆视,即使考慮到額外的ViT-B13層典挑,以與類似數(shù)量的失敗進行比較。我們的hMLP stem獲得了相當?shù)男阅芾舶桑珡碗s度較低您觉,并且16×16圖塊之間沒有任何交互作用。
BeiT訓練的結果授滓。
我們在表7最右邊的一欄中報告了在ImageNetval上微調(diào)的BeiT結果琳水。我們將BeiT[3]的代碼與他們的訓練過程結合使用,其中包括分層和相對詳細的微調(diào)過程般堆≡谛ⅲ可以看出,與線性基線相比淮摔,現(xiàn)有的柄并沒有提供任何改進浑玛,同時增加了計算。相比之下噩咪,我們的設計是有效的顾彰,與基線相比,top1精度提高了+0.3/+0.4胃碾,考慮到測量不確定性涨享,這一點非常重要。圖6清楚地顯示了hMLP在屏蔽自監(jiān)督學習環(huán)境中的興趣仆百,其中我們繪制了在有監(jiān)督情況下與BeiT情況下厕隧,我們的方法在5個種子上的平均性能。
6結論
在本文中俄周,我們研究了三個與視覺Transformer相關的不同主題吁讨。首先,我們研究了一種簡單但有效的并行方法峦朗,展示了一種在不顯著增加工作維度的情況下增加容量的可行替代方法建丧。這個簡單的并行設計原理是否可以應用于其他體系結構是一個有待于未來工作的探索。其次波势,我們考慮了不同的微調(diào)策略翎朱,并證明在分辨率微調(diào)的情況下,微調(diào)自注意層是足夠的尺铣。這在遷移到其他下游分類任務時也很有趣拴曲,尤其是在微調(diào)大型模型或/或遷移到具有少量訓練圖像的數(shù)據(jù)集時。最后凛忿,我們介紹了一個簡單的圖塊預處理stem澈灼,它跨多個線性層獨立處理圖塊,這些線性層與非線性和圖塊聚合交織在一起店溢。當與基于掩碼的自監(jiān)督學習(如BeiT)相結合時叁熔,它尤其有用。確認我們感謝Francisco Massa就優(yōu)化塊并行化實現(xiàn)進行的寶貴討論和見解