2026年4月23日 星期四

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (ViT) 深度解析

在過去幾年中,Transformer 架構已經在自然語言處理(NLP)領域取得了革命性的成功,成為標準模型架構。然而,當我們將視線轉向電腦視覺(Computer Vision, CV)時,Transformer 的應用起初卻較為有限。傳統上,影像識別主要依靠卷積神經網路(Convolutional Neural Network, CNN)來提取空間屬性,因其優異的局部感受野和參數共享機制而廣泛被採用。過往將注意力(attention)機制融入視覺任務,大多是將其作為 CNN 的輔助元件,或取代 CNN 的部分模組,但整體架構依然高度依賴卷積。因此,研究者一直質疑是否能完全跳脫 CNN,單純利用 Transformer 以序列化方式處理影像,達成甚至超越當前 CNN 的表現。

在此背景下,Dosovitskiy 等人在 2021 年於 ICLR 發表了《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》一文,提出「Vision Transformer (ViT)」架構,並榮獲該屆大會的傑出論文獎。ViT 所傳達的核心理念簡潔而大膽:將影像切割成固定大小的「影像塊」(patches),將每個 patch 視作一個「詞彙」序列,直接將其輸入純 Transformer 進行學習,而非依賴任何卷積模組。此外,ViT 證明了 Transformer 在大規模資料和計算資源的支撐下,能於圖像分類任務中超越傳統 CNN,且訓練成本更具效率。

研究背景與動機

Transformer 自 2017 年被提出後,以自注意力機制(self-attention)打破了 RNN 在長序列學習的瓶頸,成為 NLP 代表性架構。然而影像資料的性質與語言不同,主要具備二維空間結構,且影像中局部鄰域信息對於判別至關重要。過去嘗試將 Transformer 應用於視覺領域時,通常包含將 Transformer 與 CNN 結合,或用 Transformer 模塊替代 CNN 某些層。但 VoV 系列(Visual Transformer)或 DETR(Detection Transformer)仍維持 CNN 作為 backbone 或將 Transformer 限於多模態任務中使用。真正的挑戰是,是否能完全放棄 CNN,僅以 Transformer 處理序列化視覺資料。

此外,Transformer 對計算資源需求極大,純 Transformer 直接套用於高解析度影像,可能導致計算複雜度暴增。ViT 的研究團隊因此提出將影像編碼為大小固定的 patches,再將 patches 展開為序列,減少序列長度,並搭配 Transformer 原生架構,嘗試在大規模資料集上進行預訓練與下游任務微調。

核心方法與創新

ViT 的架構可概括為以下幾個核心創新:

  • 影像切割成固定大小 Patch:將輸入影像(例如224x224 RGB影像)切分為 16x16 像素的塊,每塊展平後轉換成向量,類似 NLP 中詞嵌入(word embedding)的設計。這樣一來,一張影像即被表達為一個固定長度的序列(sequence of patches)。
  • 加入位置編碼(Positional Encoding):Transformer 模型對序列的順序敏感,ViT 為每個影像 patch 加入了位置信息的編碼,使模型能充分利用空間排列結構。
  • 全純 Transformer 架構:採用標準 Transformer Encoder,多層自注意力和前饋網路組成,無需任何卷積層或池化層,直接從原始圖像序列中學習特徵。此設計證明純 Transformer 架構也能捕捉視覺空間結構。
  • 大規模預訓練策略:ViT 使用非常大的資料集,如 JFT-300M(超過3億張標註影像)進行預訓練,然後遷移到中小型公共資料集(如 ImageNet、CIFAR-100、VTAB)。預訓練策略對 ViT 表現起著關鍵作用,強調了大資料量對純 Transformer 視覺模型成功的重要性。

整體流程中,ViT 利用類似 NLP 中的分類標誌([CLS] token)機制,在輸入序列前加入特別的分類向量,用於最終圖像分類決策,經由多層 Transformer 編碼器反覆計算後輸出。

主要實驗結果

ViT 在各種實驗中表現出了令人驚艷的效果:

  • 在 ImageNet-1k 上,經由大規模預訓練後,ViT 模型在不使用任何額外卷積結構的情況下,其 Top-1 準確率超越當時頂尖的 CNN 架構(如 ResNet、EfficientNet)。
  • 在較小資料集和多樣化下游任務(如 CIFAR-100、VTAB)中,ViT 同樣展現出強大泛化能力。相比純 CNN,ViT 在多個基準測試中取得一致領先。
  • 在訓練效率方面,當以相同比例大資料預訓練時,ViT 所需的訓練時間和資源顯著低於複雜的 CNN 同時保持甚至超越精度,顯示純 Transformer 更具計算經濟性。

值得注意的是,ViT 依舊對預訓練數據規模相當敏感;當較少資料訓練時,表現會劣於 CNN,這表明大型資料集與強大計算力仍是 ViT 成功的關鍵奠基。

對 AI 領域的深遠影響

ViT 的提出,代表著電腦視覺領域架構設計思維的一大轉變。過往視覺模型中 CNN 幾乎是不可或缺的主體,而 ViT 則打破了這一固化框架,證明透過純 Transformer 架構結合序列化策略同樣可以成功。這不僅促進優化視覺模型的多樣化發展,也增強視覺任務與 NLP 方法的聯繫,帶來跨域技術融合的契機。

此外,ViT 喚醒研究人員正視大型資料和大規模計算能力對深度學習模型效能的關鍵角色,刺激大家重新思考模型設計與訓練策略的平衡。ViT 也推動相關領域快速發展,如後續出現的 Swin Transformer 引入階層結構以改善細粒度特徵學習,並結合局部和全局注意力機制來提升效率和精度。

整體而言,ViT 不僅豐富了模型架構的多樣性,還引領了電腦視覺向「Transformer 化」邁進,被視為轉折點。未來,ViT 的架構理念與技術細節將持續影響並推動更廣泛的多模態學習、自監督學習以及生成模型的發展,展現出強大的生命力和應用潛力。

總結來說,ViT 是將 NLP 領域的 Transformer 成功經驗移植到視覺領域的里程碑之作,彰顯了純 Transformer 架構在圖像分類任務中的巨大潛能,並對未來 AI 模型設計提供了新的思路與典範。


論文資訊
📄 An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (ViT)
👥 Dosovitskiy, Beyer, Kolesnikov, Weissenborn et al.
🏆 ICLR 2021 · Outstanding Paper
🔗 arxiv.org/abs/2010.11929

沒有留言:

張貼留言