局部歸納偏置真的有必要嗎?探索 Transformer 新范式:一個像素就是一個 token!
共 21548字,需瀏覽 44分鐘
·
2024-06-24 22:00
極市導(dǎo)讀
原始 Transformer 中可以直接將每個單獨(dú)的像素 (pixel) 視為 token。 >>加入極市CV技術(shù)交流群,走在計算機(jī)視覺的最前沿
本文目錄
1 一個像素就是一個 token!探索 Transformer 新范式
(來自 FAIR, Meta AI,阿姆斯特丹大學(xué))
1 PiT 論文解讀
1.1 局部性這個歸納偏置可以在 Transformer 中去除
1.2 ConvNets 中的局部性
1.3 ViTs 中的局部性
1.4 像素 Transformers
1.5 實(shí)驗1:監(jiān)督學(xué)習(xí)
1.6 實(shí)驗2:自監(jiān)督學(xué)習(xí)
1.7 實(shí)驗3:圖像生成
1.8 ViT 中的局部性設(shè)計
1.9 PiT 的局限性
太長不看版
本文不是提出新視覺 Transformer 架構(gòu)的工作,而是質(zhì)疑視覺 Transformer 中歸納偏置 (inductive bias),即現(xiàn)代視覺 Transformer 中局部性 (locality) 的必要性。
本文的發(fā)現(xiàn):原始 Transformer 中可以直接將每個單獨(dú)的像素 (pixel) 視為 token。這可以在目標(biāo)檢測,MAE 自監(jiān)督訓(xùn)練以及基于擴(kuò)散模型的圖像生成這3大任務(wù)上實(shí)現(xiàn)高性能的結(jié)果。本文的模型為 Pixel Transformer (PiT)。
這個發(fā)現(xiàn)與當(dāng)前 ViT 的范式,即將每個 16×16 的 Patch 視為 token 有很大不同。這就是將 ConvNets 的歸納偏差維持在局部的鄰域內(nèi)。
盡管本文直接對單個像素進(jìn)行操作在計算復(fù)雜度來講不太實(shí)用,但作者也相信在為計算機(jī)視覺設(shè)計下一代神經(jīng)架構(gòu)時,社區(qū)會意識到這個問題。
本文的模型適配的任務(wù)
-
作者密切遵循標(biāo)準(zhǔn) Transformer 編碼器的設(shè)計,將該架構(gòu)直接應(yīng)用于輸入圖像中具有可學(xué)習(xí)位置嵌入的無序像素集。這消除了 ViT 中局部性的剩余歸納偏置。作者將其命名為 Pixel Transformer (PiT),如圖1所示。從概念上講,PiT 可以看作是 ViT 的簡化版本,具有 1×1 大小 Patch 而不是 16×16。 -
使用 Masked Autoencoding (MAE) 的框架作掩碼圖片建模預(yù)訓(xùn)練,然后微調(diào)做分類任務(wù)。數(shù)據(jù)集 CIFAR-100。 -
使用 Diffusion Transformer (DiT) 的框架作圖像生成任務(wù)。
在這3個任務(wù)上,作者發(fā)現(xiàn) PiT 表現(xiàn)合理,且比配備局部歸納偏置的基線獲得了更好的結(jié)果。
1 一個像素就是一個 token!探索 Transformer 新范式
論文名稱:An Image is Worth More Than 16 ×16 Patches: Exploring Transformers on Individual Pixels (Arxiv 2024.06)
論文地址:
http://arxiv.org/pdf/2406.09415
1.1 局部性這個歸納偏置可以在 Transformer 中去除
深度學(xué)習(xí)的革命可以被歸結(jié)為計算機(jī)視覺中歸納偏置 (inductive bias) 的革命。在神經(jīng)網(wǎng)絡(luò)之前,人們手工設(shè)計特征。對于特定的任務(wù),編碼一些預(yù)先定義好的有用的模式和結(jié)構(gòu)。但是在神經(jīng)網(wǎng)絡(luò)之后,特征不再通過手工設(shè)計,而是通過大量數(shù)據(jù)使用預(yù)定義的神經(jīng)網(wǎng)絡(luò)架構(gòu)直接學(xué)習(xí)得到。這種范式的轉(zhuǎn)變強(qiáng)調(diào)了減少特征偏差的重要性,這樣得以創(chuàng)建更加通用和強(qiáng)大的視覺系統(tǒng)。
除了特征之外,模型架構(gòu)還具有歸納偏置。減少架構(gòu)上的歸納偏置,不僅可以促進(jìn)不同任務(wù)的大一統(tǒng),也可以促進(jìn)不同數(shù)據(jù)模態(tài)的大一統(tǒng)。Transformer[1]架構(gòu)就是一個典型的例子。一開始是為了語言任務(wù)設(shè)計的,后來它可以被應(yīng)用于圖像[2]、點(diǎn)云[3]、代碼[4]和許多其他模態(tài)的數(shù)據(jù)中。值得一提的是,與 ConvNets 相比,Vision Transformer (ViT) 攜帶的圖像特定的歸納偏置要少得多。但是盡管如此,這種歸納偏置得初始優(yōu)勢很快就會被大量數(shù)據(jù)和大尺寸的模型所抵消,最終反而成為防止 ConvNets 進(jìn)一步縮放的限制。
當(dāng)然,ViT 也不是完全沒有歸納偏置。它擺脫了 ConvNet 中的金字塔結(jié)構(gòu) (spatial hierarchy),使用一個 plain 的架構(gòu)進(jìn)行建模。對于 ConvNets 的其他歸納偏差并沒有完全去掉。比如這里討論3種歸納偏置:Spatial Hierarchy,Translation Equivariance, Locality。后面的 Translation Equivariance 和 Locality 仍然存在于 ViT 中。其中,Translation Equivariance 存在于 Patch projection 層和中間 Block 中,Locality 存在于 Patchify 步驟中。因此,出現(xiàn)了一個自然的問題:究竟能否完全消除其余的這2個歸納偏差中的任何一個或者全部消除?本文旨在回答這個問題。
本文的發(fā)現(xiàn)令人驚訝:Locality 可以完全被去除。 作者通過直接將每個單獨(dú)的像素 (Pixel) 視為 Transformer 的 token 并使用從頭開始學(xué)習(xí)的位置編碼,得出這一結(jié)論。通過這種方式,作者引入了關(guān)于圖像二維網(wǎng)格結(jié)構(gòu)的零先驗。作者將 Pixel Transformer 的縮寫命名為 PiT。有趣的是,PiT 的訓(xùn)練不僅沒有發(fā)散,也沒有陡峭的性能退化,而是可以獲得更好的結(jié)果。這說明 Transformer 架構(gòu)可以將圖片視為單個 Pixel 的集合,而不是僅僅是 16×16 的 Patch。這個發(fā)現(xiàn)挑戰(zhàn)了傳統(tǒng)的觀念,即:"局部性是視覺任務(wù)的基本歸納偏置"。
作為相關(guān)研究,作者還研究了其他2個個局部性設(shè)計 (Position Embedding 和 Patchification) 在標(biāo)準(zhǔn) ViT 架構(gòu)中的重要性。對于Position Embedding 使用3種選擇:sin-cos、learned 和 none。sin-cos 攜帶局部性偏置,其他兩個沒有。本文的結(jié)果表明,Patchification 提供了更強(qiáng)的局部性先驗,并且平移等變性對于網(wǎng)絡(luò)設(shè)計仍然是必不可少的。
1.2 ConvNets 中的局部性
局部性這種歸納偏置指的是相鄰像素比距離較遠(yuǎn)的像素更相關(guān)的屬性。
在 ConvNet 中,局部性反映在網(wǎng)絡(luò)每一層的特征的感受野中。直觀地說,感受野覆蓋了計算特定特征所涉及的像素,對于 ConvNets 而言這些區(qū)域是局部的。
具體來說,ConvNets 由很多層組成,每一層都包含一定大小的卷積核 (例如 7×7 或 3×3) 或池化操作的卷積操作,這兩者都是局部有偏差的。例如,第一層的感受野通常僅對應(yīng)于一個小的局部窗口。隨著網(wǎng)絡(luò)的深入,該區(qū)域逐步擴(kuò)展,但窗口仍然是局部的,并以像素的位置為中心。
1.3 ViTs 中的局部性
乍一看,Transformer 架構(gòu)是沒有局部性的,因為大多數(shù) Transformer 操作要么是全局的 (例如,Self-Attention),要么是純粹在每個單獨(dú)的 token (比如 MLP) 內(nèi)部。然而,仔細(xì)觀察 ViT 中的兩個設(shè)計,這些設(shè)計仍然可以保留局部歸納偏置:Patchification 和 Position Embedding。
Patchification 的局部性: 在 ViT 中,輸入到 Transformer Block 中的 token 是一個個 Patch,而不是 Pixel。每個 Patch 由 16×16 的 Pixel 所組成,成為第1個投影層之后的基本單元。這意味著 Patch 內(nèi)的計算量與 Patch 的數(shù)量有很大不同:16×16 區(qū)域之外的信息只能通過 Self-Attention 傳播,而 16×16 區(qū)域內(nèi)部的信息總是被當(dāng)做是 token 一起處理。雖然在第一個 Self-Attention 之后感受野變成了全局的,但是在 Patchification 步驟中已經(jīng)引入了局部性這種歸納偏置。
Position Embedding 的局部性: Position Embedding 可以是可學(xué)習(xí)的,也可以在訓(xùn)練期間手動設(shè)計和固定。對于圖像而言的正常選擇是使用 2D sin-cos embedding[5][6]。由于 sin-cos 函數(shù)是平滑的,它們傾向于引入歸納偏置:附件的 token 更相似。位置編碼還有其他的一些變體[2],但它們都可以攜帶有關(guān)圖像的 2D 網(wǎng)格結(jié)構(gòu)的信息,這與沒有對輸入做出假設(shè)的可學(xué)習(xí)的位置編碼不同。
當(dāng)位置嵌入作插值操作時,局部性歸納偏置也會被利用。通過雙線性或雙三次插值,使用空間接近的嵌入來生成當(dāng)前位置的新嵌入,這也利用局部性作為先驗。
與 ConvNets 相比,ViT 設(shè)計中的局部性歸納偏置要少很多。作者接下來通過完全刪除這種偏置進(jìn)一步推動這一點(diǎn)。
1.4 像素 Transformers
作者密切遵循標(biāo)準(zhǔn) Transformer 編碼器的設(shè)計,將該架構(gòu)直接應(yīng)用于輸入圖像中具有可學(xué)習(xí)位置嵌入的無序像素集。這消除了 ViT 中局部性的剩余歸納偏置。作者將其命名為 Pixel Transformer (PiT),如圖1所示。從概念上講,PiT 可以看作是 ViT 的簡化版本,具有 1×1 大小 Patch而不是 16×16。
形式上, 作者將輸入序列表示為 , 其中 是序列長度, 是 hidden dimension。Transformer 將輸入序列 映射到表征序列 。架構(gòu)是 層, 每層包含兩個模塊分別是 Self-Attention 和 MLP:
式中, 是輸入序列 代表 Transformer 中的第 層。
計算機(jī)視覺到網(wǎng)絡(luò)的典型輸入是 RGB 值的圖像, , 其中 是原始圖像大小。作者使用一個簡單的解決方案, 并將 視為一組無序像素的集合 。因此, PiT 只需通過線性投影層 將每個像素投影到 維向量中, 得到 的輸入 tokens, 其中 。遵循 ViT 的做法附加一個可學(xué)習(xí)的 [c|s] token 到序列中。然后將像素 tokens 輸入 Transformer 中:
其中, 是可學(xué)習(xí)位置編碼的集合。
PiT 去除了 ViT 中最后的歸納偏差,即局部性。通過將單個像素直接視為 token,作者假設(shè)架構(gòu)中沒有空間關(guān)系,并讓模型學(xué)習(xí)這種關(guān)系。這與 ConvNets 中的卷積核或者 ViT 中基于 Patch 的 token 不同,后者基于像素的接近程度強(qiáng)制執(zhí)行歸納偏置。在這方面,PiT 更通用:它可以自然地對任意大小的圖像進(jìn)行建模 (不需要被 stride 或 Patch 的大小整除),甚至可以推廣到不規(guī)則區(qū)域。
除了去除局部性外, 使用每個像素作為一個單獨(dú)的 token 還有一個額外的好處。與將字符視為語言的 token 類似, 可以大大減少輸入標(biāo)記到 Transformer 的詞匯量。具體來說, 給定 范圍內(nèi)三個顏色通道的像素, 詞匯量最大為 (因為像素采用離散整數(shù)值)。然而, ViT 中 的 Patch token 可以導(dǎo)致高達(dá) 的詞匯量。
作者通過3個案例研究驗證了 PiT 的有效性:監(jiān)督學(xué)習(xí)、MAE 的自監(jiān)督學(xué)習(xí)、DiT 圖像生成。作者使用 PiT 的4個變體:Tiny (T)、Small (S)、Base (B) 和 Large (L),規(guī)格如圖3所示。實(shí)驗表明,PiT 確實(shí)可以學(xué)習(xí)強(qiáng)視覺表示,而對局部性沒有歸納偏差。
1.5 實(shí)驗1:監(jiān)督學(xué)習(xí)
作者從頭開始訓(xùn)練和評估 PiT,無需任何預(yù)訓(xùn)練。基線是 Patch Size 為 2×2 的 ViT。
數(shù)據(jù)集:CIFAR-100, ImageNet。
雖然 CIFAR-100 由于其 32×32 的圖像大小,適合于探索 PiT 的有效性,但 ImageNet 有更多的圖像,這有助于進(jìn)一步確認(rèn)本文發(fā)現(xiàn)。
對于 CIFAR-100,由于即使對于 ViT 也缺乏最佳的訓(xùn)練配方,因此作者搜索訓(xùn)練配方并報告 Tiny 和 Small 模型的結(jié)果。作者使用[7]的增強(qiáng)從頭開始訓(xùn)練,因為作者發(fā)現(xiàn)更高級的增強(qiáng) (例如 AutoAug) 在這種情況下沒有幫助。所有模型都使用 AdamW 進(jìn)行訓(xùn)練。作者使用 1024 的 Batch Size、0.3 的 Weight Decay、0.1 的 Drop Path 和 0.004 的初始學(xué)習(xí)率,作者發(fā)現(xiàn)對于所有模型來說是最好的。使用 20 個 Epoch 的線性學(xué)習(xí)率 warmup,余弦學(xué)習(xí)率衰減到 1e-6。訓(xùn)練 2400 個 Epoch,補(bǔ)償數(shù)據(jù)集的小尺寸。
在 ImageNet 上,作者密切關(guān)注 ViT 從頭開始的訓(xùn)練配方,并使用 PiT-S 和 PiT-B 報告結(jié)果。由于計算的限制,默認(rèn)情況下,圖像被裁剪并調(diào)整為 28×28 作為低分辨率輸入。全局平均池化輸出用于分類。訓(xùn)練 Batch Size 為 4096,初始學(xué)習(xí)率為 ,權(quán)重衰減為 0.3,Drop Path 為 0.1,訓(xùn)練長度為 300 個 Epoch。使用 MixUp (0.8)、CutMix (1.0)、RandAug (9, 0.5) 和指數(shù)移動平均 (0.9999)。
雖然本文的2個 ViT 變體 (ViT-T 和 ViT-S) 的基線在 CIFAR-100 上得到了很好的優(yōu)化 (例如,[8]報告了 ViT-B 的 72.6% 的 Acc@1,但是使用較小尺寸的模型實(shí)現(xiàn)了 80+%),PiT-T 比 ViT-T 提高了 1.5% 的 Acc@1;當(dāng)使用更大的模型 (S) 時,PiT Acc@1 比 Tiny 模型提高了 1.3%,而 ViT 似乎出現(xiàn)飽和。這些結(jié)果表明,與基于 Patch 的 ViT 相比,PiT 有可能直接從像素中學(xué)習(xí)新的、數(shù)據(jù)驅(qū)動的模式。
本文的觀察也轉(zhuǎn)移到 ImageNet,盡管分辨率顯著降低,但結(jié)果明顯低于最先進(jìn)的[2][9] (80+%),PiT 在嘗試的兩種設(shè)置中仍然優(yōu)于 ViT。
如果使用可學(xué)習(xí)的位置編碼, PiT 只是具有 Patch 的 ViT。因此, 在改變 ViT 的 Patch Size 時, 研究性能趨勢是至關(guān)重要的。涉及3個變量: 序列長度 、輸入大小 和 Patch Size 。它們具有確定性關(guān)系: 。因此, 有兩種方法來研究 Acc@1 與 Patch Size 的變化趨勢:
1) 固定序列長度: 作者在圖 3(a) 中展示了具有固定 的 ImageNet 的精度趨勢。模型大小為 ViT-B。在此圖中,當(dāng)改變 Patch Size 從 16×16 到 1×1 時,輸入大小會有所不同,即從 224×224 到 14×14。最后一個數(shù)據(jù)點(diǎn)等價于 PiT-B。如果遵循這一趨勢,那么 PiT 性能是最差的。這意味著即使對于分類,序列長度也不是 Acc@1 的唯一決定因素。Input size,或輸入到模型中的信息量可以說是更重要的因素,尤其是當(dāng) Input size 較小時。只有當(dāng) Input size 足夠大 (例如 112×112) 時,進(jìn)一步擴(kuò)大 Input size 的邊際效應(yīng)才開始遞減。這也意味著當(dāng)輸入的信息量不夠時,PiT 或遵循這種設(shè)計的任何架構(gòu) (例如,iGPT) 的效果不佳。
2) 固定輸入大小: 當(dāng)固定輸入大小 (信息量) 時,并在圖 3(b) 中改變 ImageNet 上的 Patch Size。模型大小為 ViT-S。有趣的是,作者在這里觀察到相反的趨勢:減少 Patch Size (或增加序列長度) 總是有幫助的,這與之前聲稱序列長度非常重要的研究一致注意即使趨勢最終達(dá)到 PiT,即沒有任何局部性的模型,趨勢也成立。因此,與 ViT 相比,PiT 在精度方面表現(xiàn)更好。
1.6 實(shí)驗2:自監(jiān)督學(xué)習(xí)
作者使用 MAE 自監(jiān)督預(yù)訓(xùn)練研究 PiT,然后作有監(jiān)督微調(diào)完成分類任務(wù)。選擇 MAE 是因為它的效率只保留了 25% 的序列長度。
數(shù)據(jù)集使用 CIFAR-100,因為它大小為 32 × 32 的圖像,使得能夠充分探索使用像素作為原始分辨率的 token。首先在 CIFAR-100 訓(xùn)練集上執(zhí)行預(yù)訓(xùn)練。然后它在微調(diào)階段用作初始化 (也在 CIFAR-100 訓(xùn)練集上訓(xùn)練)。同樣在 CIFAR-100 上使用圖像分類作為下游任務(wù)。
作者遵循標(biāo)準(zhǔn) MAE 并使用 75% 的 mask ratio 并隨機(jī)選擇 tokens。給定剩余的 25% 可見標(biāo)記,模型需要使用像素回歸重建掩碼區(qū)域。由于 CIFAR-100 上 MAE[5]沒有已知的默認(rèn)訓(xùn)練設(shè)置,作者使用 PiT-T 和 PiT-S 搜索訓(xùn)練策略并報告結(jié)果。直接使用 MAE[5]的數(shù)據(jù)增強(qiáng)策略。所有模型都使用 AdamW 進(jìn)行預(yù)訓(xùn)練。作者使用 MAE[5]的預(yù)訓(xùn)練策略執(zhí)行 1600 個 Epoch 的預(yù)訓(xùn)練,除了初始學(xué)習(xí)率為 0.004,學(xué)習(xí)率衰減為 0.85。
如圖4中所示。可以發(fā)現(xiàn)對于 PiT,與從頭開始訓(xùn)練相比,MAE 自監(jiān)督預(yù)訓(xùn)練提高了精度。對于 PiT-T 和 PiT-S 也是如此。值得注意的是,當(dāng)從 Tiny 遷移到 Small 模型時,ViT 和 PiT 之間的差距變得更大。這表明 PiT 可能比 ViT 有更好的擴(kuò)展性。
1.7 實(shí)驗3:圖像生成
作者使用 Diffusion Transformer (DiT) 做圖像生成任務(wù),它具有與普通 ViT 不同的架構(gòu),并對 VQGAN 的 latent token 進(jìn)行操作,將輸入大小縮小到 8×。數(shù)據(jù)集方面,使用 ImageNet 進(jìn)行 class-conditional generation,每張圖像的中心裁剪為 256×256,得到 32×32×4 的輸入特征圖大小 (4 是通道維度)。PiT-L 被饋送到此特征圖中,與 Baseline DiT-L/2 相同。
作者遵循 DiT 訓(xùn)練的設(shè)置,Batch Size 為 (2048),使訓(xùn)練更快 (原始訓(xùn)練配方使用 256 的 Batch Size)。為了使訓(xùn)練穩(wěn)定,執(zhí)行線性學(xué)習(xí)率 100 個 Epoch,然后在總共 400 個 Epoch 中保持它不變。使用 8e-4 的最大學(xué)習(xí)率,不使用權(quán)重衰減。
PiT-L的采樣代如圖5所示。采樣需要250個 time steps,latent diffusion 的輸出使用 VQGAN 解碼器映射回像素空間。使用了 4.0 的 Classifier-free guidance。
作者在圖6中報告了 DiT-L/2 和 PiT-L 之間的性能比較。盡管訓(xùn)練策略發(fā)生了變化,但本文基線很強(qiáng):與訓(xùn)練 ~470 個 Epoch 的 DiT-XL 的10.67的 FID 相比,本文 DiT-L/2 在沒有 classifier-free guidance 的情況下達(dá)到了 8.90。作者主要比較前兩行使用具有 250 個采樣步驟的 1.5 的 classifier-free guidance。使用 PiT 對 latent pixel 進(jìn)行操作,它在3個指標(biāo) (FID、sFID 和 IS) 上的表現(xiàn)優(yōu)于 Baseline,并且在精度/召回率上持平。
PiT 開箱即用的事實(shí)表明本文觀察具有很好的泛化能力:沒有局部性的神經(jīng)網(wǎng)絡(luò)架構(gòu)可被用于不同的任務(wù)和架構(gòu)。
1.8 ViT 中的局部性設(shè)計
作者檢查了2個 ViT 中與局部性相關(guān)的設(shè)計:(i) Position Embedding 和 (ii) Patchification。使用 ViT-B 進(jìn)行ImageNet 監(jiān)督分類。采用與 MAE 完全相同的超參數(shù)、增強(qiáng)和其他訓(xùn)練細(xì)節(jié)。值得注意的是,圖像被裁剪和調(diào)整大小為 224×224,分為 16×16 不重疊的 Patches。
Position Embedding
作者從3個 Position Embedding 的候選中進(jìn)行選擇:sin-cos、learned 和 none。第1個選項將局部性引入模型中,而其他2個則沒有。
結(jié)果顯示,可學(xué)習(xí)的位置編碼與固定的 sin-cos 位置編碼性能差不多。即使根本沒有位置編碼,性能僅略有下降。
Patchification
接下來,作者使用可學(xué)習(xí)的位置編碼和研究 Patchification。為了系統(tǒng)地減少 Patchification 的局部性,作者認(rèn)為相鄰的像素不應(yīng)該綁定在同一個 Patch 中。因此,作者進(jìn)行了一個 pixel-wise 的排列,將結(jié)果序列再分成獨(dú)立的 tokens。每個 token 包含 256 個 pixels,與 16×16 Patch 中的 pixel 數(shù)量相同。
排列一共執(zhí)行 步, 每個步驟將在距離閾值 內(nèi)交換像素對 ( 2 表示在 鄰域內(nèi)交換, inf 表示可以交換任何像素對)。在 2D 圖像上使用漢明距離。 和 控制圖像的 "損壞" 程度:較大的 和 表示對局部鄰域的損壞更多, 因此采取了更多的局部性偏置。圖8展示了4種這樣的排列。
如圖9所示為實(shí)驗結(jié)果。在左圖中, 作者在沒有距離約束的情況下改變 (即 ) 。隨著混洗像素對數(shù)量的增加, 性能緩慢退化 (到 )。然后我們隨著我們進(jìn)一步增加 發(fā)現(xiàn)性能迅速退化。在 時, Acc@1 下降到 , 比完整圖像減少了 。注意, 總共有 像素對, 因此 表示幾乎混排所有的像素了。右圖展示了固定 為 或者 時, 不斷增加 所帶來的影響。當(dāng)允許更遠(yuǎn)距離像素的排列時, 對性能的影響更大。
總體來講,與改變 Position Embedding 相比,像素排列對精度產(chǎn)生了更顯著的影響,這表明 Patchification 對 ViT 的整體設(shè)計更為關(guān)鍵,強(qiáng)調(diào)了本文完全刪除 Patchification 工作的價值。
1.9 PiT 的局限性
因為將每個 Pixel 視為一個 token 會導(dǎo)致序列長度比之前要長得多,所以 PiT 不像 ViT 那樣實(shí)用。Transformers 中的 Self-Attention 操作需要二次復(fù)雜度的計算。因此在實(shí)踐中,把圖片視為 16×16 的 Patch 仍然可以說是最有效的想法,以質(zhì)量換取效率,局部性仍然有用。盡管如此,作者相信本文的結(jié)果提供了一個干凈、令人信服的證明,即 "局部性不是模型設(shè)計的必要?dú)w納偏置"。
而且,隨著處理 LLM 的超長序列 (高達(dá)百萬) 技術(shù)[10]的發(fā)展,完全有可能直接在所有像素上訓(xùn)練 PiT (例如,ImageNet 上的標(biāo)準(zhǔn) 224×224 圖片包含 50,176 像素)。因此,本文的目的是以較小的規(guī)模經(jīng)驗驗證 PiT 的有效性和潛力。作者并將實(shí)際部署的工程努力留到未來,也相信這一發(fā)現(xiàn)將是探索下一代處理圖像時社區(qū)知識不可或缺的一部分。
參考
-
^Attention is All you Need -
^abcAn Image is Worth 16x16 Words: Transformers for Image Recognition at Scale -
^Point Transformer -
^Evaluating Large Language Models Trained on Code -
^abcdMasked Autoencoders Are Scalable Vision Learners -
^An Empirical Study of Training Self-Supervised Vision Transformers -
^Momentum Contrast for Unsupervised Visual Representation Learning -
^Asymmetric Patch Sampling for Contrastive Learning -
^Going deeper with Image Transformers -
^FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness
公眾號后臺回復(fù)“數(shù)據(jù)集”獲取100+深度學(xué)習(xí)各方向資源整理
極市干貨
點(diǎn)擊閱讀原文進(jìn)入CV社區(qū)
收獲更多技術(shù)干貨
