2026年6月5日 星期五

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (ViT) - 深度簡介

在過去幾年裡,Transformer 架構在自然語言處理(NLP)領域大放異彩,成為標準且有效的模型架構。然而,在電腦視覺(Computer Vision, CV)領域,Transformer 的應用則相對有限。傳統上,視覺任務大多依賴卷積神經網路(Convolutional Neural Networks, CNN),因為 CNN 在特徵萃取與局部結構捕捉上具有天然優勢,特別適用於圖像資料。盡管已有多項嘗試將注意力機制(Attention)與卷積網路結合,或者替代卷積網路的某些元件以提升表現,但大多數現有方案仍離不開卷積架構的框架。

《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》(Vision Transformer, ViT)這篇論文,由Dosovitskiy等人於2021年 ICLR頂會發表,打破了這項傳統印象。他們提出,Transformer 不必依賴 CNN,也能直接應用於圖像資料,僅需將影像切割成小區塊(patches),將每個小區塊平坦化並映射成一維的向量序列,視作「詞彙(words)」,然後用純粹的 Transformer 架構進行處理。本文證明了這種“純 Transformer 應用於圖像”的方法,不僅可行,而且在大規模數據預訓練下,能在多項圖像辨識基準上達到或優於先進 CNN 模型的表現,同時在訓練過程中對計算資源的需求更為節省。

研究背景與動機

Transformer 架構由 Vaswani 等人在 2017 年提出,憑藉其自注意力機制(Self-Attention)能有效捕捉長距離依賴關係,成為 NLP 領域的革命性創新。隨著BERT、GPT系列等模型的成功,Transformer 逐漸成為語言任務的主流架構。

相比之下,CV 領域長久以來以 CNN 為主流,因其天然適合處理像素結構且在計算效能與性能上表現優異。雖然近期有研究嘗試將注意力機制融入 CNN 中,形成如 CBAM、Non-local 等架構,但依然離不開卷積操作。更重要的是,視覺資料的高維度與稠密結構讓Transformer 自身的計算成本加劇,難以直接套用於原始圖像。

ViT 的核心動機在於:能否完全去除卷積結構,直接用 Transformer 的架構處理圖像?只要將圖像拆分成小片段(類似 NLP 的詞彙),Transformer 是否能學習圖像的空間特徵且取得競爭的效果?若能成功,將推動視覺架構設計的新思維與未來發展。

核心方法與創新

ViT 的主要創新在於圖像結構的「序列化」。具體方法如下:

  1. 圖像切片(Patch Embedding): 將輸入圖像(例如 224×224 像素 RGB)均勻切成 16×16 的小片段(patch),一張圖因而被拆解成了 (224/16)×(224/16)=14×14=196 個patch。每個patch是包含 16×16×3 = 768 維的像素向量,經由一個線性映射層轉換為固定長度的向量,類似 NLP 中的詞向量。
  2. 位置編碼(Positional Encoding): 由於Transformer本身對序列位置是無感知的,ViT為每個patch引入學習的絕對位置編碼,以保留圖像空間的排列資訊。
  3. Transformer 編碼器: 將圖像的 patch 序列與位置編碼相加後,送入標準的多層 Transformer 編碼器。每層包含多頭自注意力(Multi-Head Self-Attention)與前饋神經網路(Feed-Forward Network),無需任何卷積操作。
  4. 分類標記(Class Token): 類似於BERT的[CLS]標記,ViT 在 patch 序列前加入一個 learnable 的分類標記,Transformer 編碼器輸出的該標記向量以用於最終的分類任務。
  5. 模型規模與大規模預訓練: ViT 在大量數據(如 JFT-300M,大規模標記圖像數據集)上進行預訓練,再透過微調(fine-tuning)遷移到相對中型或小型數據集(如 ImageNet、CIFAR-100 等),展現卓越的泛化能力與性能。

這種設計的關鍵在於:使用 Transformer 在局部信息(patch)與全局關係(注意力機制)間建立靈活聯繫,取代傳統 CNN 用捲積核局部滑動的固有偏好(inductive bias),允許模型學習更通用且強大的特徵表示。

主要實驗結果

ViT 在多個資料集與多種設定下展現了競爭力的性能:

  • ImageNet-1k: 在ImageNet這個大型圖像分類基準上,ViT在大規模預訓練後進行微調,能夠超越當時最佳的ResNet與EfficientNet卷積架構。
  • 小規模與多樣性數據集: 如CIFAR-100、VTAB(視覺任務評估基準),ViT能保持穩定且優異的表現,證明其泛化能力。
  • 訓練效率: 與相同規模的 CNN 比較,ViT在大規模數據上能更有效利用訓練資源,顯示Transformer架構其優越的可擴展性。
  • 不同尺寸模型測試: 論文測試了從小型(ViT-B/16)到超大型(ViT-L/16、ViT-H/14)不同模型大小,展示了隨著模型與預訓練資料量增加性能持續提升的趨勢。

需要注意的是,ViT 在小型資料集上若不先經過大規模預訓練,其表現反而不如同等大小的 CNN,突顯了充分資料與預訓練的重要性。

對 AI 領域的深遠影響

ViT 的成功打破了視覺領域長久以來 CNN 不可取代的地位,說明了Transformer能在圖像資料上充分發揮潛力,為視覺模型設計注入全新思路。這帶來的影響包括:

  1. 架構多樣化與統一化: Transformer 成為 NLP 與 CV 的共通架構,推動跨模態學習與統一感知模型的發展。
  2. 自注意力機制的視覺應用深化: 自注意力架構更靈活地捕捉全球上下文關係,突破CNN局限於局部特徵的限制,在物件識別、語義分割、視覺理解等各領域廣泛應用。
  3. 模型規模與預訓練的重要性凸顯: ViT強調大模型配合海量資料預訓練,影響後續視覺模型朝向大規模參數與高容量訓練資料發展。
  4. 推動新型視覺模型設計: ViT 啟發了接續一系列純Transformer結構或混合結構的視覺網路,例如 DeiT、Swin Transformer 等,持續推動視覺 AI 技術繁榮。
  5. 計算資源合理利用: 儘管Transformer一般被認為計算密集,但ViT示範出採用patch化及高效模型架構可在保持精度的同時減少訓練資源消耗,對工業應用具有實務意義。

總結

總體而言,ViT 論文成功提出了一套「無需卷積、純Transformer」的圖像分類架構,刷新了視覺模型的設計範式。它證明了Transformer架構的普適性以及大規模預訓練對視覺任務的深遠價值。隨著後續研究不斷優化計算成本與模型結構,ViT 正在逐步改變電腦視覺領域,成為未來新一代視覺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

沒有留言:

張貼留言