開集識別 是什麼?
Open-set Recognition:開集識別 的完整解釋
分類任務中測試集包含訓練集未見過的類別,模型需識別『這是一個未知類別』的問題。
開集識別(Open-set Recognition)是應對現實世界「開放環境」的分類方法,與實驗室常見的「閉集」假設(訓練與測試類別相同)截然不同。現實世界中,類別是開放的:總有新的未知類別可能出現。
開集識別 vs. 閉集識別
閉集識別(傳統分類):
- 假設訓練集和測試集的類別完全相同。
- 模型必須為每個測試樣本分配到某個已知類別(沒有「拒絕」選項)。
- Softmax 輸出是機率分布,總和為 1,必然為某個類別賦予最高機率。
開集識別:
- 測試集可能包含訓練未見過的類別(未知類或開集類)。
- 模型需識別『這個樣本屬於未知類別』,而非盲目分配到已知類別。
- 引入「拒絕」或「未知」作為額外的預測選項。
開集識別的核心難點
類別邊界的定義:傳統分類在已知類別間定義邊界;開集識別需定義『已知類別的邊界』:超出這個邊界的統稱未知。邊界太緊會誤判已知類為未知,邊界太鬆會誤認未知類為已知。
未知類別的多樣性:訓練階段無法接觸未知類別,測試時出現的未知類可能極為多樣(與已知類距離近或遠),單一的邊界難以適應所有未知。
特徵空間覆蓋率:閉集假設下模型只需覆蓋已知類的特徵空間;開集環境中,模型需要識別『這個特徵點位於已知類聚集區之外』。
開集識別的主要方法
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 曲線:固定已知類識別率,觀察未知類的誤警率。
開集識別的應用場景
- 人臉識別與驗證:識別已知人員,對陌生人識別為『不在已知清單中』。
- 異常檢測:機器故障診斷中,訓練樣本只覆蓋常見故障模式,測試時出現未見過的故障型態。
- 自動駕駛:識別道路標牌與障礙物,對新型號車輛、交通工具予以『不確認』而非誤分類。
- 垃圾郵件分類:識別已知垃圾郵件類型,對新穎垃圾策略識別為『未知垃圾型態』。
- 入侵偵測:網路安全中,檢測已知攻擊模式,對新型攻擊識別為『異常』。