隨著 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)」。
具體流程如下:
- 將原始圖像切割為 N 個固定大小的 patch(例如 16x16),每塊作為一個 token。
- 利用線性投影將每個 patch 攤平成向量並映射到固定維度的嵌入空間。
- 加入位置編碼(positional encoding),保留空間資訊,因為 Transformer 天生不具備空間感。
- 將這些 patch 嵌入和特殊分類 token 一同餵入標準的 Transformer 編碼器(Encoder)架構。
- 使用 Transformer 堆疊多層自注意力與前饋網路進行特徵提取。
- 最後,使用分類 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

沒有留言:
張貼留言