目錄:
?????ViT (原始ViT, 發(fā)表于2020年10月)
?????ImageNet1K上更好的ViT基線 (發(fā)表于2022年3月)
?? ? 擴(kuò)展ViT (擴(kuò)展到更高容量和數(shù)據(jù)常拓, 發(fā)表于2021年6月)
?????ViT (原始ViT, 發(fā)表于2020年10月)
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
https://arxiv.org/abs/2010.11929v2
https://openreview.net/pdf?id=YicbFdNTTy? ? ICLR2021
雖然Transformer架構(gòu)已經(jīng)成為自然語言處理任務(wù)的事實(shí)標(biāo)準(zhǔn)(the de-facto standard),但它在計(jì)算機(jī)視覺中的應(yīng)用仍然有限。在視覺上厂汗,注意力要么與卷積網(wǎng)絡(luò)結(jié)合使用,要么用于替換卷積網(wǎng)絡(luò)的某些組件呜师,同時(shí)保持其整體結(jié)構(gòu)娶桦。我們證明了這種對(duì)CNNs的依賴是不必要的,直接應(yīng)用于圖像塊序列的純Transformer可以很好地執(zhí)行圖像分類任務(wù)。當(dāng)對(duì)大量數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練并將其傳輸?shù)蕉鄠€(gè)中型或小型圖像識(shí)別基準(zhǔn)(ImageNet衷畦、CIFAR-100栗涂、VTAB等)時(shí),與最先進(jìn)的卷積網(wǎng)絡(luò)相比祈争,Vision Transformer(ViT)可以獲得優(yōu)異的結(jié)果斤程,同時(shí)訓(xùn)練所需的計(jì)算資源大大減少。微調(diào)代碼和預(yù)訓(xùn)練模型在:https://github.com/google-research/vision_transformer
1 引言
基于自注意的體系結(jié)構(gòu)菩混,特別是Transformers(Vaswani等人暖释,2017),已經(jīng)成為自然語言處理(NLP)的首選模型墨吓。主要方法是對(duì)大型文本語料庫進(jìn)行預(yù)訓(xùn)練球匕,然后對(duì)較小的任務(wù)特定數(shù)據(jù)集進(jìn)行微調(diào)(Devlin等人,2019年)帖烘。由于Transformers的計(jì)算效率和可擴(kuò)展性亮曹,它已經(jīng)能夠訓(xùn)練具有超過100B參數(shù)的空前規(guī)模的模型(Brown等人,2020秘症;Lepikhin等人照卦,2020年)。隨著模型和數(shù)據(jù)集的增長(zhǎng)乡摹,性能仍然沒有飽和的跡象役耕。
然而,在計(jì)算機(jī)視覺中聪廉,卷積結(jié)構(gòu)仍然占主導(dǎo)地位(LeCun等人吹害,1989;Krizhevsky等人盲再,2012年旨袒;他等人,2016年)干签。受NLP成功的啟發(fā)津辩,多部作品嘗試將CNN式架構(gòu)與自注意相結(jié)合(Wang等人,2018容劳;Carion等人喘沿,2020年),其中一些完全取代了卷積(Ramachandran等人竭贩,2019年蚜印;王等人,2020a娶视,Non-local neural networks)晒哄。后一種模型雖然在理論上是高效的睁宰,但由于使用了專門的注意力模式,因此尚未在現(xiàn)代硬件加速器上有效地?cái)U(kuò)展寝凌。因此柒傻,在大規(guī)模圖像識(shí)別中,經(jīng)典的類似于ResNets結(jié)構(gòu)仍然是最先進(jìn)的(Mahajan et al.较木,2018红符;謝等,2020年伐债;Kolesnikov等人预侯,2020年)。
受NLP中Transformer擴(kuò)展成功的啟發(fā)峰锁,我們嘗試將標(biāo)準(zhǔn)Transformer直接應(yīng)用于圖像萎馅,并進(jìn)行盡可能少的修改。為此虹蒋,我們將圖像分割為圖像塊糜芳,并將這些圖像塊的線性嵌入序列作為Transformer的輸入晃虫。圖像塊的處理方式與NLP應(yīng)用程序中的token(單詞)相同盘榨。我們以有監(jiān)督的方式訓(xùn)練圖像分類模型。
在中等規(guī)模的數(shù)據(jù)集(如ImageNet)上進(jìn)行訓(xùn)練時(shí),如果沒有很強(qiáng)的正則化,這些模型只能產(chǎn)生一般的精度,比同等規(guī)模的ResNet低幾個(gè)百分點(diǎn)。這似乎令人沮喪的結(jié)果是可以預(yù)期的:Transformer缺少CNN固有的一些歸納偏置中贝,例如平移等變和局部性黎炉,因此淀弹,當(dāng)在數(shù)據(jù)量不足的情況下進(jìn)行訓(xùn)練時(shí)薇溃,不能很好地泛化缭乘。
但是,如果模型在更大的數(shù)據(jù)集(14M-300M圖像)上進(jìn)行訓(xùn)練奴紧,情況會(huì)發(fā)生變化捷枯。我們發(fā)現(xiàn)滚秩,大規(guī)模訓(xùn)練勝過歸納偏置。我們的視覺Transformer(ViT)在足夠規(guī)模的預(yù)訓(xùn)練和遷移到數(shù)據(jù)點(diǎn)較少的任務(wù)中時(shí)铜靶,可獲得優(yōu)異的效果叔遂。當(dāng)在公共ImageNet-21k數(shù)據(jù)集或非公開的JFT-300M數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練時(shí),ViT在多個(gè)圖像識(shí)別基準(zhǔn)上接近或超過最新水平争剿。特別是已艰,最佳模型在ImageNet上的精度達(dá)到88.55%,在ImageNet ReaL上達(dá)到90.72%蚕苇,在CIFAR-100上達(dá)到94.55%哩掺,在VTAB suite(共19項(xiàng)任務(wù))上達(dá)到77.63%。
2????相關(guān)工作
Vaswani等人(2017)提出了用于機(jī)器翻譯的Transformer涩笤,并已成為許多NLP任務(wù)中最先進(jìn)的方法嚼吞。基于Transformer的大型模型通常在大型語料庫上進(jìn)行預(yù)訓(xùn)練蹬碧,然后針對(duì)手頭的任務(wù)進(jìn)行微調(diào):BERT(Devlin等人舱禽,2019)使用去噪自監(jiān)督預(yù)訓(xùn)練任務(wù),而GPT系列工作使用語言建模作為其預(yù)訓(xùn)練任務(wù)(Radford等人恩沽,2018誊稚;2019; 布朗等人,2020年)罗心。
單純地將自注意應(yīng)用于圖像需要每個(gè)像素關(guān)注其他像素里伯。由于相對(duì)于像素?cái)?shù)量的二次成本,因此無法按實(shí)際輸入大小進(jìn)行縮放渤闷。因此疾瓮,為了將Transformer應(yīng)用于圖像處理,過去曾嘗試過幾種近似方法飒箭。Parmar等人(2018年)僅在每個(gè)查詢像素的局部鄰域應(yīng)用自注意狼电,而不是全局應(yīng)用。這種局部多頭點(diǎn)積自注意塊可以完全取代卷積(Hu等人补憾,2019漫萄;Ramachandran等人,2019年盈匾;趙等人,2020年)毕骡。在另一種工作中削饵,Sparse Transformers (Child et al.岩瘦,2019)采用可伸縮的全局自注意近似,以便適用于圖像窿撬。擴(kuò)展注意力的另一種方法是將其應(yīng)用于不同大小的塊(Weissenborn等人启昧,2019年),在極端情況下劈伴,僅沿單個(gè)軸(Ho等人密末,2019年;王等人跛璧,2020a)严里。許多這些專門的注意力體系結(jié)構(gòu)在計(jì)算機(jī)視覺任務(wù)上展示了有希望的結(jié)果,但需要在硬件加速器上高效地實(shí)施復(fù)雜的工程追城。
與我們最相關(guān)的是Cordonnier等人(2020)的模型刹碾,該模型從輸入圖像中提取大小為2×2的塊,并在頂部應(yīng)用完全的自注意座柱。該模型與ViT非常相似迷帜,但我們的工作進(jìn)一步證明,大規(guī)模的預(yù)訓(xùn)練使vanilla transformers能夠與最先進(jìn)的CNN競(jìng)爭(zhēng)(甚至優(yōu)于CNN)色洞。此外戏锹,Cordonnier等人(2020年)使用了2×2像素的小圖像塊大小,這使得該模型僅適用于小分辨率圖像火诸,而我們也處理中分辨率圖像锦针。
人們還對(duì)將卷積神經(jīng)網(wǎng)絡(luò)(CNN)與自注意的形式相結(jié)合感興趣,例如通過增強(qiáng)圖像分類的特征圖(Bello等人惭蹂,2019年)或通過使用自注意進(jìn)一步處理CNN的輸出伞插,例如用于目標(biāo)檢測(cè)(Hu等人,2018年盾碗;Carion等人媚污,2020),視頻處理(Wang等人廷雅,2018耗美;Sun等人,2019)航缀,圖像分類(Wu等人商架,2020),無監(jiān)督目標(biāo)發(fā)現(xiàn)(Locatello等人芥玉,2020)蛇摸,或統(tǒng)一文本視覺任務(wù)(Chen等人,2020c灿巧;Lu等人赶袄,2019年揽涮;李等人,2019年)饿肺。
另一個(gè)最近的相關(guān)模型是圖像GPT(iGPT)(Chen等人蒋困,2020a),該模型在降低圖像分辨率和顏色空間后敬辣,將Transformer應(yīng)用于圖像像素雪标。該模型以無監(jiān)督的方式作為生成模型進(jìn)行訓(xùn)練,然后可以對(duì)結(jié)果表示進(jìn)行微調(diào)或線性探測(cè)溉跃,以提高分類性能村刨,在ImageNet上實(shí)現(xiàn)72%的最大精度。
我們的工作增加了在比標(biāo)準(zhǔn)ImageNet數(shù)據(jù)集更大范圍內(nèi)探索圖像識(shí)別的論文的數(shù)量喊积。使用額外的數(shù)據(jù)源可以實(shí)現(xiàn)標(biāo)準(zhǔn)基準(zhǔn)的最新結(jié)果(Mahajan等人烹困,2018年;Touvron等人乾吻,2019年髓梅;謝等人,2020年)绎签。此外枯饿,Sun等人(2017年)研究了CNN的性能如何隨數(shù)據(jù)集大小而變化,Kolesnikov等人(2020年)诡必;Djolonga等人(2020年)從大規(guī)模數(shù)據(jù)集(如ImageNet-21k和JFT-300M)對(duì)CNN遷移學(xué)習(xí)進(jìn)行了實(shí)證探索奢方。我們也關(guān)注后兩個(gè)數(shù)據(jù)集,但訓(xùn)練Transformer爸舒,而不是先前工作中使用的基于ResNet的模型蟋字。
3????方法
在模型設(shè)計(jì)中两蟀,我們盡可能遵循原始Transformer(Vaswani et al.,2017)震缭。這種有意設(shè)計(jì)的簡(jiǎn)單設(shè)置的一個(gè)優(yōu)點(diǎn)是赂毯,可擴(kuò)展的NLP Transformer架構(gòu)及其高效實(shí)現(xiàn)幾乎可以開箱即用。
3.1????視覺Transformer(VIT)
模型概述如圖1所示。標(biāo)準(zhǔn)Transformer接收1-Dtoken嵌入序列作為輸入欢瞪。為了處理2D圖像活烙,我們將原始形狀為[H徐裸,W遣鼓,C]的圖像reshape成展平的2維圖塊的序列(a sequence of flattened 2D patches)
,其中H重贺,W是圖像高和寬骑祟,C是通道數(shù),(P气笙,P)是每個(gè)圖塊的分辨率次企,而
是生成的圖塊的數(shù)量,這也是Transformer的有效輸入序列長(zhǎng)度潜圃。Transformer在其所有層中使用恒定的潛在向量大小
缸棵,因此我們將圖像塊展平,并使用可訓(xùn)練的線性投影將其映射到
維(等式1)谭期。我們將該投影的輸出稱為圖像塊嵌入堵第。
與BERT的[class]標(biāo)記類似,我們?yōu)榍度雸D像塊序列預(yù)先準(zhǔn)備了一個(gè)可學(xué)習(xí)的嵌入隧出,其在Transformer編碼器
輸出處的狀態(tài)用作圖像表示
(等式4)踏志。在預(yù)訓(xùn)練和微調(diào)期間,將分類頭連接到
胀瞪。分類頭在預(yù)訓(xùn)練時(shí)由一個(gè)具有一個(gè)隱藏層的MLP實(shí)現(xiàn)针余,在微調(diào)時(shí)由一個(gè)線性層實(shí)現(xiàn)。
位置嵌入將添加到圖像塊嵌入以保留位置信息凄诞。我們使用標(biāo)準(zhǔn)的可學(xué)習(xí)一維位置嵌入圆雁,因?yàn)槲覀儧]有觀察到使用更先進(jìn)的二維感知位置嵌入帶來的顯著性能提升(附錄D.4)。生成的嵌入向量序列用作編碼器的輸入帆谍。
Transformer編碼器(Vaswani等人伪朽,2017年)由交替的多頭自注意層(MSA,見附錄A)和MLP塊(等式2既忆、3)組成驱负。在每個(gè)塊之前應(yīng)用Layernorm(LN),在每個(gè)塊之后應(yīng)用殘差連接(Wang等人患雇,2019跃脊;巴耶夫斯基和奧利,2019年)苛吱。
MLP包含兩個(gè)具有GELU非線性的層
歸納偏置酪术。
我們注意到,視覺Transformer比CNN具有更少的圖像特定歸納偏置。在CNN中绘雁,局部性橡疼、二維鄰域結(jié)構(gòu)和平移等變被利用到整個(gè)模型的每一層中。在ViT中庐舟,只有MLP層是局部的和平移等變的欣除,而自注意層是全局的。二維鄰域結(jié)構(gòu)的使用非常少:在模型開始時(shí)挪略,將圖像切割成小塊历帚,并在微調(diào)時(shí)調(diào)整不同分辨率圖像的位置嵌入(如下所述)。除此之外杠娱,初始化時(shí)的位置嵌入沒有關(guān)于圖像塊2D位置的信息挽牢,并且圖像塊之間的所有空間關(guān)系都必須從頭開始學(xué)習(xí)。
混合結(jié)構(gòu)摊求。
作為原始圖像塊的替代方案禽拔,輸入序列可以由CNN的特征圖形成(LeCun等人,1989)室叉。在該混合模型中睹栖,將圖像塊嵌入投影(等式1)應(yīng)用于從CNN特征圖中提取的圖像塊。作為一種特殊情況太惠,圖像塊可以具有空間大小1x1磨淌,這意味著通過簡(jiǎn)單地展平特征圖的空間維度并投影到Transformer維度來獲得輸入序列。如上所述凿渊,添加了分類輸入嵌入和位置嵌入梁只。
3.2微調(diào)和更高的分辨率
通常,我們?cè)诖笮蛿?shù)據(jù)集上預(yù)訓(xùn)練ViT埃脏,并對(duì)(較小的)下游任務(wù)進(jìn)行微調(diào)搪锣。為此,我們移除預(yù)訓(xùn)練好的預(yù)測(cè)頭彩掐,并附加一個(gè)零初始化的D×K前饋層构舟,其中K是下游類的數(shù)量。以比預(yù)訓(xùn)練更高的分辨率進(jìn)行微調(diào)通常是有益的(Touvron等人堵幽,2019年狗超;Kolesnikov等人,2020年)朴下。當(dāng)饋送更高分辨率的圖像時(shí)努咐,我們保持圖像塊大小不變,這會(huì)導(dǎo)致更大的有效序列長(zhǎng)度殴胧。Vision Transformer可以處理任意序列長(zhǎng)度(最多內(nèi)存限制)渗稍,但是佩迟,預(yù)訓(xùn)練的位置嵌入可能不再有意義。因此竿屹,我們根據(jù)預(yù)訓(xùn)練位置嵌入在原始圖像中的位置报强,對(duì)其執(zhí)行2D插值。請(qǐng)注意拱燃,此分辨率調(diào)整和圖像塊提取是手動(dòng)將圖像2D結(jié)構(gòu)的歸納偏置注入視覺Transformer的唯一點(diǎn)秉溉。
4????實(shí)驗(yàn)
我們?cè)u(píng)估了ResNet、vision transformer(ViT)和hybrid的表征學(xué)習(xí)能力扼雏。為了理解每個(gè)模型的數(shù)據(jù)需求坚嗜,我們對(duì)不同大小的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,并評(píng)估許多基準(zhǔn)任務(wù)诗充。當(dāng)考慮到預(yù)訓(xùn)練模型的計(jì)算成本時(shí),ViT表現(xiàn)非常出色诱建,以較低的預(yù)訓(xùn)練成本在大多數(shù)識(shí)別基準(zhǔn)上達(dá)到了最先進(jìn)的水平蝴蜓。最后,我們使用自監(jiān)督進(jìn)行了一個(gè)小實(shí)驗(yàn)俺猿,表明自監(jiān)督的ViT對(duì)未來是有希望的茎匠。
4.1 設(shè)置
數(shù)據(jù)集。
為了探索模型的可擴(kuò)展性押袍,我們使用了ILSVRC-2012 ImageNet數(shù)據(jù)集诵冒,該數(shù)據(jù)集包含1k類和130萬幅圖像(我們?cè)谙挛闹袑⑵浞Q為ImageNet),其超集ImageNet-21k包含21k類和14M圖像(鄧等人谊惭,2009年)汽馋,JFT(孫等人,2017年)包含18k類和303M高分辨率圖像圈盔。我們按照Kolesnikov等人(2020年)的要求豹芯,根據(jù)下游任務(wù)的測(cè)試集主籍,對(duì)預(yù)訓(xùn)練數(shù)據(jù)集進(jìn)行去重磺浙。我們將在這些數(shù)據(jù)集上訓(xùn)練的模型遷移到幾個(gè)基準(zhǔn)任務(wù)中:原始驗(yàn)證集標(biāo)簽上的ImageNet和清理后的ReaL標(biāo)簽(Beyer等人只锻,2020年)油航、CIFAR-10/100(Krizhevsky袜硫,2009年)智厌、Oxford IIIT Pets(Parkhi等人纪铺,2012年)和Oxford Flowers-102(Nilsback&Zisserman粱快,2008年)娩梨。對(duì)于這些數(shù)據(jù)集沿腰,預(yù)處理遵循Kolesnikov et al.(2020年)
我們還評(píng)估了19項(xiàng)任務(wù)VTAB分類套件(翟等人,2019b)姚建。VTAB評(píng)估向不同任務(wù)的低數(shù)據(jù)遷移矫俺,每個(gè)任務(wù)使用1000個(gè)訓(xùn)練示例。這些任務(wù)分為三組:自然任務(wù)——如上述任務(wù)、Pets厘托、CIFAR等友雳。專業(yè)任務(wù)——醫(yī)學(xué)和衛(wèi)星圖像,以及結(jié)構(gòu)化任務(wù)——需要幾何理解的任務(wù)铅匹,如定位押赊。
模型變體。
我們將ViT配置基于用于BERT的配置(Devlin等人包斑,2019)流礁,如表1所示。直接采用BERT的“Base”和“Large”模型罗丰,并添加了更大的“Huge模型神帅。在下文中,我們使用簡(jiǎn)短的符號(hào)表示模型大小和輸入補(bǔ)丁大忻鹊帧:例如找御,ViT-L/16表示輸入的圖塊的分辨率是16×16,型號(hào)為“Large”绍填。請(qǐng)注意霎桅,Transformer的序列長(zhǎng)度與圖像塊大小的平方成反比,因此圖像塊大小越小的模型計(jì)算成本越高讨永。
對(duì)于基線CNN滔驶,我們使用ResNet(He等人,2016年)卿闹,但將批量歸一化層(Ioffe&Szegedy揭糕,2015年)替換為組歸一化層(Wu&He,2018年)比原,并使用常規(guī)卷積(Qiao等人插佛,2019年)。這些修改改進(jìn)了遷移(Kolesnikov等人量窘,2020年)雇寇,我們將修改后的模型稱為“ResNet(BiT)”。對(duì)于混合體蚌铜,我們將中間特征映射以一個(gè)“像素”的圖像塊大小提供給ViT锨侯。為了試驗(yàn)不同的序列長(zhǎng)度,我們要么(i)獲取常規(guī)ResNet50的第4階段輸出冬殃,要么(ii)移除第4階段囚痴,在第3階段增加相同數(shù)量的層(保持總層數(shù)),然后獲取第3階段輸出审葬。選項(xiàng)(ii)導(dǎo)致序列長(zhǎng)度增加4倍深滚,還有更昂貴的ViT型號(hào)奕谭。
訓(xùn)練和微調(diào)。
我們使用β1=0.9痴荐、β2=0.999血柳、批量為4096的Adam(Kingma&Ba,2015)對(duì)所有模型(包括Resnet)進(jìn)行訓(xùn)練生兆,并應(yīng)用0.1的高權(quán)重衰減难捌,我們發(fā)現(xiàn)這對(duì)所有模型的遷移非常有用(附錄D.1顯示,與常規(guī)做法相比鸦难,Adam在我們的設(shè)置中對(duì)Resnet的效果略好于SGD)根吁。我們使用線性學(xué)習(xí)率預(yù)熱和衰減,詳見附錄B.1合蔽。對(duì)于微調(diào)击敌,我們使用帶有動(dòng)量的SGD,批量512辈末,對(duì)于所有型號(hào)愚争,請(qǐng)參見附錄B.1.1。對(duì)于表2中的ImageNet結(jié)果挤聘,我們?cè)诟叻直媛氏逻M(jìn)行了微調(diào):ViT-L/16為512,ViT-H/14為518捅彻,并且還使用了Polyak&Juditsky(1992)的平均做法组去,系數(shù)為0.9999(Ramachandran等人,2019步淹;王等人从隆,2020b)。
度量缭裆。
我們報(bào)告下游數(shù)據(jù)集的少樣本或微調(diào)結(jié)果键闺。微調(diào)精度捕獲每個(gè)模型在各自數(shù)據(jù)集上微調(diào)后的性能。通過解決將訓(xùn)練圖像子集的(凍結(jié))表示映射到目標(biāo)向量的常規(guī)最小二乘回歸問題澈驼,獲得少樣本精度辛燥。(Few-shot accuracies are obtained by solving a regularized least-squares regression problem that maps the (frozen) representation of a subset of training images to?{?1, 1}^K?target vectors)這個(gè)公式允許我們恢復(fù)精確的閉式解。以閉合形式恢復(fù)精確解缝其。雖然我們主要關(guān)注微調(diào)性能挎塌,但我們有時(shí)使用線性少樣本精度進(jìn)行快速動(dòng)態(tài)評(píng)估,因?yàn)槲⒄{(diào)成本太高内边。
4.2????與最新技術(shù)的比較
首先榴都,我們將我們最大的模型——ViT-H/14和ViT-L/16——與文獻(xiàn)中最先進(jìn)的CNN進(jìn)行比較。第一個(gè)比較點(diǎn)是Big Transfer(BiT)(Kolesnikov et al.漠其,2020)嘴高,它使用大的ResNets執(zhí)行有監(jiān)督的遷移學(xué)習(xí)竿音。第二個(gè)是Noisy Student (Xie et al.,2020)拴驮,這是一個(gè)使用ImageNet和JFT300M上的半監(jiān)督學(xué)習(xí)(去除標(biāo)簽)訓(xùn)練的大型EfficientNet春瞬。目前,在ImageNet和本文報(bào)告的其他數(shù)據(jù)集上莹汤,Noisey Student是最先進(jìn)的快鱼。所有模型都在TPUv3硬件上進(jìn)行了訓(xùn)練,我們報(bào)告了對(duì)每個(gè)模型進(jìn)行預(yù)訓(xùn)練所需的TPUv3-core-days纲岭,即用于訓(xùn)練的TPU v3核數(shù)量(每個(gè)芯片2個(gè))乘以訓(xùn)練時(shí)間(以天為單位)抹竹。
表2顯示了結(jié)果。在JFT-300M上預(yù)訓(xùn)練的較小ViT-L/16模型在所有任務(wù)上都優(yōu)于BiT-L(在同一數(shù)據(jù)集上預(yù)訓(xùn)練)止潮,同時(shí)訓(xùn)練所需的計(jì)算資源大大減少窃判。更大的型號(hào)ViT-H/14進(jìn)一步提高了性能,特別是在更具挑戰(zhàn)性的數(shù)據(jù)集上–ImageNet喇闸、CIFAR-100和VTAB suite.袄琳。有趣的是,該模型的預(yù)訓(xùn)練所需的計(jì)算量仍然大大低于現(xiàn)有技術(shù)水平燃乍。然而唆樊,我們注意到,預(yù)訓(xùn)練的效率可能不僅受到架構(gòu)選擇的影響刻蟹,還受到其他參數(shù)的影響逗旁,如訓(xùn)練計(jì)劃、優(yōu)化器舆瘪、權(quán)重衰減等片效。我們?cè)诘?.4節(jié)中對(duì)不同架構(gòu)的性能與計(jì)算進(jìn)行了受控研究。最后英古,在公共ImageNet-21k數(shù)據(jù)集上預(yù)訓(xùn)練的ViT-L/16模型在大多數(shù)數(shù)據(jù)集上也表現(xiàn)良好淀衣,同時(shí)預(yù)訓(xùn)練所需資源較少:它可以在大約30天內(nèi)使用8個(gè)核的標(biāo)準(zhǔn)云TPUv3進(jìn)行訓(xùn)練。
圖2將VTAB任務(wù)分解為各自的組召调,并與該基準(zhǔn)上以前的SOTA方法進(jìn)行比較:BiT膨桥、VIVI——在ImageNet和Youtube上共同訓(xùn)練的ResNet(Tschannen等人,2020年)和S4L——在ImageNet上監(jiān)督加半監(jiān)督學(xué)習(xí)(翟等人某残,2019a)国撵。ViT-H/14在自然和結(jié)構(gòu)化任務(wù)上的性能優(yōu)于BiT-R152x4和其他方法。就專業(yè)任務(wù)上玻墅,top-2模型的性能相似介牙。
4.3????預(yù)訓(xùn)練數(shù)據(jù)要求
Vision Transformer在對(duì)大型JFT-300M數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練時(shí)表現(xiàn)良好。與ResNet相比澳厢,視覺的歸納偏置更少环础,那么數(shù)據(jù)集的大小有多重要囚似?我們進(jìn)行了兩個(gè)系列的實(shí)驗(yàn)。
首先线得,我們?cè)谠絹碓酱蟮臄?shù)據(jù)集上預(yù)訓(xùn)練ViT模型:ImageNet饶唤、ImageNet-21k和JFT300M。為了提高較小數(shù)據(jù)集的性能贯钩,我們優(yōu)化了三個(gè)基本正則化參數(shù)——權(quán)重衰減募狂、dropou和標(biāo)簽平滑。圖3顯示了微調(diào)到ImageNet后的結(jié)果(其他數(shù)據(jù)集的結(jié)果如表5所示)角雷。當(dāng)在最小的數(shù)據(jù)集ImageNet上進(jìn)行預(yù)訓(xùn)練時(shí)祸穷,ViT-Large模型與ViT-Base模型相比表現(xiàn)不佳,盡管(適度)正則化勺三。在ImageNet-21k預(yù)訓(xùn)練中雷滚,他們的表現(xiàn)相似。只有使用JFT-300M吗坚,我們才能看到更大模型的全部好處祈远。圖3還顯示了不同大小的BiT模型所跨越的性能區(qū)域。BiT CNN在ImageNet上的性能優(yōu)于ViT商源,但在更大的數(shù)據(jù)集上车份,ViT更佳。
其次牡彻,我們?cè)?M躬充、30M和90M的隨機(jī)子集以及完整的JFT300M數(shù)據(jù)集上訓(xùn)練我們的模型。我們不在較小的子集上執(zhí)行額外的正則化讨便,并且對(duì)所有設(shè)置使用相同的超參數(shù)。通過這種方式以政,我們?cè)u(píng)估內(nèi)在的模型屬性霸褒,而不是正則化的效果。然而盈蛮,我們確實(shí)使用提前停止废菱,并報(bào)告在訓(xùn)練期間達(dá)到的最佳驗(yàn)證準(zhǔn)確性。為了節(jié)省計(jì)算抖誉,我們報(bào)告了few-shot的線性精度殊轴,而不是完全微調(diào)精度。圖4包含了結(jié)果袒炉。在較小的數(shù)據(jù)集上旁理,Vision Transformers相比計(jì)算量相當(dāng)?shù)腞esnet,更過擬合我磁。例如孽文,ViT-B/32比ResNet50稍快驻襟;它在9M子集上的性能更差,但在90M+子集上的性能更好芋哭。ResNet152x2和ViT-L/16也是如此沉衣。這一結(jié)果強(qiáng)化了這樣一種直覺,即卷積歸納偏差對(duì)于較小的數(shù)據(jù)集是有用的减牺,但對(duì)于較大的數(shù)據(jù)集豌习,直接從數(shù)據(jù)中學(xué)習(xí)相關(guān)模式就足夠了,甚至是有益的拔疚。
總的來說肥隆,ImageNet上的few-shot結(jié)果(圖4)以及VTAB上的低數(shù)據(jù)結(jié)果(表2)對(duì)于非常低的數(shù)據(jù)遷移似乎是有希望的。進(jìn)一步分析ViT的few-shot特性是未來工作的一個(gè)令人振奮的方向草雕。
4.4 擴(kuò)展研究
通過評(píng)估JFT-300M的遷移性能巷屿,我們對(duì)不同模型進(jìn)行了受控?cái)U(kuò)展研究。在此設(shè)置中墩虹,數(shù)據(jù)大小不會(huì)限制模型的性能嘱巾,我們?cè)u(píng)估每個(gè)模型的性能與預(yù)訓(xùn)練成本。模型集包括:7個(gè)RESNET诫钓,R50x1旬昭、R50x2、R101x1菌湃、R152x1问拘、R152x2,預(yù)訓(xùn)練7個(gè)epochs惧所,另外R152x2和R200x3預(yù)訓(xùn)練14個(gè)epochs骤坐;6個(gè)視覺Transformer,ViT-B/32下愈、B/16纽绍、L/32、L/16势似,預(yù)訓(xùn)練7個(gè)epochs拌夏,另外,L/16和H/14預(yù)訓(xùn)練14個(gè)epochs履因;5個(gè)混合結(jié)構(gòu)障簿,R50+ViT-B/32、B/16栅迄、L/32站故、L/16,預(yù)訓(xùn)練7個(gè)epochs霞篡,加上R50+ViT-L/16預(yù)訓(xùn)練14個(gè)epochs(對(duì)于混合結(jié)構(gòu)世蔗,型號(hào)名稱末尾的數(shù)字代表的不是圖塊大小端逼,而是ResNet主干中的總體下采樣率total dowsampling ratio)。
圖5包含了遷移性能與總預(yù)訓(xùn)練計(jì)算(有關(guān)計(jì)算成本的詳細(xì)信息污淋,請(qǐng)參見附錄D.4)顶滩。每個(gè)模型的詳細(xì)結(jié)果見附錄中的表6〈绫可以觀察到一些模式礁鲁。首先,視覺Transformers在性能/計(jì)算權(quán)衡方面占主導(dǎo)地位赁豆。ViT使用大約2到4倍更少的計(jì)算以達(dá)到相同的性能(在5個(gè)數(shù)據(jù)集上平均)仅醇。其次,混合模型在較小的計(jì)算預(yù)算下略優(yōu)于ViT魔种,但在較大的模型中析二,差異消失。這一結(jié)果有點(diǎn)令人驚訝节预,因?yàn)槿藗兛赡芷谕矸e局部特征處理能夠在任何大小的ViT中提供幫助叶摄。第三,視覺Transformer似乎不會(huì)在我們嘗試的這些范圍內(nèi)飽和安拟,從而激發(fā)未來的擴(kuò)展努力蛤吓。
4.5????檢查視覺Transformer
為了開始理解Vision Transformer如何處理圖像數(shù)據(jù),我們分析了其內(nèi)部表示糠赦。視覺Transformer的第一層線性地將展平的圖像塊投影到較低維空間(等式1)会傲。圖7(左)顯示了習(xí)得的嵌入濾波器的top principal成分。這些組件類似于每個(gè)圖像塊內(nèi)精細(xì)結(jié)構(gòu)的低維表示的合理的偏置函數(shù)拙泽。
投影后淌山,一個(gè)習(xí)得的位置編碼被添加到圖塊表示中。圖7(中間)顯示顾瞻,模型會(huì)以位置編碼的相似性來學(xué)習(xí)圖像內(nèi)的距離艾岂,即越近的圖像塊往往具有更相似的位置嵌入(Figure 7 (center) shows that the model learns to encode distance within the image in the similarity of position embeddings, i.e. closer patches tend to have more similar position embeddings.)。此外朋其,行-列結(jié)構(gòu)出現(xiàn);同一行/列中的圖塊具有類似的嵌入脆炎。最后,對(duì)于較大的網(wǎng)格几蜻,正弦結(jié)構(gòu)有時(shí)很明顯(附錄D)喇潘。位置嵌入學(xué)習(xí)表示2D圖像拓?fù)浣忉屃藶槭裁慈斯ぴO(shè)計(jì)的2D感知嵌入變體不能產(chǎn)生改進(jìn)(附錄D.4)。
自注意使ViT能夠在整個(gè)圖像中整合信息絮吵,即使是在最底層。我們調(diào)查網(wǎng)絡(luò)在多大程度上利用了這種能力莺戒。具體來說伴嗡,我們根據(jù)注意力權(quán)重計(jì)算圖像空間中整合信息的平均距離(圖7,右圖)从铲。這種“注意距離”類似于CNN中的感受野大小瘪校。我們發(fā)現(xiàn),即使在最底層名段,一些注意力頭也會(huì)關(guān)注圖像的大部分區(qū)域阱扬,這表明模型確實(shí)使用了全局集成信息的能力。其他注意頭在低層的注意距離一直很小吉嫩。這種高度局部化的注意力在混合結(jié)構(gòu)(前幾層ResNet价认,后面再接著Transformer)中不太明顯(圖7,右圖)自娩,這表明它可能與CNN中的早期卷積層具有類似的功能用踩。此外,注意距離隨著網(wǎng)絡(luò)深度的增加而增加忙迁。全局地(Globally)脐彩,我們發(fā)現(xiàn)該模型關(guān)注與分類語義相關(guān)的圖像區(qū)域(圖6)。
4.6自監(jiān)督
Transformers在NLP任務(wù)中表現(xiàn)出令人印象深刻的性能姊扔。然而惠奸,他們的大部分成功不僅源于其出色的可擴(kuò)展性,還源于大規(guī)模的自監(jiān)督預(yù)訓(xùn)練(Devlin等人恰梢,2019年佛南;Radford等人,2018年)嵌言。我們還模擬了BERT中使用的屏蔽語言建模任務(wù)嗅回,對(duì)用于自監(jiān)督的屏蔽圖像塊預(yù)測(cè)進(jìn)行了初步探索。通過自監(jiān)督預(yù)訓(xùn)練摧茴,我們較小的ViT-B/16模型在ImageNet上實(shí)現(xiàn)了79.9%的準(zhǔn)確率绵载,與從頭開始的訓(xùn)練相比顯著提高了2%,但仍落后于監(jiān)督預(yù)訓(xùn)練4%。附錄B.1.2包含更多詳細(xì)信息娃豹。我們將對(duì)比預(yù)訓(xùn)練的探索(Chen等人师幕,2020b瑞佩;He等人晨另,2020年档玻;Bachman等人,2019年定续;Henaff等人谍咆,2020年)留給未來的工作。
5????結(jié)論
我們探索了Transformer在圖像識(shí)別中的直接應(yīng)用私股。與以前在計(jì)算機(jī)視覺中使用自注意的工作不同摹察,除了最初的圖像塊提取步驟外,我們沒有在體系結(jié)構(gòu)中引入圖像特定的歸納偏置倡鲸。相反供嚎,我們將圖像解釋為一系列圖塊,并使用NLP中使用的標(biāo)準(zhǔn)Transformer編碼器對(duì)其進(jìn)行處理峭状。這種簡(jiǎn)單但可擴(kuò)展的策略在與大型數(shù)據(jù)集的預(yù)訓(xùn)練相結(jié)合時(shí)出人意料地有效克滴。因此,Vision Transformer在許多圖像分類數(shù)據(jù)集上都達(dá)到或超過了最新水平优床,同時(shí)預(yù)訓(xùn)練成本相對(duì)較低劝赔。雖然這些初步結(jié)果令人鼓舞,但仍然存在許多挑戰(zhàn)胆敞。一種是將ViT應(yīng)用于其他計(jì)算機(jī)視覺任務(wù)着帽,如檢測(cè)和分割。我們的結(jié)果移层,加上Carion等人(DETR仍翰,2020年)的結(jié)果,表明了這種方法的前景观话。另一個(gè)挑戰(zhàn)是繼續(xù)探索自監(jiān)督的預(yù)訓(xùn)練方法予借。我們的初步實(shí)驗(yàn)表明,自監(jiān)督預(yù)訓(xùn)練效果有所改善频蛔,但自監(jiān)督預(yù)訓(xùn)練與大規(guī)模監(jiān)督預(yù)訓(xùn)練仍存在較大差距灵迫。最后,進(jìn)一步擴(kuò)展ViT可能會(huì)提高性能晦溪。
致謝
這項(xiàng)工作在柏林龟再、蘇黎世和阿姆斯特丹進(jìn)行。我們感謝谷歌許多同事的幫助尼变,特別是安德烈亞斯·施泰納在基礎(chǔ)設(shè)施和開源代碼發(fā)布方面提供的重要幫助;Joan Puigcerver和Maxim Neumann為大型訓(xùn)練基礎(chǔ)設(shè)施提供幫助;Dmitry Lepikhin嫌术、Aravindh Mahendran哀澈、Daniel Keysers、Mario Luciˇc度气、Noam'Shazeer和Colin Raffel進(jìn)行了有益的討論
附錄
A????多頭的自注意
標(biāo)準(zhǔn)qkv自注意(SA割按,Vaswani et al.(2017))是神經(jīng)架構(gòu)的一個(gè)流行構(gòu)建塊。對(duì)于輸入序列中的每個(gè)元素磷籍,我們計(jì)算序列中所有值
的加權(quán)和适荣。注意權(quán)重
基于序列的兩個(gè)元素及其各自的查詢
和鍵
表示之間的成對(duì)相似性。
多頭自注意(MSA)是SA的一個(gè)擴(kuò)展院领,在該擴(kuò)展中弛矛,我們并行運(yùn)行稱為“頭”的個(gè)自注意操作,并投影它們的拼接輸出比然。為了在改變
時(shí)保持計(jì)算和參數(shù)數(shù)量不變丈氓,公式(5)中的
通常設(shè)置為
。
B????實(shí)驗(yàn)細(xì)節(jié)
B.1????訓(xùn)練
表3總結(jié)了我們針對(duì)不同型號(hào)的訓(xùn)練設(shè)置强法。我們發(fā)現(xiàn)万俗,在ImageNet上從頭開始訓(xùn)練模型時(shí),強(qiáng)正則化是關(guān)鍵饮怯。如果用dropout的話闰歪,dropout用在在每一dense layer(qkv投影除外)后以及緊接在位置編碼加到圖塊嵌入之后”褪混合模型的訓(xùn)練與ViT的訓(xùn)練的設(shè)置完全一樣库倘。最后,所有訓(xùn)練的圖像分辨率都是224置媳。
B.1.1微調(diào)
我們使用動(dòng)量為0.9的SGD微調(diào)所有ViT模型于樟。我們對(duì)學(xué)習(xí)率進(jìn)行小網(wǎng)格搜索,見表4中的學(xué)習(xí)率范圍拇囊。為此迂曲,我們使用訓(xùn)練集中的小分段(寵物和鮮花10%,CIFAR 2%寥袭,ImageNet 1%)作為開發(fā)集路捧,并對(duì)剩余數(shù)據(jù)進(jìn)行訓(xùn)練。對(duì)于最終結(jié)果传黄,我們對(duì)整個(gè)訓(xùn)練集進(jìn)行訓(xùn)練杰扫,并對(duì)相應(yīng)的測(cè)試數(shù)據(jù)進(jìn)行評(píng)估。對(duì)于微調(diào)RESNET和混合模型膘掰,我們使用完全相同的設(shè)置章姓,唯一的例外是ImageNet佳遣,我們?cè)趯W(xué)習(xí)速率掃描中添加另一個(gè)值0.06。此外凡伊,對(duì)于RESNET零渐,我們還運(yùn)行Kolesnikov等人(2020年)的設(shè)置,并在運(yùn)行和掃描過程中選擇最佳結(jié)果系忙。最后诵盼,如果沒有另外提及,所有微調(diào)實(shí)驗(yàn)都以384分辨率運(yùn)行(以與訓(xùn)練不同的分辨率運(yùn)行微調(diào)是常見做法(Kolesnikov等人银还,2020))风宁。
當(dāng)將ViT模型遷移到另一個(gè)數(shù)據(jù)集時(shí),我們移除整個(gè)頭部(兩個(gè)線性層)蛹疯,并將其替換為一個(gè)零初始化線性層戒财,輸出目標(biāo)數(shù)據(jù)集所需的類數(shù)。我們發(fā)現(xiàn)這比簡(jiǎn)單地重新初始化最后一層要健壯一些苍苞。
對(duì)于VTAB固翰,我們遵循Kolesnikov等人(2020)中的協(xié)議,并對(duì)所有任務(wù)使用相同的超參數(shù)設(shè)置羹呵。我們使用0.01的學(xué)習(xí)率骂际,訓(xùn)練2500個(gè)步驟(表4)。我們通過在兩個(gè)學(xué)習(xí)率和兩個(gè)時(shí)間表上運(yùn)行小范圍掃描來選擇此設(shè)置冈欢,并在200個(gè)樣本驗(yàn)證集上選擇VTAB分?jǐn)?shù)最高的設(shè)置歉铝。我們遵循Kolesnikov等人(2020年)中使用的預(yù)處理,但我們不使用特定于任務(wù)的輸入分辨率凑耻。相反太示,我們發(fā)現(xiàn)視覺Transformer在所有任務(wù)中都從高分辨率(384×384)中獲益最大。
B.1.2????自監(jiān)督
我們使用 masked patch prediction 目標(biāo)進(jìn)行初步的自監(jiān)督實(shí)驗(yàn)香浩。為此类缤,我們corrupt 50%的圖塊嵌入,要么用可學(xué)習(xí)的[mask]嵌入(80%)邻吭、隨機(jī)的其他圖塊嵌入(10%)替換它們的嵌入餐弱,要么保持它們的原樣(10%)。該設(shè)置與Devlin等人(2019年)用于語言的設(shè)置非常相似囱晴。最后膏蚓,我們使用每個(gè)損壞圖像塊的各自圖像塊表示預(yù)測(cè)每個(gè)損壞圖像塊的3位平均顏色(即總共512種顏色)。(Finally, we predict the 3-bit, mean color (i.e., 512 colors in total) of every corrupted patch using their respective patch representations. )
我們?cè)贘FT上訓(xùn)練了1百萬步(約14個(gè)epoch)的自監(jiān)督模型畸写,批量為4096驮瞧。我們使用Adam,基本學(xué)習(xí)率為2x10?4枯芬、10k步預(yù)熱和余弦學(xué)習(xí)率衰減论笔。作為預(yù)訓(xùn)練的預(yù)測(cè)目標(biāo)采郎,我們嘗試了以下設(shè)置:1)僅預(yù)測(cè)平均值,3位顏色(即1個(gè)512色預(yù)測(cè))狂魔,2)預(yù)測(cè)4×4縮小版本的16×16圖像塊尉剩,3位顏色并行(即16個(gè)512色預(yù)測(cè)),3)使用L2(即3個(gè)RGB通道上的256次回歸)毅臊。令人驚訝的是,我們發(fā)現(xiàn)這一切都很好黑界,盡管L2稍差一些管嬉。我們僅報(bào)告選項(xiàng)1)的最終結(jié)果,因?yàn)樗@示了最佳的few shot性能朗鸠。我們還對(duì)Devlin等人(2019年)使用的15%的擾動(dòng)率進(jìn)行了試驗(yàn)蚯撩,但在我們的few shot測(cè)試中,結(jié)果也稍差烛占。
最后胎挎,我們想指出的是,我們的屏蔽圖像塊預(yù)測(cè)實(shí)例不需要如此大量的預(yù)訓(xùn)練忆家,也不需要像JFT這樣的大型數(shù)據(jù)集犹菇,以便在ImageNet分類上獲得類似的性能增益。也就是說芽卿,我們觀察到在100k預(yù)訓(xùn)練步驟后下游性能的回報(bào)遞減揭芍,并且在ImageNet上預(yù)訓(xùn)練時(shí)看到類似的收益。
C????其他結(jié)果
我們報(bào)告了與本文中給出的數(shù)字相對(duì)應(yīng)的詳細(xì)結(jié)果卸例。表5對(duì)應(yīng)于論文中的圖3称杨,顯示了在不斷增大的數(shù)據(jù)集上預(yù)訓(xùn)練的不同ViT模型的遷移性能:ImageNet、ImageNet-21k和JFT-300M筷转。表6對(duì)應(yīng)于圖5姑原,顯示了不同大小的ViT、ResNet和混合模型的遷移性能呜舒,以及預(yù)訓(xùn)練的估計(jì)計(jì)算成本锭汛。
D其他分析
D.1????SGD VS. ADAM FOR RESNETS
resnet通常使用SGD進(jìn)行訓(xùn)練,我們使用Adam作為優(yōu)化器是非常不傳統(tǒng)的阴绢。這里我們展示了比較兩者的實(shí)驗(yàn)店乐。也就是說,我們比較了在JFT上預(yù)訓(xùn)練的兩個(gè)RESNET(50x1和152x2)與SGD和Adam的微調(diào)性能呻袭。對(duì)于SGD眨八,我們使用Kolesnikov等人(2020)推薦的超參數(shù)。結(jié)果如表7所示左电。Adam預(yù)訓(xùn)練在大多數(shù)數(shù)據(jù)集和平均值上優(yōu)于SGD預(yù)訓(xùn)練廉侧。這證明選擇Adam在JFT上預(yù)訓(xùn)練resnet是合理的页响。請(qǐng)注意,絕對(duì)數(shù)值低于Kolesnikov等人(2020年)報(bào)告的數(shù)值段誊,因?yàn)槲覀冎活A(yù)訓(xùn)練了7個(gè)時(shí)期闰蚕,而不是30個(gè)。
D.2????Transformer形狀
我們?cè)诳s放Transformer架構(gòu)的不同維度上運(yùn)行燒蝕连舍,以找出哪一個(gè)最適合縮放到非常大的模型没陡。圖8顯示了ImageNet在不同配置下的5-shot的性能。所有配置均基于ViT模型索赏,具有8層盼玄,=1024,
=2048潜腻,圖像塊大小為32埃儿,即所有線的交集。我們可以看到融涣,縮放深度會(huì)帶來最大的改進(jìn)童番,直到64層都很明顯。然而威鹿,在16層之后剃斧,收益遞減。有趣的是专普,縮放網(wǎng)絡(luò)的寬度似乎會(huì)產(chǎn)生最小的變化悯衬。減少圖像塊大小,從而增加有效序列長(zhǎng)度檀夹,在不引入?yún)?shù)的情況下顯示出驚人的穩(wěn)健改進(jìn)筋粗。這些發(fā)現(xiàn)表明,計(jì)算可能比參數(shù)數(shù)量更好地預(yù)測(cè)性能炸渡,如果有娜亿,縮放應(yīng)該強(qiáng)調(diào)深度而不是寬度“龆拢總的來說买决,我們發(fā)現(xiàn)按比例縮放所有維度會(huì)帶來穩(wěn)健的改進(jìn)。
D.4?HEAD TYPE AND CLASS TOKEN
為了盡可能接近原始Transformer模型吼畏,我們使用了一個(gè)附加的 [class] token督赤,作為圖像表示。然后泻蚊,該token的輸出通過一個(gè)小型多層感知器(MLP)轉(zhuǎn)換為類預(yù)測(cè)躲舌,其中tanh為單個(gè)隱藏層中的非線性函數(shù)。
此設(shè)計(jì)繼承自Transformer文本模型性雄,我們?cè)谡麄€(gè)主應(yīng)用程序中都使用它没卸。最初嘗試只使用圖塊嵌入羹奉,全局平均池(GAP)嵌入,然后使用線性分類器约计,就像ResNet的最終特征圖一樣诀拭,效果非常差。然而煤蚌,我們發(fā)現(xiàn)這既不是由于額外的token耕挨,也不是由于GAP操作。相反尉桩,不同學(xué)習(xí)率的需求充分解釋了性能的差異俗孝,見圖9。
D.4????位置嵌入
我們使用位置嵌入對(duì)不同的空間信息編碼方式進(jìn)行了研究魄健。我們檢查了以下情況:
?????不提供位置信息:將輸入視為一包圖塊。(a bag of patches)
?????一維位置嵌入:將輸入視為raster order的一串圖像塊(a sequence of patches in the raster order插勤,本文中所有其他實(shí)驗(yàn)的默認(rèn)值)沽瘦。
?????二維位置嵌入:將輸入視為二維圖像塊網(wǎng)格(a grid of patches in two dimensions. )。在這種情況下农尖,我們學(xué)習(xí)了兩組嵌入析恋,每個(gè)用于其中一個(gè)軸,X嵌入和Y嵌入盛卡,每個(gè)大小為助隧。然后,基于輸入中路徑上的坐標(biāo)(based on the coordinate on the path in the input,)滑沧,我們拼接X和Y嵌入并村,以獲得該圖像塊的最終位置嵌入。
?????相對(duì)位置嵌入:考慮圖像塊之間的相對(duì)距離來編碼空間信息編碼滓技,而不是絕對(duì)位置哩牍。為了做到這一點(diǎn),我們使用了一維相對(duì)注意令漂,其中我們定義了所有可能的圖像塊對(duì)的相對(duì)距離膝昆。因此,對(duì)于每個(gè)給定的對(duì)(一個(gè)作為查詢叠必,另一個(gè)作為注意機(jī)制中的鍵/值)荚孵,我們都有一個(gè)偏移,其中每個(gè)偏移量與嵌入關(guān)聯(lián)纬朝。然后收叶,我們只需運(yùn)行額外的注意力機(jī)制,使用原始查詢(查詢的內(nèi)容)玄组,但使用相對(duì)位置嵌入作為鍵滔驾。然后谒麦,我們使用相對(duì)注意的logits作為偏差項(xiàng),并在應(yīng)用softmax之前將其添加到主要注意(基于內(nèi)容的注意)的logits中哆致。
除了編碼空間信息的不同方式外绕德,我們還嘗試了將這些信息合并到我們的模型中的不同方式。對(duì)于1維和2維位置嵌入摊阀,我們嘗試了三種不同的情況:
(1)將位置嵌入相加到輸入端耻蛇,在模型的stem之后,在將輸入端饋送到Transformer編碼器之前 (afetr the stem of them model and before feeding the inputs to the Transformer encoder)(本文中的所有其他實(shí)驗(yàn)都以此為默認(rèn)設(shè)置)(add)
(2) 學(xué)習(xí)并將位置嵌入相加到每層開頭的輸入中(at thebeginning of each layer)(learn and add)
(3)在每個(gè)層的開始處(在層之間共享)向輸入相加學(xué)習(xí)到的位置嵌入胞此。(add a learned)
表8總結(jié)了ViT-B/16模型消融研究的結(jié)果臣咖。正如我們所看到的,雖然沒有位置嵌入的模型和有位置嵌入的模型的性能之間有很大的差距漱牵,但是不同的位置信息編碼方式之間幾乎沒有差別夺蛇。我們推測(cè),由于我們的Transformer編碼器在圖像塊級(jí)輸入上運(yùn)行酣胀,而不是在像素級(jí)刁赦,因此空間信息編碼方式的差異就不那么重要了。更準(zhǔn)確地說闻镶,在圖像塊級(jí)輸入中甚脉,空間維度比原始像素級(jí)輸入小得多,例如铆农,14×14而不是224×224牺氨,并且對(duì)于這些不同的位置編碼策略,學(xué)習(xí)以該分辨率表示空間關(guān)系同樣容易墩剖。即使如此猴凹,網(wǎng)絡(luò)學(xué)習(xí)到的位置嵌入相似性的具體模式取決于訓(xùn)練超參數(shù)(圖10)。
D.5? ? 實(shí)測(cè)計(jì)算成本(EMPIRICAL COMPUTATIONAL COSTS)
我們還對(duì)硬件上的架構(gòu)的真實(shí)速度感興趣岭皂,由于車道寬度和緩存大小(lane widths and cache sizes.)等細(xì)節(jié)精堕,理論上的FLOPs并不總能很好地預(yù)測(cè)這種速度。為此蒲障,我們?cè)赥PUv3加速器上對(duì)感興趣的主要模型進(jìn)行推理速度計(jì)時(shí)歹篓;推理速度和反向傳播速度之間的差異是一個(gè)恒定的模型獨(dú)立因素。(the difference between inference and backprop speed is a constant model-independent factor.)
圖12(左)顯示了一個(gè)內(nèi)核在不同的輸入大小下每秒可以處理多少個(gè)圖像揉阎。每一個(gè)點(diǎn)都是指在大批量范圍內(nèi)測(cè)量的峰值性能庄撮。可以看出毙籽,ViT的理論雙二次縮放與圖像大小僅在最大分辨率下的最大模型中才開始發(fā)生洞斯。
另一個(gè)有趣的數(shù)量是每個(gè)模型可以容納到核上的最大批量,越大越好擴(kuò)展到大型數(shù)據(jù)集。圖12(右)顯示了同一組型號(hào)的此數(shù)量烙如。這表明么抗,與ResNet模型相比,大型ViT模型在內(nèi)存效率方面具有明顯優(yōu)勢(shì)亚铁。
D.6????軸向注意
軸向注意(Huang等人蝇刀,2020年;Ho et al.徘溢,2019)是一種簡(jiǎn)單而有效的技術(shù)吞琐,可以對(duì)組織為多維張量的大輸入進(jìn)行自注意。軸向注意的一般思想是執(zhí)行多個(gè)注意操作然爆,每個(gè)操作沿著輸入張量的一個(gè)軸站粟,而不是將一維注意應(yīng)用于展開的輸入。在軸向注意中曾雕,每個(gè)注意沿特定軸混合信息奴烙,同時(shí)保持沿其他軸的信息獨(dú)立(each attention mixes information along a particular axis, while keeping information along the other axes independent.)。沿著這條路線剖张,Wang等人(2020b)提出了AxialResNet模型缸沃,其中ResNet50中所有核大小為3×3的卷積都被軸向自注意所取代,即行和列注意修械,并通過相對(duì)位置編碼進(jìn)行增強(qiáng)。我們已經(jīng)實(shí)現(xiàn)了AxialResNet作為基線模型检盼。(注釋3:我們的實(shí)現(xiàn)基于https://github.com/csrhddlam/axial-deeplab的開源PyTorch實(shí)現(xiàn)肯污。在我們的實(shí)驗(yàn)中,我們復(fù)制了(Wang等人吨枉,2020b)但是蹦渣,我們的實(shí)現(xiàn)復(fù)現(xiàn)了開源實(shí)現(xiàn)報(bào)告的精度,但是貌亭,與開源實(shí)現(xiàn)類似柬唯,我們的實(shí)現(xiàn)在TPU上非常慢。因此圃庭,我們無法將其用于大規(guī)模的實(shí)驗(yàn)锄奢。這些可以通過仔細(xì)優(yōu)化的實(shí)現(xiàn)解鎖。)
此外剧腻,我們修改了ViT以處理二維形狀的輸入拘央,而不是一維的圖像塊序列,并納入了軸向Transformer塊书在,其中不是一個(gè)自注意后接一個(gè)MLP灰伟,而是一個(gè)行自注意后接一個(gè)MLP吏廉,后接一個(gè)列自注意后接一個(gè)MLP。
圖13顯示了當(dāng)在JFT數(shù)據(jù)集上預(yù)訓(xùn)練時(shí)收恢,ImageNet 5-shot linear精度 vs.預(yù)訓(xùn)練計(jì)算量武契,模型有軸向ResNet、軸向ViT-B/32和軸向ViT-B/16挡爵,預(yù)訓(xùn)練計(jì)算量包括在FLOPs數(shù)和推斷時(shí)間(每秒處理樣本數(shù))方面的性能竖般。正如我們所看到的,Axial-ViT-B/32和Axial-ViT-B/16在性能方面都比它們的ViT-B同類產(chǎn)品要好了讨,但這需要更多的計(jì)算捻激。這是因?yàn)樵谳S向ViT模型中,每個(gè)具有全局自注意的Transformer塊被兩個(gè)軸向Transformer塊替換前计,一個(gè)具有行胞谭,一個(gè)具有列自注意,盡管在軸向情況下男杈,自注意操作的序列長(zhǎng)度較小丈屹,但每個(gè)軸向ViT塊有一個(gè)額外的MLP。對(duì)于AxialResNet伶棒,盡管它在精度/計(jì)算權(quán)衡方面看起來是合理的(圖13旺垒,左圖),但在TPU上的樸素實(shí)現(xiàn)速度非常慢(圖13肤无,右圖)先蒋。
D.7? ? 注意距離
為了了解ViT如何利用自注意整合圖像中的信息,我們分析了不同層次上注意權(quán)重所跨越的平均距離(圖11)宛渐。這種“注意距離”類似于CNN中的感受野大小竞漾。在淺層,不同頭部的平均注意力距離差異很大窥翩,一些頭部處理大部分圖像业岁,而其他頭部處理查詢位置處或附近的小區(qū)域。隨著深度的增加寇蚊,所有頭部的注意距離都會(huì)增加笔时。在網(wǎng)絡(luò)的后半部分,大多數(shù)頭部的關(guān)注范圍都很廣闊仗岸。
D.8? ??注意力映射
為了計(jì)算注意力從輸出標(biāo)記到輸入空間的映射(圖6和圖14)允耿,我們使用了Attention Rollout(Abnar和Zuidema,2020)扒怖。簡(jiǎn)單地說右犹,我們平均了所有頭部ViTL/16的注意力權(quán)重,然后遞歸地乘以所有層的權(quán)重矩陣姚垃。這解釋了在所有層中念链,token之間的注意力混合。
D.9????OBJECTNET 結(jié)果
我們還根據(jù)Kolesnikov等人(2020年)的評(píng)估設(shè)置,在ObjectNet基準(zhǔn)上評(píng)估了我們的旗艦( flagship)ViT-H/14模型掂墓,獲得了82.1%的前5名準(zhǔn)確率和61.7%的前1名準(zhǔn)確率谦纱。
D.10????VTAB BREAKDOWN
表9顯示了每個(gè)VTAB-1k任務(wù)的得分。
?????ImageNet1K上更好的ViT基線 (發(fā)表于2022年3月)
Better plain ViT baselines for ImageNet-1k
https://arxiv.org/abs/2205.01580
人們普遍認(rèn)為君编,視覺Transformer模型需要復(fù)雜的正則化技術(shù)才能處理ImageNet-1k規(guī)模數(shù)據(jù)跨嘉。令人驚訝的是,我們發(fā)現(xiàn)情況并非如此吃嘿,標(biāo)準(zhǔn)數(shù)據(jù)增強(qiáng)就足夠了祠乃。本說明對(duì)原始Vision Transformer(ViT)原始訓(xùn)練設(shè)置進(jìn)行了一些小的修改,顯著提高了普通ViT模型的性能兑燥。值得注意的是亮瓷,在TPUv3-8上,90epoch訓(xùn)練在7小時(shí)內(nèi)超過76%的top-1準(zhǔn)確率降瞳,類似于經(jīng)典的ResNet50基線嘱支,300次訓(xùn)練在不到一天的時(shí)間內(nèi)達(dá)到80%。
1.導(dǎo)言
ViT論文[4]只關(guān)注大規(guī)模的預(yù)訓(xùn)練方面挣饥,其中ViT模型比經(jīng)過良好調(diào)整的ResNet[6](BiT[8])模型更出色除师。僅在ImageNet-1k上進(jìn)行預(yù)訓(xùn)練時(shí)添加結(jié)果是之后的,主要是為了消除數(shù)據(jù)規(guī)模的影響扔枫。盡管如此汛聚,ImageNet-1k仍然是計(jì)算機(jī)視覺研究中的一個(gè)關(guān)鍵測(cè)試平臺(tái),擁有盡可能簡(jiǎn)單有效的基線非常有益短荐。
因此倚舀,隨著用于開發(fā)ViT[4]、MLPMixer[14]搓侄、ViT-G[19]、LiT[20]和各種其他研究項(xiàng)目的big vision代碼庫的發(fā)布话速,我們現(xiàn)在提供了一個(gè)新的基線讶踪,它保持了原始ViT的簡(jiǎn)單性,同時(shí)達(dá)到了與類似方法[15,17](編者注:指DeiT和timm)和并行[16](編者注:指DeiT III)競(jìng)爭(zhēng)的結(jié)果泊交,后者也力求簡(jiǎn)化乳讥。
2.實(shí)驗(yàn)裝置
我們完全專注于ImageNet-1k數(shù)據(jù)集(ILSVRC2012),用于(預(yù))訓(xùn)練和評(píng)估廓俭。由于廣泛接受[1,2,5,9,15]云石,簡(jiǎn)單性和可擴(kuò)展性,我們堅(jiān)持最初的ViT模型體系結(jié)構(gòu)研乒,并且只重新討論了幾個(gè)非常小的細(xì)節(jié)汹忠,沒有一個(gè)是新穎的。我們選擇將重點(diǎn)放在[15]引入的較小的ViT-S/16變體上,因?yàn)槲覀冋J(rèn)為它在迭代速度宽菜、常用硬件和最終精度之間提供了一個(gè)很好的折衷谣膳。然而,當(dāng)有更多的計(jì)算和數(shù)據(jù)可用時(shí)铅乡,我們強(qiáng)烈建議使用ViT-B/32或ViT-B/16迭代[12,19]继谚,并注意增加圖像塊大小幾乎等同于降低圖像分辨率。
所有實(shí)驗(yàn)都使用224px2分辨率的“初始裁剪”[13]阵幸、隨機(jī)水平翻轉(zhuǎn)花履、RandAugment[3]和Mixup增強(qiáng)。我們對(duì)前99%的訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練挚赊,并將1%保留給minival诡壁,以鼓勵(lì)社區(qū)停止在驗(yàn)證(事實(shí)測(cè)試)集上選擇設(shè)計(jì)選項(xiàng)。完整設(shè)置如附錄A所示咬腕。
We train on the first 99% of the?training data, and keep 1% for minival to encourage the community to stop selecting design choices on the validation?(de-facto test) set.
3.結(jié)果
圖1顯示了我們改進(jìn)設(shè)置的結(jié)果欢峰,以及一些相關(guān)的重要基線。很明顯涨共,以這種方式訓(xùn)練的簡(jiǎn)單纽帖、標(biāo)準(zhǔn)的ViT既可以匹配90個(gè)時(shí)期基線的開創(chuàng)性ResNet50,也可以匹配更現(xiàn)代的ResNet[17]和ViT[16]訓(xùn)練設(shè)置举反。此外懊直,在一個(gè)小的TPUv3-8節(jié)點(diǎn)上,90個(gè)epoch的跑步只需要6小時(shí)30秒火鼻,一個(gè)人在不到一天的時(shí)間內(nèi)訓(xùn)練300個(gè)epoch就可以達(dá)到80%的準(zhǔn)確率室囊。
[4,12]的主要區(qū)別在于批量大小為1024而不是4096,使用全局平均池(GAP)而不是類標(biāo)記[2,11]魁索,固定的二維sin-cos位置嵌入[2]融撞,以及引入少量RandAugment[3]和Mixup[21](分別為10級(jí)和概率0.2,小于[12])粗蔚。這些微小的變化導(dǎo)致的性能明顯優(yōu)于[4]中最初報(bào)告的性能尝偎。
The main differences from [4, 12] are a batch-size of?1024 instead of 4096, the use of global average-pooling?(GAP) instead of a class token [2, 11], fixed 2D sin-cos?position embeddings [2], and the introduction of a small?amount of RandAugment [3] and Mixup [21] (level 10 and?probability 0.2 respectively, which is less than [12]). These?small changes lead to significantly better performance than?that originally reported in [4].
值得注意的是,該基線中沒有進(jìn)一步的體系結(jié)構(gòu)變化鹏控、正則化器(如輟學(xué)或隨機(jī)深度[7])致扯、高級(jí)優(yōu)化方案(如SAM[10])、額外的增強(qiáng)(如CutMix[18])当辐、重復(fù)增強(qiáng)[15]或模糊抖僵,“tricks”如高分辨率微調(diào)或檢查點(diǎn)平均,以及通過知識(shí)提煉從一位優(yōu)秀教師那里得到的監(jiān)督缘揪。
表1顯示了我們提出的各種微小變化耍群。它舉例說明了一系列幾乎微不足道的變化是如何累積成重要的整體改進(jìn)的义桂。唯一在分類精度上沒有顯著差異的變化是,分類頭是單個(gè)線性層世吨,還是像原始變壓器公式中那樣澡刹,是帶有一個(gè)隱藏tanh層的MLP。
4.結(jié)論
追求簡(jiǎn)單總是值得的耘婚。致謝罢浇。我們感謝Daniel Suo和Naman Agarwal在90個(gè)時(shí)代的推動(dòng)和對(duì)報(bào)告的反饋,感謝Google Brain團(tuán)隊(duì)提供的支持性研究環(huán)境沐祷。
?? ? 擴(kuò)展ViT (擴(kuò)展到更高容量和數(shù)據(jù)嚷闭, 發(fā)表于2021年6月)
Scaling Vision Transformers
https://arxiv.org/pdf/2106.04560v1.pdf
Xiaohua Zhai,Alexander Kolesnikov,Neil Houlsby,Lucas Beyer
基于注意力的神經(jīng)網(wǎng)絡(luò),如視覺Transformer(ViT)赖临,最近在許多計(jì)算機(jī)視覺基準(zhǔn)上取得了最先進(jìn)的結(jié)果胞锰。擴(kuò)展是獲得優(yōu)異結(jié)果的主要因素,因此兢榨,了解模型的擴(kuò)展特性是有效設(shè)計(jì)后代的關(guān)鍵嗅榕。雖然已經(jīng)研究了擴(kuò)展Transformer語言模型的規(guī)律,但視覺Transformer的擴(kuò)展方式尚不清楚吵聪。為了解決這個(gè)問題凌那,我們對(duì)ViT模型和數(shù)據(jù)進(jìn)行了上下擴(kuò)展,并描述了錯(cuò)誤率吟逝、數(shù)據(jù)和計(jì)算之間的關(guān)系帽蝶。在此過程中,我們改進(jìn)了ViT的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練块攒,減少了內(nèi)存消耗励稳,提高了結(jié)果模型的準(zhǔn)確性。因此囱井,我們成功地訓(xùn)練了一個(gè)具有20億個(gè)參數(shù)的ViT模型驹尼,該模型在ImageNet上達(dá)到了90.45%top-1精度的最新水平。該模型在少樣本學(xué)習(xí)方面也表現(xiàn)良好庞呕,例如新翎,在ImageNet上達(dá)到84.86%的top-1準(zhǔn)確率,每類只有10個(gè)樣本千扶。
1導(dǎo)言
基于注意力的Transformer結(jié)構(gòu)[36]已經(jīng)風(fēng)靡了計(jì)算機(jī)視覺領(lǐng)域[11,5]料祠,并成為研究和實(shí)踐中日益流行的選擇骆捧。在此之前澎羞,Transformers已被廣泛應(yīng)用于自然語言處理(NLP)領(lǐng)域[10,4]。在[17]中仔細(xì)研究了NLP中Transformer的最佳擴(kuò)展敛苇,主要結(jié)論是大型模型不僅性能更好妆绞,而且更有效地使用大型計(jì)算預(yù)算顺呕。然而,目前尚不清楚這些發(fā)現(xiàn)在多大程度上轉(zhuǎn)移到了視覺領(lǐng)域括饶,這有幾個(gè)重要的區(qū)別株茶。例如,與NLP領(lǐng)域中的無監(jiān)督預(yù)訓(xùn)練相比图焰,視覺領(lǐng)域中最成功的預(yù)訓(xùn)練方案是有監(jiān)督的启盛。
在這篇論文中,我們集中研究了在圖像分類任務(wù)中預(yù)先訓(xùn)練的ViT模型的遷移性能的擴(kuò)展律技羔。特別是僵闯,我們實(shí)驗(yàn)了500萬到20億個(gè)參數(shù)的模型,3000萬到30億個(gè)訓(xùn)練圖像的數(shù)據(jù)集藤滥,以及從低于一個(gè)TPUv3核心日到超過10000個(gè)核心日的計(jì)算預(yù)算鳖粟。我們的主要貢獻(xiàn)是描述了ViT模型的性能計(jì)算前沿。
一路上拙绊,我們創(chuàng)造了一個(gè)改進(jìn)的大規(guī)模訓(xùn)練配方向图。我們研究了訓(xùn)練超參數(shù),并發(fā)現(xiàn)了一些微妙的選擇标沪,這些選擇可以極大地改善少樣本的轉(zhuǎn)移性能榄攀。具體地說,我們發(fā)現(xiàn)非常強(qiáng)的L2正則化(僅應(yīng)用于最終線性預(yù)測(cè)層)會(huì)產(chǎn)生一種學(xué)習(xí)的視覺表示谨娜,這種視覺表示具有非常強(qiáng)的鏡頭學(xué)習(xí)能力航攒。例如,在ImageNet數(shù)據(jù)集(有1000個(gè)類)上趴梢,每個(gè)類只有一個(gè)樣本漠畜,我們的最佳模型的準(zhǔn)確率達(dá)到69.52%;每班10例坞靶,占84.86%憔狞。此外,我們大大減少了[11]中提出的原始ViT模型的內(nèi)存占用彰阴。我們通過改變特定于硬件的網(wǎng)絡(luò)結(jié)構(gòu)和使用不同的優(yōu)化器來實(shí)現(xiàn)這一點(diǎn)瘾敢。因此,我們訓(xùn)練了一個(gè)具有20億個(gè)參數(shù)的模型尿这,并在ImageNet上獲得了最新的90.45%的精度
圖1:左/中:表示質(zhì)量簇抵,測(cè)量為ImageNet精細(xì)度和線性10樣本錯(cuò)誤率,作為總訓(xùn)練計(jì)算的函數(shù)射众。飽和冪律相當(dāng)精確地逼近帕累托邊界碟摆。請(qǐng)注意,較小的模型(藍(lán)色底紋)或在較少圖像上訓(xùn)練的模型(較小的標(biāo)記)在訓(xùn)練較長(zhǎng)時(shí)間后會(huì)飽和并從邊界上脫落叨橱。右上角:模型尺寸限制時(shí)的表示質(zhì)量典蜕。對(duì)于每個(gè)模型大小断盛,都會(huì)使用大量的數(shù)據(jù)集和計(jì)算量,因此模型容量是主要的瓶頸愉舔。陰影模糊的標(biāo)記表示每個(gè)模型的次優(yōu)運(yùn)行钢猛。右下角:數(shù)據(jù)集大小的表示質(zhì)量。對(duì)于每個(gè)數(shù)據(jù)集大小轩缤,都會(huì)突出顯示具有最佳大小和計(jì)算量的模型命迈,因此數(shù)據(jù)集大小是主要瓶頸。
2核心成果
在第3節(jié)介紹詳細(xì)的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練協(xié)議改進(jìn)之前火的,我們首先介紹了我們關(guān)于擴(kuò)展趨勢(shì)的主要結(jié)果躺翻。在接下來的實(shí)驗(yàn)中,我們?cè)诙噙_(dá)30億張弱標(biāo)記圖像上訓(xùn)練了幾個(gè)ViT模型卫玖。我們改變架構(gòu)大小公你、訓(xùn)練圖像的數(shù)量和訓(xùn)練持續(xù)時(shí)間。所有模型均在TPUv3上進(jìn)行訓(xùn)練假瞬,因此總計(jì)算量以TPUv3核心天數(shù)計(jì)量陕靠。為了評(píng)估模型學(xué)習(xí)到的表示的質(zhì)量,我們測(cè)量(i)通過在凍結(jié)權(quán)重上訓(xùn)練線性分類器的少量鏡頭轉(zhuǎn)移剪芥,(ii)通過微調(diào)所有數(shù)據(jù)上的整個(gè)模型税肪,將鏡頭轉(zhuǎn)移到多個(gè)基準(zhǔn)任務(wù)益兄。
2.1將計(jì)算、模型和數(shù)據(jù)一起放大
圖1顯示了ImageNet上的10次線性評(píng)估和微調(diào)評(píng)估[9]箭券。其他數(shù)據(jù)集净捅、牛津IIIT Pets[23]、CIFAR-100[19]和加州理工大學(xué)UCSD鳥類[38]的類似趨勢(shì)如附錄圖8所示辩块。對(duì)于模型尺寸和數(shù)據(jù)尺寸的每一種組合蛔六,我們預(yù)先訓(xùn)練了不同數(shù)量的步驟。在圖1中废亭,連接點(diǎn)表示為不同數(shù)量的步驟訓(xùn)練的相同模型国章。我們進(jìn)行以下高級(jí)別觀察。
首先豆村,將計(jì)算液兽、模型和數(shù)據(jù)一起放大可以提高表示質(zhì)量。在左圖和中圖中你画,右下角點(diǎn)顯示了具有最大大小抵碟、數(shù)據(jù)集大小和計(jì)算實(shí)現(xiàn)最低錯(cuò)誤率的模型。然而坏匪,似乎在最大尺寸時(shí)拟逮,模型開始飽和,并落后于冪律邊界(圖1中對(duì)數(shù)圖上的線性關(guān)系)罚屋。
第二,表示質(zhì)量可能會(huì)受到模型大小的限制。右上角的圖顯示了每種型號(hào)的最佳性能愉昆。由于容量有限,小型模型無法從最大的數(shù)據(jù)集或計(jì)算資源中獲益。圖1(左和中)顯示了Ti/16模型趨向于高錯(cuò)誤率渤愁,即使在對(duì)大量圖像進(jìn)行訓(xùn)練時(shí)也是如此。
第三,大型模型受益于附加數(shù)據(jù)滓玖,甚至超過1B圖像。當(dāng)放大模型尺寸時(shí)念祭,表示質(zhì)量可能受到較小數(shù)據(jù)集的限制;即使是30-300米的圖像也不足以使最大的模型飽和。在圖1株旷,center中,30M數(shù)據(jù)集上L/16模型的錯(cuò)誤率沒有超過27%。在較大的數(shù)據(jù)集上雕什,該模型達(dá)到19%磷雇。此外螟蒸,當(dāng)增加數(shù)據(jù)集大小時(shí)苞慢,我們觀察到大模型的性能提升蔓纠,而不是小模型。最大的模型甚至可以獲得性能改進(jìn)潦刃,訓(xùn)練集大小從1B圖像增加到3B圖像(圖1分扎,右下角)卫漫。但是宏悦,對(duì)于小型模型诗越,如Ti/16或B/32,增加數(shù)據(jù)集大小沒有幫助褂乍。例如,在圖1(左和中)中呀狼,Ti/16的所有曲線重疊僻澎,表明無論數(shù)據(jù)集大小如何祖乳,該模型都實(shí)現(xiàn)了相同的性能汁咏。
圖2:ImageNet上與預(yù)訓(xùn)練期間看到的圖像相關(guān)的錯(cuò)誤率帅刊。大模型的采樣效率更高级解,這在不同的設(shè)置中是一致的:在凍結(jié)表示上進(jìn)行少量快照學(xué)習(xí)抡爹,在ImageNet上微調(diào)網(wǎng)絡(luò),并在v2測(cè)試集上評(píng)估微調(diào)模型泵殴。
2.2雙飽和冪律
圖1(左和中)顯示了表示質(zhì)量與訓(xùn)練計(jì)算的帕累托邊界。前沿包含計(jì)算量與模型形狀和訓(xùn)練時(shí)間的最佳分配的模型弦叶。
對(duì)于超過兩個(gè)數(shù)量級(jí)的計(jì)算者祖,計(jì)算和性能之間的關(guān)系遵循冪律(E=aCb),從而在對(duì)數(shù)圖上形成一條直線媒熊。然而嚷往,我們?cè)谟?jì)算譜的兩端觀察到“飽和”籍琳。在計(jì)算的高端势誊,最大的模型不傾向于零錯(cuò)誤率查近。如果我們根據(jù)觀察結(jié)果推斷册烈,無限容量模型將獲得非零誤差谈宛。在生成模型中也觀察到了這種效應(yīng)[14]。[14]的作者將此殘差稱為任務(wù)的“不可約熵”恢筝。由于我們繪制了錯(cuò)誤率侄柔,信息理論解釋不適用,但我們的觀察支持ImageNet的基本性能上限概念[3]。根據(jù)該定律言津,該飽和度對(duì)應(yīng)于誤差率的加性常數(shù):E=aC中的c?b+c瞬浓。
在計(jì)算譜的低端,我們看到較小模型的飽和;最小模型的性能比冪律預(yù)測(cè)的要好访雪。出現(xiàn)這種飽和是因?yàn)榧词故俏⒉蛔愕赖慕鉀Q方案也可以實(shí)現(xiàn)非零誤差坝橡。例如脂倦,預(yù)測(cè)多數(shù)類(幾乎為零計(jì)算)將獲得與其在測(cè)試集中出現(xiàn)頻率相關(guān)的精度。[14]中未觀察到該下限,這可能是因?yàn)樗鼈兊淖钚∧P妥銐虼螅梢员苊庠搮^(qū)域招刨,或者是因?yàn)閷?duì)數(shù)損耗飽和的性能甚至比精度差(最終會(huì)飽和)杉适。該飽和度對(duì)應(yīng)于x軸上的位移:E=a(C+d)中的d?b+c蹬叭。該常數(shù)表示零計(jì)算模型仍將獲得非零精度坦喘。
2.3大型號(hào)的樣本效率更高
圖2顯示了在預(yù)訓(xùn)練期間“看到”的圖像總數(shù)(批量大小乘以步驟數(shù))的表示質(zhì)量。除了公共驗(yàn)證集上的ImageNet微調(diào)和線性10樣本結(jié)果外,我們還報(bào)告了ImageNet-v2測(cè)試集[27]上ImageNet微調(diào)模型的結(jié)果,作為魯棒泛化的指標(biāo)。圖中顯示了三個(gè)在30億張圖像上預(yù)訓(xùn)練的ViT模型。我們觀察到洋满,更大的模型更具樣本效率晶乔,在看到較少圖像的情況下達(dá)到相同的錯(cuò)誤率水平。對(duì)于10樣本牺勾,Ti/16模型需要看到近100倍的圖像正罢,以匹配L/16模型的表示質(zhì)量。當(dāng)進(jìn)行微調(diào)時(shí)裆泳,該因子從100降低到約20槽畔。我們的結(jié)果表明莽鸿,在數(shù)據(jù)充足的情況下,最好用較少的步驟訓(xùn)練更大的模型议经。這種觀察反映了語言建模和機(jī)器翻譯的結(jié)果[17,21]毯炮。
2.4 ViT-G/14結(jié)果
我們訓(xùn)練了一個(gè)大型的視覺TransformerViT-G/14搜锰,它包含近20億個(gè)參數(shù)。第3.6節(jié)詳細(xì)介紹了網(wǎng)絡(luò)結(jié)構(gòu)的形狀。我們?cè)u(píng)估了一系列下游任務(wù)的ViT-G/14模型,并將其與最新的最新結(jié)果進(jìn)行比較。我們?cè)贗mageNet上進(jìn)行微調(diào)吏砂,并報(bào)告ImageNet[28]井氢、ImageNet-v2[27]、ReaL[3]和ObjectNet[1]的精度担孔。此外债蓝,我們還報(bào)告了VTAB-1k基準(zhǔn)上的遷移學(xué)習(xí)結(jié)果抚垃,該基準(zhǔn)包括19項(xiàng)不同的任務(wù)[43]屿储。
圖3顯示了ImageNet上的幾個(gè)快照學(xué)習(xí)結(jié)果。ViT-G/14比之前最好的ViT-H/14模型[11]有很大的優(yōu)勢(shì)(超過5%),達(dá)到84.86%的準(zhǔn)確率,每類10個(gè)樣本稼跳。每類10幅圖像少于ImageNet數(shù)據(jù)的1%(每類13個(gè)樣本)在旱,這在自監(jiān)督和半監(jiān)督學(xué)習(xí)中是常用的[42]。作為參考论颅,圖3顯示了兩種最先進(jìn)的自監(jiān)督學(xué)習(xí)模型漏设,SimCLR v2[6]和BYOL[12],使用1%的ImageNet數(shù)據(jù)今妄。然而郑口,請(qǐng)注意,這些方法是完全不同的:ViT-G/14使用大量弱監(jiān)督數(shù)據(jù)源盾鳞,并且只經(jīng)過一次預(yù)訓(xùn)練并轉(zhuǎn)移到不同的任務(wù)中犬性。同時(shí),自監(jiān)督學(xué)習(xí)模型使用未標(biāo)記但在域內(nèi)的數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練雁仲,并針對(duì)單個(gè)任務(wù)仔夺。
表1顯示了其余基準(zhǔn)的結(jié)果。ViT-G/14在ImageNet上實(shí)現(xiàn)了90.45%的top-1精度攒砖,開創(chuàng)了最新水平缸兔。在ImageNet-v2上,ViT-G/14比基于EfficientNet-L2的嘈雜學(xué)生模型[39]提高了3%吹艇。實(shí)際上躯泰,ViT-G/14的性能僅比ViT-H[11]和BiT-L[18]好一小部分桂肌,這再次表明ImageNet分類任務(wù)可能達(dá)到飽和點(diǎn)。對(duì)于ObjectNet,ViT-G/14的性能大大優(yōu)于BiT-L[18]橱赠,比嘈雜的學(xué)生好2%啸罢,但比CLIP[26]落后約2%押袍。請(qǐng)注意甸饱,與其他方法不同,CLIP不會(huì)在ImageNet上進(jìn)行微調(diào)撑碴,而是直接在ObjectNet上進(jìn)行計(jì)算撑教,這可能會(huì)提高其魯棒性。最后醉拓,當(dāng)將ViT-G/14模型遷移到VTAB時(shí)伟姐,只需在所有任務(wù)中使用一個(gè)超參數(shù)即可獲得一致的更好結(jié)果收苏。在VTAB上使用每任務(wù)權(quán)重級(jí)超參數(shù)掃描的最新技術(shù)是79.99[16],我們將使用ViT-G/14進(jìn)行大規(guī)模掃描留給未來的工作愤兵。
3方法詳情
我們對(duì)ViT模型和訓(xùn)練進(jìn)行了一些改進(jìn)鹿霸。這些改進(jìn)大多易于實(shí)現(xiàn),并且可以顯著提高內(nèi)存利用率和模型質(zhì)量秆乳。它們?cè)试S我們僅使用數(shù)據(jù)并行性來訓(xùn)練ViT-G/14懦鼠,整個(gè)模型都安裝在一個(gè)TPUv3內(nèi)核上。
圖4:左側(cè)和中部:5-shot ImageNet精度和上游性能的依賴性取決于權(quán)重衰減強(qiáng)度矫夷。通常葛闷,單個(gè)權(quán)重衰減值應(yīng)用于所有權(quán)重(對(duì)應(yīng)于熱圖上的對(duì)角線)憋槐。我們表明双藕,通過使用“頭部”和其他權(quán)重的權(quán)重衰減值,可以顯著提高少樣本的遷移性能阳仔。右圖:ImageNet上針對(duì)不同類型頭部的少量快照性能忧陪。頭部的高權(quán)重衰變對(duì)所有人都同樣有效。
3.1“頭部”的解耦權(quán)重衰減
在低數(shù)據(jù)區(qū)近范,權(quán)重衰減對(duì)模型適應(yīng)性有很大影響嘶摊。我們?cè)谥械纫?guī)模上對(duì)這一現(xiàn)象進(jìn)行了研究。
我們發(fā)現(xiàn)评矩,模型中最終線性層(“頭部”)和剩余權(quán)重(“身體”)的解耦權(quán)重衰減強(qiáng)度可使人受益叶堆。圖4顯示了這種效果:我們?cè)贘FT-300M上訓(xùn)練了一組ViT-B/32模型,每個(gè)單元對(duì)應(yīng)于不同頭/體重衰減值的性能斥杜。對(duì)角線對(duì)應(yīng)于對(duì)兩個(gè)衰減使用相同的值虱颗。可以觀察到蔗喂,最佳性能出現(xiàn)在對(duì)角線之外(即頭部和身體的權(quán)重衰減解耦)忘渔。有趣的是,我們觀察到頭部的高權(quán)重衰減會(huì)降低訓(xùn)練前(上游)任務(wù)(未顯示)的表現(xiàn)缰儿,盡管轉(zhuǎn)移表現(xiàn)有所改善畦粮。
我們對(duì)這種現(xiàn)象沒有一個(gè)完整的解釋。然而乖阵,我們假設(shè)頭部更強(qiáng)烈的權(quán)重衰減會(huì)導(dǎo)致類別之間的差異更大的表征宣赔,從而更好地適應(yīng)少樣本。這與支持向量機(jī)背后的主要思想相似[8]瞪浸。這種較大的衰減使得在上游預(yù)訓(xùn)練期間更難獲得高精度儒将,但我們的主要目標(biāo)是高質(zhì)量的遷移。
3.2通過刪除[class]令牌來節(jié)省內(nèi)存
[11]中最大的VIT模型使用14×14個(gè)圖像塊和224×224個(gè)圖像默终。這將產(chǎn)生256個(gè)可視“標(biāo)記”椅棺,其中每個(gè)標(biāo)記對(duì)應(yīng)一個(gè)圖像補(bǔ)丁犁罩。除此之外,ViT模型還有一個(gè)額外的[class]令牌两疚,用于生成最終表示床估,使令牌總數(shù)達(dá)到257。
對(duì)于ViT型號(hào)诱渤,當(dāng)前TPU硬件將令牌維度增加到128的倍數(shù)丐巫,這可能導(dǎo)致高達(dá)50%的內(nèi)存開銷。為了克服這個(gè)問題勺美,我們研究了使用額外[class]標(biāo)記的替代方法递胧。特別是,我們?cè)u(píng)估了全局平均池(GAP)和多頭注意池(MAP)[20]以聚合所有補(bǔ)丁令牌的表示赡茸。我們將地圖中的頭數(shù)設(shè)置為與模型其余部分中的注意頭數(shù)相等缎脾。為了進(jìn)一步簡(jiǎn)化頭部設(shè)計(jì),我們?cè)谧罱K預(yù)測(cè)層之前刪除了最終非線性投影占卧,這在最初的ViT論文中出現(xiàn)遗菠。
為了選擇最佳磁頭,我們對(duì)[class]標(biāo)記和GAP/MAP磁頭進(jìn)行并排比較华蜒。結(jié)果匯總在圖4(右)中辙纬。我們發(fā)現(xiàn),所有磁頭的性能都相似叭喜,而GAP和MAP由于前面提到的填充因素贺拣,內(nèi)存效率要高得多。我們還觀察到捂蕴,非線性投影可以安全地去除譬涡。因此,我們選擇地圖頭启绰,因?yàn)樗亲罹弑憩F(xiàn)力的昂儒,并且產(chǎn)生了最統(tǒng)一的架構(gòu)。
圖5:從JFT-300M切換到JFT-3B的效果委可,無需進(jìn)一步擴(kuò)展渊跋。無論是小型還是大型模型,都可以通過近似恒定的因子從這一變化中獲益着倾,無論是線性少鏡頭評(píng)估(左)還是使用完整數(shù)據(jù)集進(jìn)行遷移(右)拾酝。
3.3擴(kuò)大數(shù)據(jù)規(guī)模
在本研究中,我們使用了專有的JFT-3B數(shù)據(jù)集卡者,這是JFT-300M數(shù)據(jù)集的一個(gè)更大版本蒿囤,在以前的許多大型計(jì)算機(jī)視覺模型工作中使用[31,18,11]。該數(shù)據(jù)集由近30億張圖像組成崇决,通過半自動(dòng)管道用大約30k標(biāo)簽的類層次結(jié)構(gòu)進(jìn)行注釋材诽。因此底挫,數(shù)據(jù)和相關(guān)標(biāo)簽是有噪聲的。我們忽略了標(biāo)簽的層次性脸侥,僅使用指定的標(biāo)簽作為多標(biāo)簽分類的目標(biāo)建邓,通過sigmoid交叉熵?fù)p失,如下[18,11]睁枕。我們從JFT-3B中刪除了我們?cè)诒疚闹羞w移到的任何數(shù)據(jù)集中的所有幾乎重復(fù)的圖像官边。
圖5顯示了從JFT-300M變?yōu)镴FT-3B對(duì)模型性能的影響,即使擴(kuò)展沒有增加外遇。圖5(左)顯示了整個(gè)過程中評(píng)估的線性10快照ImageNet性能注簿。我們觀察到JFT-3B產(chǎn)生了一個(gè)更好的模型,甚至在該模型有一個(gè)完整的JFT-300M紀(jì)元之前跳仿。因此诡渴,過度安裝JFT-300M不是改進(jìn)的唯一原因。這種差異甚至在小型B/32模型和大型L/16模型中也可以看到塔嬉。我們將模型微調(diào)到完整的ImageNet數(shù)據(jù)集(右)玩徊,并確認(rèn)這些改進(jìn)轉(zhuǎn)移到完整的微調(diào)設(shè)置〗骶浚總體而言,對(duì)于小型和大型模型泣棋,數(shù)據(jù)集中的更改將向ImageNet的遷移提高了約1%胶哲。除了性能改進(jìn),JFT-300M和JFT-3B上的訓(xùn)練行為類似潭辈。最重要的是鸯屿,JFT-3B允許我們進(jìn)一步擴(kuò)大規(guī)模,減少對(duì)過度擬合和正則化的擔(dān)憂把敢。
3.4內(nèi)存高效優(yōu)化器
在訓(xùn)練大型模型時(shí)寄摆,模型參數(shù)所需的存儲(chǔ)成為瓶頸。我們最大的型號(hào)修赞,ViT-G婶恼,大約有20億個(gè)參數(shù),占用了8Gib的設(shè)備內(nèi)存柏副。更糟糕的是勾邦,通常用于訓(xùn)練Transformer的Adam優(yōu)化器為每個(gè)參數(shù)存儲(chǔ)兩個(gè)額外的浮點(diǎn)標(biāo)量,這會(huì)導(dǎo)致額外的兩倍開銷(額外的16 GiB)割择。為了解決Adam優(yōu)化器帶來的開銷眷篇,我們探索了兩種修改。
亞當(dāng)有著半精確的動(dòng)量荔泳。我們經(jīng)驗(yàn)性地觀察到蕉饼,在半精度(bfloat16型)中存儲(chǔ)動(dòng)量不會(huì)影響訓(xùn)練動(dòng)力學(xué)虐杯,也不會(huì)對(duì)結(jié)果產(chǎn)生影響。這允許將優(yōu)化器開銷從2倍減少到1.5倍昧港。值得注意的是厦幅,使用半精度存儲(chǔ)第二個(gè)動(dòng)量會(huì)導(dǎo)致性能顯著下降。
Adafactor優(yōu)化器慨飘。上面的優(yōu)化器仍然會(huì)導(dǎo)致較大的內(nèi)存開銷确憨。因此,我們將注意力轉(zhuǎn)向Adafactor優(yōu)化器[29]瓤的,它使用秩1分解存儲(chǔ)第二動(dòng)量休弃。從實(shí)際的角度來看,這導(dǎo)致了可以忽略不計(jì)的內(nèi)存開銷圈膏。但是塔猾,默認(rèn)的Adafactor優(yōu)化器無法開箱即用,因此我們進(jìn)行了以下修改:
?以半精度重新引入第一動(dòng)量稽坤,而推薦設(shè)置根本不使用第一動(dòng)量丈甸。
?我們禁用相對(duì)于權(quán)重標(biāo)準(zhǔn)的學(xué)習(xí)率擴(kuò)展,這是Adafactor中的默認(rèn)功能尿褪。
由此產(chǎn)生的優(yōu)化器只帶來50%的內(nèi)存開銷睦擂。
我們觀察到,兩個(gè)提出的優(yōu)化器執(zhí)行與原始Adam optimizer或甚至稍微好一點(diǎn)杖玲。
3.5學(xué)習(xí)率表
在我們的研究中顿仇,我們希望將每個(gè)模型訓(xùn)練幾個(gè)不同的持續(xù)時(shí)間,以便衡量模型大小和訓(xùn)練持續(xù)時(shí)間之間的權(quán)衡摆马。當(dāng)使用線性衰減時(shí)臼闻,如[11]中所述,每個(gè)訓(xùn)練持續(xù)時(shí)間都需要從零開始運(yùn)行自己的訓(xùn)練囤采,這是一個(gè)低效的協(xié)議述呐。
受[22]的啟發(fā),我們通過探索學(xué)習(xí)率計(jì)劃來解決這個(gè)問題蕉毯,該計(jì)劃類似于開始時(shí)的熱身階段乓搬,包括訓(xùn)練結(jié)束時(shí)的冷卻階段,其中學(xué)習(xí)率線性退火為零恕刘。在預(yù)熱和冷卻階段之間缤谎,學(xué)習(xí)率不應(yīng)太快衰減到零。這可以通過對(duì)訓(xùn)練的主要部分使用常數(shù)或平方根倒數(shù)來實(shí)現(xiàn)褐着。圖6(底部)描述了其中幾個(gè)選項(xiàng)坷澡,在大約200 k、400 k和500 k步驟后冷卻含蓉。圖6的上半部分顯示了每個(gè)選項(xiàng)及其冷卻的驗(yàn)證分?jǐn)?shù)(越高越好)频敛,以及兩個(gè)供參考的線性時(shí)間表项郊。當(dāng)一個(gè)人提前知道訓(xùn)練持續(xù)時(shí)間并且不打算再訓(xùn)練時(shí),線性計(jì)劃仍然是可取的斟赚,但所有三個(gè)備選方案都相當(dāng)接近着降,其優(yōu)點(diǎn)是允許不確定的訓(xùn)練,并從一次跑步中評(píng)估多個(gè)訓(xùn)練持續(xù)時(shí)間拗军。對(duì)于每一個(gè)時(shí)間表任洞,我們優(yōu)化了學(xué)習(xí)速度和精確形狀。我們也曾短暫嘗試過循環(huán)學(xué)習(xí)率計(jì)劃发侵,但他們的表現(xiàn)似乎更差交掏,我們沒有進(jìn)一步調(diào)查。因此刃鳄,我們選擇倒數(shù)平方根時(shí)間表盅弛。
3.6選擇模型尺寸
ViT模型有許多控制模型形狀的參數(shù),我們參考原始出版物了解詳細(xì)信息叔锐。簡(jiǎn)單地說挪鹏,這些包括圖像塊大小、編碼塊的數(shù)量(深度)愉烙、圖像塊嵌入和自注意的維度(寬度)讨盒、注意頭的數(shù)量以及MLP塊的隱藏維度(MLP寬度)。最重要的是齿梁,我們依靠XLA編譯器來優(yōu)化模型的運(yùn)行速度和內(nèi)存占用催植。在幕后,XLA使用復(fù)雜的啟發(fā)式方法將模型編譯成特定硬件的代碼勺择,以最佳方式權(quán)衡內(nèi)存和速度。因此伦忠,很難預(yù)測(cè)哪種型號(hào)的配置適合單個(gè)設(shè)備上的內(nèi)存省核。
因此,我們運(yùn)行了一個(gè)廣泛的模擬昆码,在那里我們實(shí)例化了大量不同形狀的VIT气忠,并嘗試通過幾個(gè)步驟來訓(xùn)練它們。我們改變深度赋咽、寬度旧噪、頭部和MLP寬度,但將圖像塊大小保持在14像素脓匿。通過這種方式淘钟,我們測(cè)量它們的速度以及給定的模型是否適合設(shè)備的內(nèi)存。圖7總結(jié)了該模擬的結(jié)果陪毡。每個(gè)塊對(duì)應(yīng)一個(gè)模型配置米母,塊的陰影對(duì)應(yīng)于其訓(xùn)練速度(越亮越快)勾扭。橙色塊顯示了未經(jīng)任何修改的原始ViT型號(hào)。綠色塊還包括第3.2節(jié)所述的內(nèi)存節(jié)省铁瞒,以及第3.4節(jié)所述的半精度Adam妙色。最后,藍(lán)色塊與我們改進(jìn)的AdaFactor優(yōu)化器一起使用慧耍。白色區(qū)域中的形狀在任何設(shè)置下都無法放入內(nèi)存身辨。出于空間原因,我們?cè)谶@里僅展示了與實(shí)驗(yàn)相關(guān)的模型芍碧,但請(qǐng)注意煌珊,通過我們的修改,我們能夠適合深度高達(dá)100個(gè)編碼器塊的薄ViT模型师枣。
最初的Vision Transformer出版物在附錄D2中包含了一項(xiàng)關(guān)于擴(kuò)展不同組件之間權(quán)衡的研究怪瓶,得出結(jié)論認(rèn)為,以相似的數(shù)量同時(shí)擴(kuò)展所有方面(深度践美、寬度洗贰、MLP寬度和圖像塊大小)是最有效的陨倡。我們遵循這一建議敛滋,并相應(yīng)地在適合內(nèi)存的范圍內(nèi)為ViT-g和ViT-g選擇形狀,如圖7所示兴革,并在表2中總結(jié)绎晃。
4相關(guān)工作
小型視覺Transformer
早期關(guān)于視覺Transformer的工作主要集中在CIFAR-10的小型網(wǎng)絡(luò)[7]。然而杂曲,視覺Transformer[11]是在最先進(jìn)的中大規(guī)模圖像識(shí)別背景下提出的庶艾;包含86M參數(shù)的最小模型(ViT-B)[33]為訓(xùn)練提供更小的ViT尺寸,從零到ViT Ti擎勘,參數(shù)為5M咱揍。ViT的新變體引入了更小、更便宜的網(wǎng)絡(luò)結(jié)構(gòu)棚饵。例如煤裙,T2T ViT[41]減少了參數(shù)數(shù)量,并使用新的標(biāo)記化和更窄的網(wǎng)絡(luò)進(jìn)行計(jì)算噪漾。為密集預(yù)測(cè)任務(wù)設(shè)計(jì)的錐體VIT[37]遵循類似CNN的錐體結(jié)構(gòu)硼砰,這也減小了模型的大小。CNN和Transformer的混合通常允許較小的模型運(yùn)行良好欣硼,例如[11]中的ViT CNN混合题翰、僵尸網(wǎng)絡(luò)[30]和HaloNet[35]。然而,另一個(gè)方向遍愿,即增加ViT的規(guī)模存淫,卻很少被探索。雖然語言Transformer仍然比視覺Transformer大得多沼填,但理解本文介紹的擴(kuò)展特性和改進(jìn)是朝著這個(gè)方向邁出的一步桅咆。
擴(kuò)展律[17]全面研究了神經(jīng)語言模型的經(jīng)驗(yàn)擴(kuò)展律。作者擬合了描述計(jì)算坞笙、數(shù)據(jù)大小岩饼、模型大小和性能之間關(guān)系的冪律。遵循這些規(guī)律薛夜,成功地訓(xùn)練了175B參數(shù)語言模型GPT-3[4][14] 介紹了其他模式中的自回歸生成建模法籍茧,包括圖像生成。我們的論文包含了第一個(gè)研究尺度規(guī)律的判別模型的圖像梯澜。
放大視覺模型許多論文放大CNN以獲得更好的性能寞冯。EfficientNets[32]提出了一種在深度、寬度和分辨率之間平衡計(jì)算的擴(kuò)展策略晚伙,并將其應(yīng)用于MobileNet吮龄。[2]中重新討論了該策略,以進(jìn)一步提高resnet的性能[13]咆疗。大型CNN在視覺識(shí)別方面取得了優(yōu)異的性能漓帚,例如使用GPipe管道并行性訓(xùn)練的變形蟲-B(18512)(557M參數(shù))[15],在弱標(biāo)記Instagram圖像上預(yù)訓(xùn)練的ResNeXt-101 32×48d(829M參數(shù))[22]午磁,使用JFT-300M上的ImageNet偽標(biāo)簽訓(xùn)練的EfficientNet-L2(480M參數(shù))[40]尝抖,以及在JFT-300M上預(yù)先訓(xùn)練的BiT-L-ResNet152x4(928M參數(shù))[18]。我們是第一個(gè)將視覺Transformer擴(kuò)展到更大尺寸的公司迅皇,并在這方面取得了最新的成果昧辽。
5討論
我們證明了具有足夠訓(xùn)練數(shù)據(jù)的視覺Transformer模型的性能計(jì)算邊界大致遵循(飽和)冪律。關(guān)鍵的是登颓,為了保持在這一前沿奴迅,我們必須同時(shí)調(diào)整計(jì)算總量和模型規(guī)模;也就是說挺据,當(dāng)額外的計(jì)算可用時(shí),不增加模型的大小是次優(yōu)的脖隶。我們還證明了更大的模型更具樣本效率扁耐,并且是非常少的快照學(xué)習(xí)者。最后产阱,我們提出了一種新的訓(xùn)練方法婉称,可以有效地訓(xùn)練大型和高性能的ViT模型。請(qǐng)注意,我們的結(jié)論不一定會(huì)推廣到我們所研究的范圍之外王暗,也不一定會(huì)推廣到ViT模型家族之外悔据。
這項(xiàng)工作的潛在更廣泛的成本是在我們的擴(kuò)展研究中進(jìn)行實(shí)驗(yàn)所需的能量,特別是在訓(xùn)練最大的ViT-G模型時(shí)俗壹。然而科汗,該成本可通過兩種方式攤銷。首先绷雏,此類擴(kuò)展律研究只需進(jìn)行一次头滔;ViT模型的未來開發(fā)人員可能會(huì)使用我們的結(jié)果來設(shè)計(jì)可以使用較少計(jì)算資源進(jìn)行訓(xùn)練的模型。其次涎显,訓(xùn)練的模型主要是為遷移學(xué)習(xí)設(shè)計(jì)的坤检。轉(zhuǎn)移預(yù)先訓(xùn)練的權(quán)重比在下游任務(wù)中從頭開始訓(xùn)練要便宜得多,并且通常達(dá)到更高的精度期吓。因此早歇,通過將我們的模型轉(zhuǎn)移到許多任務(wù),訓(xùn)練前的計(jì)算將進(jìn)一步攤銷讨勤。
致謝
我們感謝James Bradbury和Vivek Sharma在使用大型基礎(chǔ)設(shè)施方面提供的幫助箭跳;阿列克謝·多索維茨基、瓊·普伊格塞弗悬襟、巴茲爾·穆斯塔法和卡洛斯·里克爾梅進(jìn)行了許多有見地的討論衅码;谷歌大腦團(tuán)隊(duì)提供了一個(gè)支持性的研究環(huán)境。
更多的快照學(xué)習(xí)結(jié)果
我們?cè)诟嗟臄?shù)據(jù)集上觀察到類似的擴(kuò)展規(guī)律脊岳,包括牛津IIIT寵物[23]逝段、CIFAR-100[19]和加州理工大學(xué)UCSD鳥類[38]。結(jié)果如圖8所示
圖8:表示質(zhì)量作為總訓(xùn)練計(jì)算的函數(shù)割捅。表示質(zhì)量通過四個(gè)數(shù)據(jù)集上的少量鏡頭錯(cuò)誤率來衡量奶躯。有時(shí)候,比如在《寵物5/10》中亿驾,法律并不完全符合證據(jù)嘹黔,可能是模型不理想,或者法律不具有普遍性莫瞬。
B訓(xùn)練前詳細(xì)信息
我們使用半精度動(dòng)量adafactor優(yōu)化器對(duì)所有ViT模型進(jìn)行預(yù)訓(xùn)練儡蔓。我們使用默認(rèn)的β1=0.9和β2=0.999作為adafactor。對(duì)于小于ViT-g的所有型號(hào)疼邀,我們使用批量4096喂江。對(duì)于型號(hào)ViT-g和ViT-g,為了加快訓(xùn)練旁振,我們將批量最大擴(kuò)展到32768获询,并將訓(xùn)練分配到2048TPUV3芯片涨岁。我們將“頭部”的權(quán)重衰減設(shè)置為3.0,將“身體”的權(quán)重衰減設(shè)置為0.03吉嚣。所有模型均以224×224分辨率進(jìn)行預(yù)訓(xùn)練梢薪,初始裁剪后進(jìn)行隨機(jī)水平翻轉(zhuǎn)預(yù)處理。我們使用倒數(shù)平方根計(jì)劃尝哆,線性學(xué)習(xí)率預(yù)熱為10k步秉撇。我們?cè)诙鄠€(gè)步驟中冷卻訓(xùn)練,如第E節(jié)表格所示较解。
C適應(yīng)細(xì)節(jié)
我們報(bào)告了在多個(gè)數(shù)據(jù)集上的少量線性回歸和精細(xì)調(diào)整結(jié)果畜疾。對(duì)于幾次線性回歸,我們只需解l2?正則化線性回歸問題印衔,使用從224×224分辨率圖像中提取的凍結(jié)嵌入啡捶。
對(duì)于精細(xì)度評(píng)估,我們使用帶有動(dòng)量的SGD優(yōu)化器奸焙。我們使用批量大小512和全局范數(shù)1的梯度剪裁瞎暑。我們不使用權(quán)重衰減進(jìn)行微調(diào)。在[18,34]之后与帆,我們使用更高的分辨率進(jìn)行微調(diào)了赌。更具體地說,我們對(duì)小于ViT-g的ViT模型使用384×384分辨率玄糟,對(duì)ViT-g和ViT-g使用518×518分辨率勿她。我們?cè)谖⒄{(diào)期間僅對(duì)ViT-G模型使用Polyak平均[25],類似于[11]阵翎。默認(rèn)情況下逢并,我們對(duì)20k步數(shù)使用余弦學(xué)習(xí)速率計(jì)劃,但ViT-G采用Polyak平均的固定學(xué)習(xí)速率除外郭卫。我們將學(xué)習(xí)速率線性預(yù)熱500步砍聊。我們掃過兩個(gè)學(xué)習(xí)率{0.03,0.01},然后使用2%的訓(xùn)練分割選擇更好的一個(gè)贰军。在VTAB任務(wù)中玻蝌,我們使用固定的0.01學(xué)習(xí)率和余弦學(xué)習(xí)率計(jì)劃。我們總共訓(xùn)練2500步词疼。
D少量放炮結(jié)果的完整表格
我們?cè)趫D8中的四個(gè)數(shù)據(jù)集上提供了5-shot學(xué)習(xí)和10-shot學(xué)習(xí)結(jié)果俯树。表3總結(jié)了ViT-g/14和ViT-g/14。表4贰盗、表5聘萨、表6、表7童太、表8、表9、表10书释、表11和表12總結(jié)了所有其他較小的ViT模型翘贮。我們知道有幾行缺失,這不會(huì)影響擴(kuò)展規(guī)律圖的趨勢(shì)爆惧。
E細(xì)調(diào)結(jié)果的完整表格
我們提供了ImageNet上的微調(diào)結(jié)果狸页,以及在其他兩個(gè)ImageNet V2和ImageNet ReaL測(cè)試拆分上評(píng)估的結(jié)果。所有模型的結(jié)果可從表13扯再、表14芍耘、表15、表16熄阻、表17斋竞、表18、表19秃殉、表20坝初、表21中找到。我們注意到一些缺失行钾军,它們不會(huì)影響擴(kuò)展律圖的趨勢(shì)鳄袍。我們展示了每個(gè)模型的總步驟和冷卻步驟,以及在ImageNet上選擇的最佳微調(diào)學(xué)習(xí)率吏恭,該學(xué)習(xí)率可維持2%的訓(xùn)練分割拗小。