---
title: "視覺變換器（Vision Transformer）"
slug: vision-transformer
language: zh-TW
source: https://aiterms.tw/terms/vision-transformer
updated_at: 2026-07-29
tags: [深度學習, 電腦視覺, 神經網路, AI應用, 模型訓練]
ipas_term: false
---

# 視覺變換器（Vision Transformer）

> **你有沒有想過，圖片不一定要先用卷積掃，也能像句子一樣被拆成一塊一塊來看？**
> 你可以把視覺變換器想成「把圖片切成小塊，再交給 Transformer 處理」
> 每個圖塊都像一個 token，模型再用注意力看它們彼此的關係
> 這種做法讓影像也能直接借用 Transformer 的優勢

### 容易混淆
> **視覺變換器 vs 卷積神經網路**
> ViT 把圖片當成序列看
> CNN 會從局部卷積開始掃
> 最關鍵的區別：序列化處理和局部卷積
>
> **視覺變換器 vs 轉換器架構**
> ViT 是轉換器的影像版本
> 轉換器是更一般的架構家族
> 最關鍵的區別：應用場景不同
>
> **視覺變換器 vs 圖像分類**
> ViT 是模型架構
> 圖像分類是任務
> 最關鍵的區別：工具和工作
>

### 記住這句就好
> 把圖片切成塊，再讓注意力把整張圖連起來。

### 實際案例
> **大規模分類**
> 在大量圖片資料上，ViT 常能學到很強的全局關係，特別是資料夠多時
>
> **醫療影像**
> 把高解析度切成圖塊後做分類或輔助判讀，能利用全局與局部資訊
>

### 算法與應用
> | 切塊 | 把圖片分成固定小區塊 | 像把句子切成 token |
> | 位置編碼 | 告訴模型圖塊原本在哪 | 避免順序丟失 |
> | 自注意力 | 讓圖塊彼此互看 | 抓全局關係 |
> | 資料需求 | 通常需要較多資料 | 不然容易學不穩 |

### 中英對照與常見說法

| 說法 | 出現場合 |
| --- | --- |
| 視覺變換器、視覺轉換器 | 中文譯名，兩種都有人用 |
| 视觉 Transformer | 簡體資料多半保留英文原字 |
| Vision Transformer | 英文原名 |
| ViT | 標準縮寫 |

### 它把影像當成什麼

> ViT 的核心想法是**把影像切成小方塊，當成一串「單字」餵給 Transformer**。
>
> **第一步**，把影像切成固定大小的區塊（patch），常見是 16×16 像素。一張 224×224 的圖會切成 14×14 = 196 個區塊。
>
> **第二步**，每個區塊攤平後過一個線性層，轉成一個向量，這就是 patch embedding。
>
> **第三步**，加上位置編碼。Transformer 本身對順序沒有概念，不加位置編碼的話打亂區塊順序結果會一樣。
>
> **第四步**，在最前面接一個特殊的 [CLS] token，串起來送進標準的 Transformer 編碼器。
>
> **第五步**，取 [CLS] 位置的輸出接分類頭。
>
> 論文標題那句「An Image is Worth 16x16 Words」講的就是第一步。

### 跟 CNN 的取捨

| | CNN | ViT |
| --- | --- | --- |
| 內建假設 | 局部性與平移不變性 | 幾乎沒有，全靠資料學 |
| 小資料集 | 表現穩定 | 容易過擬合，通常輸給 CNN |
| 大資料集預訓練 | 提升有限 | 提升明顯，這是它翻身的關鍵 |
| 感受野 | 逐層擴大 | 第一層就是全域 |
| 計算複雜度 | 隨影像大小線性 | 自注意力隨區塊數平方成長 |

> **歸納偏置（inductive bias）** 是理解兩者差異的關鍵詞。CNN 天生假設「相鄰像素相關」與「物件移動了還是同一個物件」，這些假設在資料少的時候是幫助。ViT 沒有這些假設，資料少時學不到，資料多時反而不受假設限制，能學到 CNN 學不到的長距離關係。
>
> 這也是為什麼 ViT 原始論文強調要在超大資料集上預訓練才會贏。後續的 DeiT 用蒸餾與強資料增強，讓 ViT 在一般規模資料集上也能訓練起來；Swin Transformer 則引入層級式結構與滑動視窗注意力，把複雜度降回線性，同時把局部性的假設加回來，成為偵測與分割任務的常用骨幹。

### 情境判斷
> **Q1（直覺題）：你想把圖片當序列來處理，這就是 ViT 的思路嗎？**
> → 對，這正是它和 CNN 最直觀的差別。
>
> **Q2（判斷題）：資料很少時，ViT 一定比較好嗎？**
> → 不一定，資料少時 CNN 常反而更穩。
>
### 常見問題
> **Q：ViT 為什麼要切圖塊？**
> 因為它要把影像轉成類似 token 序列的形式。
>
> **Q：它一定比 CNN 強嗎？**
> 不一定，資料量和任務型態會影響結果。
>
> **Q：位置編碼重要嗎？**
> 很重要，不然模型不知道每個圖塊原來的位置。
>

### 相關術語
> - **轉換器架構**：ViT 的底層骨架就是它
> - **自注意力**：ViT 讓圖塊彼此互看就是靠它
> - **卷積神經網路**：最常被拿來比較的影像模型
> - **圖像分類**：ViT 最常見的任務之一

---

來源：https://aiterms.tw/terms/vision-transformer
快查頁：https://aiterms.tw/terms/vision-transformer
最後更新：2026/07/29
深度解說：https://aiterms.tw/learning/what-is-vision-transformer