影像分類

單標籤與多標籤分類 (single-label vs multi-label classification)

預設的分類設定是單標籤,也稱為多元(multi-class):每張影像恰好屬於 C 個互斥類別中的一個,模型透過 softmax 產生一個在各類別上總和為 1 的機率分佈,而且恰好只有一個標籤是正確的。當類別確實不可能同時出現時,這就是正確的框架,例如「這個手寫數字是 7」。

多標籤分類則拋棄了互斥的假設:一張影像可以帶有標籤的任意子集,因此一張海灘照片可以同時被標上「天空」、「海」、「人」與「沙」。標準作法是把單一的 softmax 換成 C 個獨立的 sigmoid 單元,每個標籤一個,各自預測該概念的有或無,並以逐標籤的二元交叉熵來訓練。此時不再有單一的 argmax;每個標籤都各自對一個門檻(常為 0.5)獨立判定。

這個區別改變了下游的一切:損失、輸出激活函數、決策規則與評估指標。對多標籤問題而言,單純的準確率並不適合,因為對任一張影像而言大多數標籤都是不存在的,因此實務上改為回報逐標籤的精確率與召回率、平均精度均值(mAP),或微平均/巨平均的 F1 分數。選擇單標籤或多標籤,是關於世界本質的建模決策,而不是一個調參旋鈕。

被迫去標註一張同時含有狗與飛盤的照片時,單標籤模型只能挑一個,因而在結構上注定有一半的時候是「錯」的;多標籤模型則能以各自高於門檻的獨立 sigmoid 分數,同時正確輸出「狗」與「飛盤」。

又称
multi-class classificationmulti-label image classification