開集識別 是什麼?

Open-set Recognition:開集識別 的完整解釋

分類任務中測試集包含訓練集未見過的類別,模型需識別『這是一個未知類別』的問題。

開集識別(Open-set Recognition)是應對現實世界「開放環境」的分類方法,與實驗室常見的「閉集」假設(訓練與測試類別相同)截然不同。現實世界中,類別是開放的:總有新的未知類別可能出現。

開集識別 vs. 閉集識別

閉集識別(傳統分類):

  • 假設訓練集和測試集的類別完全相同。
  • 模型必須為每個測試樣本分配到某個已知類別(沒有「拒絕」選項)。
  • Softmax 輸出是機率分布,總和為 1,必然為某個類別賦予最高機率。

開集識別:

  • 測試集可能包含訓練未見過的類別(未知類或開集類)。
  • 模型需識別『這個樣本屬於未知類別』,而非盲目分配到已知類別。
  • 引入「拒絕」或「未知」作為額外的預測選項。

開集識別的核心難點

  1. 類別邊界的定義:傳統分類在已知類別間定義邊界;開集識別需定義『已知類別的邊界』:超出這個邊界的統稱未知。邊界太緊會誤判已知類為未知,邊界太鬆會誤認未知類為已知。

  2. 未知類別的多樣性:訓練階段無法接觸未知類別,測試時出現的未知類可能極為多樣(與已知類距離近或遠),單一的邊界難以適應所有未知。

  3. 特徵空間覆蓋率:閉集假設下模型只需覆蓋已知類的特徵空間;開集環境中,模型需要識別『這個特徵點位於已知類聚集區之外』。

開集識別的主要方法

1. 距離度量與閾值法

在特徵空間定義已知類別的邊界,超出邊界的判為未知:

  • Euclidean Distance:計算樣本特徵與各已知類別中心的距離,最近距離超過閾值則判為未知。簡單但易受特徵分布非球形影響。

  • Mahalanobis Distance:考慮類別內的共變異數,更精確地定義『多少距離才算遠』。

  • Cosine Distance:在歸一化特徵空間中度量距離,適合角度而非距離反映相似性的場景。

2. 開集 SVM(Open-set SVM)

標準 SVM 在閉集下訓練,開集 SVM 擴展為:

  • 在特徵空間中為每個已知類定義一個「週圍球體」(Weibull model),表示該類的『密集區域』。
  • 測試樣本若不在任何球體內,判為未知。
  • 可根據樣本到各球體邊界的『距離和角度』綜合判斷。

3. Weibull 分布與極值理論

利用極值理論(Extreme Value Theory)建模已知類的特徵邊界:

  • 訓練時,對每個類別,收集該類樣本到類別中心的距離,用 Weibull 分布擬合。
  • 測試時,計算未知樣本到各已知類中心的距離,用 Weibull 分布評估『該樣本是否可能來自該類』。
  • 若所有類別的 Weibull 機率都很低,判為未知。
  • 這個方法理論優美、實證有效,是開集識別領域的經典方法。

4. 開集深度神經網路

端到端深度學習方法:

  • W-net(Weibull-calibrated Network):在深度網路的高層特徵上應用 Weibull 分布,端到端訓練。
  • 開集損失函數:設計專門的損失函數,既優化已知類的分類,又推開未知類。例如,中心損失(Center Loss)使已知類樣本緊密聚集在各自類別中心附近,測試時遠離所有中心的樣本判為未知。
  • 開集對比學習:在對比學習框架中,一邊拉近已知類的正對,一邊推遠未知樣本,習得對開集敏感的表示。

5. 集成與多階段方法

結合多種判據提升可靠性:

  • 多通道集成:結合置信度(Softmax 機率)、特徵距離、能量函數等多個指標,通過加權或投票判斷是否為未知。
  • 閾值自適應:根據應用場景(如醫療:寧可誤報未知,不要誤判為已知疾病)動態調整開集邊界。

6. 先驗知識與輔助信息

若有關於可能出現的未知類別的先驗:

  • 相似未知類:若已知未來可能出現與訓練類相似的未知類(如訓練了 10 種動物,測試時可能出現其他動物),可在訓練時引入「相似但非目標類」的數據,習得更精確的邊界。
  • 層級結構:利用類別的層級結構(如動物->哺乳動物->貓科),定義邊界時考慮層級資訊。

開集識別的評估指標

  • 多元素準確率(Accuracy):同時評估已知類的分類準確率與未知類的拒絕率。通常定義為 (已知類正確 + 未知類正確) / 總數。
  • 開集 F1 Score:平衡精確率與召回率,避免任一方面過差。
  • 開集指數(Open-set Index, OSI):更精細的評估,分別考量已知類準確率與未知類拒絕率,加權綜合。
  • ROC 曲線:固定已知類識別率,觀察未知類的誤警率。

開集識別的應用場景

  • 人臉識別與驗證:識別已知人員,對陌生人識別為『不在已知清單中』。
  • 異常檢測:機器故障診斷中,訓練樣本只覆蓋常見故障模式,測試時出現未見過的故障型態。
  • 自動駕駛:識別道路標牌與障礙物,對新型號車輛、交通工具予以『不確認』而非誤分類。
  • 垃圾郵件分類:識別已知垃圾郵件類型,對新穎垃圾策略識別為『未知垃圾型態』。
  • 入侵偵測:網路安全中,檢測已知攻擊模式,對新型攻擊識別為『異常』。

常見問題