Transformer 模型最初由 Vaswani 等人在 2017 年提出,是一種基于自注意力機制的深度學習模型。它在自然語言處理(NLP)領域取得了巨大成功,并且也逐漸被應用到計算機視覺任務中。以下是兩種在計算機視覺領域中非常重要的 Transformer 模型:Vision Transformer(ViT)和 Swin Transformer。
Vision Transformer (ViT)
Vision Transformer 是一種將 Transformer 直接應用于圖像分類任務的模型,由 Dosovitskiy 等人在 2020 年提出。其主要思想是將圖像分割成若干個小塊(patch),然后將這些小塊作為序列輸入到 Transformer 模型中進行處理。
工作原理
-
圖像分塊:將輸入圖像 ( x \in \mathbb{R}^{H \times W \times C} ) 分割成若干個大小為 ( P \times P ) 的小塊,每個小塊被展平為一個向量。這樣,每個圖像被轉換為一個序列 ( {x_p^1, x_p^2, …, x_p^N} ),其中 ( N = \frac{HW}{P^2} )。
-
線性投影:將每個小塊通過線性層投影到固定維度的特征空間,得到 ( N ) 個特征向量。
-
位置編碼:為每個特征向量添加位置信息,使用可學習的位置編碼。
-
Transformer 編碼器:將帶有位置信息的特征向量序列輸入到標準的 Transformer