2026年6月11日 星期四

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

隨著 Transformer 架構在自然語言處理(NLP)領域的革命性成功,研究者開始嘗試將同樣的架構應用到電腦視覺(Computer Vision, CV)任務。然而,傳統上視覺模型主要以卷積神經網路(Convolutional Neural Networks, CNNs)為主,Transformer 在視覺領域的直接應用卻相對受限。大多數先前的方法大多是將自注意力機制(Self-Attention)結合於 CNN 架構中,或者在 CNN 架構中替換部分模組,但整體仍依賴卷積的特性。ICLR 2021 上 Dosovitskiy 等人發表的〈An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale〉正是打破這種框架,提出了純 Transformer 架構的視覺模型 - Vision Transformer(ViT),並展示了其在圖像分類任務中的強大性能和高效能,獲得了當年 ICLR 大會的 Outstanding Paper 榮譽。

研究背景與動機

過去十年,CNN 主導著視覺任務的發展,從 AlexNet 到 ResNet,以及隨後的各類改良架構,不斷在圖像分類、物體偵測、語意分割等任務上刷新記錄。然而,CNN 在捕捉全局特徵和長距依賴方面受限,其利用局部卷積核和層級結構的方式,雖有效降低計算複雜度,但在表達能力上存在瓶頸。相較之下,Transformer 在 NLP 領域以其全局自注意力機制,能靈活捕捉長距依賴關係,且無需固定卷積核,展現了優異的表達能力。

因此,研究者期望能否完全放棄卷積結構,僅用 Transformer 來處理視覺資料,進而簡化架構並提升性能。ViT 正是在這樣的背景下誕生,嘗試將圖像切割成「patch」(視覺上的文字),作為序列輸入送入純 Transformer 架構,完全不使用卷積層或類似結構,檢驗 Transformer 架構在視覺領域的通用性與潛力。

核心方法與創新

ViT 的設計核心在於將一張圖像首先被切割成固定大小的圖像塊(patches),例如 16x16 像素一塊。每個圖像塊被攤平成一維向量,透過線性映射轉換成嵌入向量,類似 NLP 中詞彙的詞向量表示。簡單來說,ViT 將圖像視為一段圖像「句子」,每個patch是「字詞(word)」。

具體流程如下:

  1. 將原始圖像切割為 N 個固定大小的 patch(例如 16x16),每塊作為一個 token。
  2. 利用線性投影將每個 patch 攤平成向量並映射到固定維度的嵌入空間。
  3. 加入位置編碼(positional encoding),保留空間資訊,因為 Transformer 天生不具備空間感。
  4. 將這些 patch 嵌入和特殊分類 token 一同餵入標準的 Transformer 編碼器(Encoder)架構。
  5. 使用 Transformer 堆疊多層自注意力與前饋網路進行特徵提取。
  6. 最後,使用分類 token 的輸出作為整張圖像的向量表示,接上 MLP 頭進行分類。

這裡的關鍵創新有兩點:

  • 純 Transformer 處理視覺任務:ViT 的架構完全擺脫了卷積層,使用 Transformer 的自注意力機制直接建模圖像中所有 patch 之間的互動,實際上是將視覺理解問題轉換為序列建模問題。
  • 高效的圖像塊表示:通過合理選擇 patch 大小與嵌入維度,ViT 較 CNN 減少了複雜度,同時避免了 CNN 局部感受野和層疊深度帶來的限制。

此外,ViT 在預訓練階段大量依賴大規模資料 (例如 JFT-300M) 來學習足夠的特徵表示,完成後可有效地轉移到中小規模資料集(如 ImageNet、CIFAR-100 等)並達到與甚至超越當前 CNN 頂尖模型的效果。

主要實驗結果

為了驗證 ViT 模型的可行性與效能,作者進行了一系列大量實驗。重要發現與結果包括:

  • 在 ImageNet-1k 上達到競爭性能:在使用足夠大數據集預訓練(例如 JFT-300M)後,ViT 在 ImageNet-1k 上取得與 ResNet、EfficientNet 等最先進 CNN 模型相當甚至更優的辨識準確率,證明純 Transformer 架構足以處理視覺任務。
  • 訓練計算資源相對較低:與同等性能的 CNN 模型比較,ViT 訓練過程中所需的計算資源(例如 GPU 時間)大幅減少,顯示 Transformer 架構在大規模訓練下具有更好的資源效率。
  • 多任務、多數據集的強泛化能力:ViT 除了 ImageNet 外,還能成功轉移到多種不同的資料集(例如 CIFAR-100, VTAB 等),保持穩定優異表現。
  • 消除卷積先驗帶來的限制:ViT 沒有使用卷積的空間平移不變假設,讓模型能學習更多非局部的關聯,這點在多任務場景表現尤其突出。

實驗中也指出,如果預訓練資料量不夠大,ViT 性能表現會明顯下降,凸顯大型資料集與充分訓練的重要性。此外,ViT 的超參數調整對於效能影響甚鉅,需要精心設計與調校。

對 AI 領域的深遠影響

ViT 論文可說是跨領域架構在 AI 領域的突破里程碑,它證明 Transformer 不僅是自然語言處理的強大工具,也有潛力成為視覺任務的標準架構。此論文對產學界產生了極大震動與啟示,影響深遠:

  • 架構設計的革命:ViT 打破過去視覺憑藉卷積網路的習慣,啟動純 Transformer 解決視覺任務的思路。之後許多後續工作(如 Swin Transformer、DeiT 等)在此基礎上優化擴展,推動了 Transformer 在 CV 範疇的蓬勃發展。
  • 跨模態統一的可能性:ViT 示範了 NLP 與 CV 兩大應用領域架構的融合與通用性,使得跨模態的模型設計成為可能,對多模態學習、自監督學習等前沿方向具有指導意義。
  • 強化大規模預訓練的策略:ViT 也凸顯了大規模資料預訓練的重要性,推動了更大、更多樣化數據集的收集與利用,並催生了更多關注自監督與無監督預訓練的方法。
  • 啟發硬體與系統設計改進:Transformer 由於其架構特性,也激發了硬體加速器設計、混合精度訓練等優化策略開發,促進了整個 AI 計算生態的進步。

總結來說,ViT 不僅是技術上的突破,更是觀念上的創新。它重新定義了視覺特徵提取的方式,也為後續多模態整合與通用 AI 打開新的契機。這篇獲獎論文的發表,標誌著 Transformer 從語言領域成功跨足視覺領域的關鍵節點,奠定了現代 AI 多樣化架構融合的基石。

如果你從事計算機視覺或是深度學習架構設計,深入理解 ViT 的設計理念與實驗技巧,無疑能拓展你對於模型泛化能力、架構設計,以及大規模訓練策略的視野,並啟發你在未來的研究或工程實踐中探索新的方向。


論文資訊
📄 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

沒有留言:

張貼留言