隨著 Transformer 架構在自然語言處理(NLP)領域的成功,研究者們開始思考是否能將這種強大的序列建模能力引入電腦視覺(Computer Vision,CV)領域。傳統上,電腦視覺的主流模型依賴卷積神經網路(Convolutional Neural Networks,CNN),這是因為 CNN 擅長抽取局部空間特徵,並且具備平移不變性。然而,在 Transformer 從語言轉向視覺的過程中,多數方法仍舊依賴 CNN 作為基礎架構,或僅將注意力機制局部融入 CNN 結構中。
在此背景下,Dosovitskiy 等人於 2021 年 ICLR 發表的論文《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》(簡稱 ViT)提出了一種完全基於 Transformer 的視覺模型,首次嘗試拋棄傳統 CNN,僅以 Transformer 解決圖像分類任務,創下了突破性的成果。該論文不僅展示了 ViT 在多個資料集上的傑出表現,還啟發後續大量研究探索純粹 Transformer 架構於視覺領域的可能性,因而榮獲 ICLR 傑出論文獎。
研究背景與動機
過去十年,CNN 一直是電腦視覺研究及應用的主流架構。其核心優勢在於階層式的空間特徵抽取機制,但 CNN 同時存在一些限制,比如難以建模長距離的全域關聯性。Transformer 最初於 2017 年被提出用於序列資料的自注意力機制,能夠有效捕捉全域訊息,在 NLP 領域一炮而紅。視覺研究者期待利用 Transformer 的自注意力能力,彌補 CNN 的侷限。
在 ViT 出現之前,視覺領域大多用 Transformer 模組結合 CNN,比如將注意力機制置入 CNN 的中間層,或者作為部分替代元件維持 CNN 架構,尚無純 Transformer 架構直接用於圖像分類的成功案例。ViT 的動機即在檢驗純 Transformer 架構是否足以達到或超越 CNN 在圖像識別上的效能,尤其是在足夠大量資料預訓練下是否可行。
核心方法與技術創新
ViT 的設計核心是將一張輸入圖片「切割」成固定大小的區塊(patches),類似將文字拆成字詞(word tokens)。例如,一張 224x224 的彩色圖像被切割成 16x16 的小塊,切割後會得到包含許多 patch 的序列,每個 patch 會被「攤平」並映射成固定維度的向量,作為 Transformer 的輸入。這種將圖像拆解成 patch token 的方法,使得圖像數據能夠被視作序列資料,完美地融入標準 Transformer 模型架構中。
具體來說,ViT 包含以下關鍵元素:
- Patch Embedding:將每個圖片 patch 攤平成一維向量後,以線性映射轉換成 Transformer 的輸入向量。
- 位置資訊加入(Positional Encoding):類似於語言模型,ViT 也在 patch token 中加入位置編碼,讓模型感知資料中元素的空間位置。
- Transformer Encoder:直接使用標準的 Vision Transformer 編碼器,由多層多頭自注意力(Multi-head Self-Attention)結合前饋神經網路所組成,捕捉各 patch 間的全域關聯性。
- 分類頭(Classification Token):引入類似 BERT 的 [CLS] token,用於總結序列中所有 patch 的信息,經過 Transformer 編碼器後輸出最終分類結果。
值得強調的是,ViT 基本上完全取代了傳統 CNN 中的卷積與池化層,透過 Transformer 自身的注意力機制直接處理圖像序列,架構純粹且簡潔。
主要實驗結果
為了驗證 ViT 的效能,作者們在多個大型與中小型資料集上進行廣泛實驗,主要包括 ImageNet-1k、ImageNet-21k、CIFAR-100 以及 VTAB(Visual Task Adaptation Benchmark)等。
核心發現包括:
- 預訓練資料量影響巨大:ViT 在大規模資料集(如 ImageNet-21k、JFT-300M)上預訓練後,能顯著超越傳統 CNN 的表現,尤其是在下游較小資料集微調時表現更佳。
- 計算效率良好:相比於高效能 CNN 架構(如 ResNet、EfficientNet),ViT 在相同或更低的訓練資源消耗下即可達到優越性能,凸顯 Transformer 架構在視覺領域的潛力。
- 對模型尺寸敏感:較大尺度的 ViT(例如 ViT-Large)表現優於較小模型,但需要更充足的計算與記憶體資源,暗示未來需要在效能與資源間找到平衡點。
此外,ViT 也展示出較佳的可擴展性與遷移學習能力,在多種視覺任務中均可透過微調取得理想成績,擴展潛力強大。
對 AI 領域的深遠影響
ViT 在電腦視覺領域掀起了一場架構革命,其意義不僅在於提升了圖像分類性能,更在於證明了純 Transformer 架構在視覺任務中大有可為。此突破破除了傳統視覺模型對 CNN 的依賴,開啟了多模態融合與通用模型架構的新思路。
ViT 的成功帶動了以下幾個重要發展方向:
- 多模態 AI 模型:ViT 作為強大的圖像理解骨幹,促成了文字與圖像融合的跨模態 Transformer 模型誕生,如 CLIP、DALL·E 等。
- 視覺 Transformer 架構演進:後續衍生了多種改良版 ViT,如 Swin Transformer、DeiT 等,改善 ViT 的計算效率與資料需求,達到更普適的應用。
- 預訓練技術重要性凸顯:ViT 展示了龐大資料預訓練對 Transformer 成效的重要影響,加速了更大規模視覺資料集的整理與標註。
- 結合注意力與局部結構:為平衡 Transformer 長距離建模能力與圖像局部結構,許多後續工作探索混合架構,推動視覺模型設計更為多元。
總結而言,ViT 作為第一個成功以純 Transformer 處理影像分類的架構,不僅在技術上提供了一套全新思維框架,更確立了 Transformer 在視覺領域長遠發展的地位。隨著硬體算力提升與多模態應用興起,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
沒有留言:
張貼留言