AI 怎麼「看」一張圖片?
前面的〈AI 的能力怎麼來,又怎麼變成可以使用的服務?〉用「辨認照片裡有沒有貓」說明建立與使用能力的分工。不過,中間還少了一步:你看到的是一隻貓,電腦實際收到什麼?它怎麼從這份資料得到「有貓」的判斷?
可以先把過程分成四步:圖片 → 整理成數字 → 模型 (Model) 計算 → 解讀結果。 圖片提供材料,學好的模型負責計算;兩者不是同一件事。這裡的模型已經完成訓練 (Training),也就是先用資料調整過計算方式;這次只是使用它。
圖片原來就是很多小格子的數字
把數位照片放大,可以把它想成一張很密的格子表,每一格叫像素 (Pixel),記錄那個位置的色彩。
先用沒有彩色的灰階 (Grayscale) 小圖看。在一種常見的 8 位元 (8-bit) 表示中,0 是黑、255 是白,中間數字代表不同亮度。例如這四格:
| 左邊 | 右邊 | |
|---|---|---|
| 上面 | 0(黑) | 255(白) |
| 下面 | 128(灰) | 0(黑) |
排回相同位置,就能畫出這張小圖。數字記的是亮度;沒有哪一格直接記著「這是貓」。
彩色照片常用紅、綠、藍 (Red, Green, Blue, RGB) 三個數字描述每格的色彩。例如在常見的 8 位元 RGB 表示中,(255, 0, 0) 是紅色,(255, 255, 255) 是白色。圖片因此可以整理成「幾列、幾欄、每格的色彩數字」。
這只是常見的表示,並非所有圖片都只能用這個數值範圍。這章先用灰階小圖,讓位置與亮度的關係看得清楚。
先猜猜:小圖變暗後,數字會怎麼改?開啟活動,切換「亮度減半」,對照圖片和表格。再保持亮度不變,只切換「打散位置」:黑白格的數量沒變,圖的樣子還一樣嗎?手機可切換設定、圖片與數字、解讀面板。
亮度和位置,都會改變輸入
活動中,亮度減半把 255 改成 128,0 仍是 0。你還能看出相同輪廓,但交給模型的數字已經改變了。
「打散位置」則把相同數字排在一起,再放回六列六欄。黑色格子的數量沒變,原本的貓臉卻不見了。圖片不只是有多少黑、多少白;它們在哪裡,也承載形狀的線索。
因此,圖片辨識需要利用位置與色彩的關係。不能只看黑白格數量,也不能把「已轉成數字」當成「已辨認出內容」。
真正辨認一張照片時,各步在做什麼?
沿用「有貓/沒有貓」這個簡單任務:
| 步驟 | 收到什麼? | 做什麼? |
|---|---|---|
| 整理輸入 | 解碼後的圖片數字 | 按模型要求調整尺寸、色彩通道與數值範圍,稱為前處理 (Preprocessing) |
| 模型計算 | 整理好的數字 | 使用已學到的計算方式,結合不同位置的線索,算出各類別的分數 |
| 解讀結果 | 類別分數 | 依任務的規則得到「有貓」或「沒有貓」的判斷,再由服務顯示 |
例如有些模型要求固定的圖片大小,有些還需要把色彩數值縮放到較小範圍。整理方式要與模型相容,不能隨意換了輸入格式,仍期待原模型照常工作。尺寸與數值要求因模型而異。
分類 (Classification) 的目標,是在事先定好的類別中作判斷。模型輸出的分數還需要解讀;不能把任意分數直接叫作「有幾成把握」。
這裡先把模型當成一個已能計算的部分。它內部怎麼組合線索,可以之後再拆;本章先看懂它收到什麼、交出什麼。
模型怎麼知道哪些線索和貓有關?
回到之前的訓練 (Training):準備圖片與「有貓/沒有貓」的標記,讓模型做判斷,比較它和標記的差距,再調整模型內部的參數 (Parameter)。
這不是人逐條規定「兩個尖耳朵就一定是貓」,也不是把每張圖片換成數字後,答案就自動出現。圖片的數字是輸入材料;訓練調整的是模型怎麼用這些材料計算。
使用時,新照片經過相容的整理,交給已訓練的模型計算。這是推論 (Inference),不必為了辨認這一張照片重新訓練。
但學到的線索可能不可靠。例如只看過固定背景的貓照片,換背景就可能失準;光線、遮擋和拍攝角度也值得檢查。是否成功,要用沒參與訓練的新圖片驗證,不能從這個 6 × 6 小圖活動推估真實辨識能力。
活動實際做的是像素值轉換與重新排列,不會把小圖交給辨識模型,也不會產生辨識分數。所以變暗後的數字不同,並不代表某個真實模型就一定判錯。
「看圖片」也可以有不同任務
| 想得到的結果 | 任務例子 |
|---|---|
| 判斷有沒有貓 | 圖片分類 (Image Classification) |
| 找出貓在哪個範圍 | 物件偵測 (Object Detection),輸出位置框與類別 |
| 標出哪些像素屬於貓 | 圖像分割 (Image Segmentation),輸出逐位置的區域 |
它們都使用圖片,要求的輸出卻不同。能判斷有貓的模型,不因此就能框出貓的位置;「輸入都是圖片」不代表任務、模型或結果都相同。
這些能力屬於電腦視覺 (Computer Vision) 的範圍。它們也不必先把圖片寫成文字,才能交給模型處理。文字、圖片與聲音可以採用不同表示方式,不能把文字逐 token 生成的流程直接套到全部 AI。
如果想追模型如何從資料學到計算方式,可接〈模型到底是什麼?從資料學習,究竟改了什麼?〉;想看「學習時答對,為何新例子仍可能錯」,可讀〈訓練時全答對,為什麼遇到新資料還是會錯?〉。
參考:TensorFlow 圖片分類流程與 RGB 輸入、Torchvision 模型、任務與相容的前處理、MDN 像素色彩數據表示(2026-10-05 查核)。本章介紹常見流程,不指定所有模型的輸入尺寸、數值範圍或架構;6 × 6 貓臉與排列活動為教學設計。