圖像分類(image classification)
/ IM-ij klas-uh-fih-KAY-shun /
圖像分類向機器提出一個直白的問題:這是什麼?你遞給它一張照片,它從一個固定的清單裡返回一個標籤——「貓」「黃金獵犬」「停車標誌」。它不告訴你貓在哪裡、有幾隻、或貓在做什麼;它只是為整張圖挑一個最合適的名字。這是電腦視覺裡最簡單、最古老的任務,而大多數其他視覺任務都建立在它之上。
在內部,機器從來沒看見過「貓」——它看到的是一格一格的亮度數字,每個像素三個,分別對應紅、綠、藍。所謂訓練,就是給它看幾十萬張帶標籤的照片,讓它一點點學會:哪些邊緣、紋理與形狀的組合,往往對應哪個標籤。它的輸出通常不是簡單的「是」或「否」,而是一串信心度:92%是貓、5%是狐狸、3%是狗。我們取最高的那個當答案,但那92%只是一次統計上的押注,並不代表它真的「懂」。
這裡值得對失敗方式保持誠實。分類器的好壞,不會超過它訓練時用過的類別和例子。如果它的清單裡只有動物,你拿一隻咖啡杯給它看,它會自信地把杯子叫成最接近的那種動物。光線、角度或一張貼紙都可能騙倒它;它還常常抓住背景裡的「捷徑」——一個從綠色田野照片裡學會「牛」的模型,碰到海灘上的牛可能就栽了。在基準測試上的高準確率,和在真實世界裡可靠的判斷,並不是一回事。
你上傳一張自家虎斑貓的照片。分類器返回:貓0.94、猞猁0.03、狐狸0.02、其他0.01。應用顯示「貓」。把同一張照片裁剪到只剩地毯,它現在可能猜「門墊0.40」——它再也看不到貓,卻仍然必須選個東西出來。
為整張圖給出一個標籤,以信心度形式呈現。即便沒有合適的對象,分類器也總會挑出一個。
分類器輸出的是一個封閉類別清單上的機率,且必須加起來等於一,所以它永遠答不出「都不是」。任何真正落在它訓練清單之外的東西,都會被硬塞進最接近的已知標籤——既自信又錯誤。辨識這類「清單之外」的輸入,是另一個更難的問題。