最新NaViT模型炸場(chǎng)!適用任何長(zhǎng)寬比+分辨率,性能能打的Transformer
今天要介紹的是NaViT,這是一種適用于任何長(zhǎng)寬比以及分辨率的Transformer模型。
在使用計(jì)算機(jī)視覺(jué)模型處理圖像之前,要先將圖像調(diào)整到固定的分辨率,這種方式很普遍,但并不是最佳選擇。
Vision Transformer(ViT)等模型提供了靈活的基于序列的建模,因此可以改變輸入序列的長(zhǎng)度。
在本篇論文中,研究人員利用NaViT(原生分辨率ViT)的這一優(yōu)勢(shì),在訓(xùn)練過(guò)程中使用序列打包,來(lái)處理任意分辨率和長(zhǎng)寬比的輸入內(nèi)容。
在靈活使用模型的同時(shí),研究人員還展示了在大規(guī)模監(jiān)督和對(duì)比圖像-文本預(yù)訓(xùn)練中訓(xùn)練效率的提高。
NaViT可以高效地應(yīng)用于圖像和視頻分類(lèi)、物體檢測(cè)和語(yǔ)義分割等標(biāo)準(zhǔn)任務(wù),并在魯棒性和公平性基準(zhǔn)方面取得了更好的結(jié)果。
在推理時(shí),輸入分辨率的靈活性可用于平滑地控制測(cè)試時(shí)間的性?xún)r(jià)比權(quán)衡。
研究人員相信,NaViT標(biāo)志著脫離了大多數(shù)計(jì)算機(jī)視覺(jué)模型所使用的標(biāo)準(zhǔn)CNN設(shè)計(jì)的輸入和建模流水線(xiàn),代表了ViTs的一個(gè)有前途的方向。
如下圖所示,NaViT在預(yù)訓(xùn)練期間(左圖)有顯著的計(jì)算效率,并可用于下游微調(diào)(中圖)。
且單個(gè)NaViT可成功應(yīng)用于多個(gè)分辨率(右圖),在性能和推理成本之間實(shí)現(xiàn)平衡。
圖片
要知道,深度神經(jīng)網(wǎng)絡(luò)通常以成批輸入進(jìn)行訓(xùn)練和運(yùn)行。
為了在硬件上實(shí)現(xiàn)高效的處理,意味著批次形狀是固定的,反過(guò)來(lái)又說(shuō)明計(jì)算機(jī)視覺(jué)應(yīng)用的圖像大小是固定的。
這一點(diǎn)再加上卷積神經(jīng)網(wǎng)絡(luò)歷來(lái)存在的架構(gòu)限制,導(dǎo)致研究人員要么調(diào)整圖像大小,要么將圖像填充為固定大小。
但這兩種方法都存在缺陷:前者損害性能,后者效率低下。
ImageNet、LVIS和WebLI分別作為分類(lèi)、檢測(cè)和網(wǎng)絡(luò)圖像數(shù)據(jù)集的代表實(shí)例,對(duì)其長(zhǎng)寬比的分析表明,大多數(shù)圖像通常不是正方形的,如下圖所示。
圖片
在語(yǔ)言建模中,通常通過(guò)示例打包繞過(guò)固定序列長(zhǎng)度的限制:來(lái)自多個(gè)不同示例的標(biāo)記被組合在一個(gè)序列中,這可以顯著加快語(yǔ)言模型的訓(xùn)練。
通過(guò)將圖像視為補(bǔ)?。?biāo)記)序列,研究人員發(fā)現(xiàn),Vision Transformers也能從同樣的范式中獲益,研究人員稱(chēng)之為Patch n' Pack。
應(yīng)用這種技術(shù),可以在原有的分辨率的圖像上訓(xùn)練視覺(jué)transformer。
示例包裝后可以在保持長(zhǎng)寬比的情況下實(shí)現(xiàn)可變分辨率圖像,從而減少訓(xùn)練時(shí)間,提高性能和靈活性。
研究人員展示了為支持Patch n'Pack而需要修改的數(shù)據(jù)預(yù)處理和建模。
圖片
研究人員在NaViT中使用的基本架構(gòu)沿用了Vanilla ViT,并進(jìn)行了必要修改。
此外,研究人員還對(duì)ViT進(jìn)行了一些小的改進(jìn)。
研究人員在兩種設(shè)置中對(duì)NaViT進(jìn)行預(yù)訓(xùn)練:在JFT-4B上進(jìn)行分類(lèi)訓(xùn)練和在WebLI上進(jìn)行對(duì)比語(yǔ)言圖像訓(xùn)練。
通常情況下,對(duì)于JFT,在訓(xùn)練前會(huì)對(duì)圖像進(jìn)行截取。而在這兩種情況下,圖像都會(huì)被調(diào)整為正方形。
除非另有說(shuō)明,所有NaViT模型都是在沒(méi)有這些操作的情況下進(jìn)行預(yù)訓(xùn)練的,并保留了原有的長(zhǎng)寬比。
NaViT使用FLAX庫(kù),在JAX中實(shí)現(xiàn),并在Scenic中進(jìn)行構(gòu)建。
這里研究人員進(jìn)行了兩種不同的與訓(xùn)練——
分類(lèi)預(yù)訓(xùn)練和對(duì)比預(yù)訓(xùn)練。
圖片
上圖展示了通過(guò)序列打包實(shí)現(xiàn)的連續(xù)token丟棄策略,提高了表現(xiàn)性能。
研究人員對(duì)論文中所介紹的的因子化嵌入及其設(shè)計(jì)選擇進(jìn)行評(píng)估。
他們關(guān)注的是絕對(duì)性能,以及對(duì)訓(xùn)練體系之外的分辨率的推斷。
為了測(cè)試這一點(diǎn),研究人員在JFT上對(duì)NaViT-B/16模型進(jìn)行了200k步的訓(xùn)練,分辨率為R~U(160, 352)。
在不修改嵌入變量的情況下,研究人員評(píng)估了一系列分辨率下的性能,將ViT-B/16與在固定分辨率256下訓(xùn)練的ViT-B/16進(jìn)行比較。
對(duì)于相同數(shù)量的圖像,在新的分辨率下使用位置嵌入的標(biāo)準(zhǔn)插值進(jìn)行了評(píng)估。
下圖則是測(cè)試結(jié)果。
很明顯能發(fā)現(xiàn)的是,因子化方法優(yōu)于基線(xiàn)ViT和Pix2struct的學(xué)習(xí)型二維嵌入,后者尤其難以泛化到更高分辨率。
NaViT在ImageNet-A上的表現(xiàn)也更好,因?yàn)镮mageNet-A上有許多長(zhǎng)寬比極高的圖像,而且重要信息都在圖片中心之外。
圖片
下圖展示了使用NaViT-L/16或ViT-L/16評(píng)估根據(jù)公平性相關(guān)信號(hào)訓(xùn)練的注釋器的準(zhǔn)確性。
左圖:NaViT提供了更好的表示方法,提高了注釋器的準(zhǔn)確性。
右圖:與將圖像大小調(diào)整為正方形相比,在NaViT中使用原始長(zhǎng)寬比可獲得更高的性能。
圖片
研究人員已經(jīng)證明,Patch n' Pack--序列打包在視覺(jué)變換器中的簡(jiǎn)單應(yīng)用--可顯著提高訓(xùn)練效率。由此產(chǎn)生的NaViT模型可在推理時(shí)應(yīng)用于多種分辨率,并以低成本適應(yīng)新任務(wù)。
Patch n'Pack使得以前因?yàn)樾枰潭ㄐ螤疃M(jìn)行不下去的各種研究成為可能,包括自適應(yīng)計(jì)算和提高訓(xùn)練和推理效率的新算法。
詳細(xì)研究請(qǐng)參考原論文。因能力有限,本文翻譯中若有錯(cuò)訛,深表歉意。