離群?異常?新類?開集?分佈外檢測?一文搞懂其間異同!

機器之心專欄

MMLab@NTU

你是否也曾迷惑於「離群檢測,異常檢測,新類檢測,開集識別,分佈外檢測」之間錯綜複雜的關係?你是否也想要解決開放世界的問題卻不知道從哪個任務入手?不知道利用什麼方法解決問題?這篇最新綜述將讓你對開放世界領域有全新的認識!

在開放世界中分類是驗證模型安全性的重要方式,也是一個真正能夠商用落地的模型不可避免要面對的問題。傳統的分類模型都是在一個封閉的世界中進行訓練,即假設測試資料和訓練資料都來自同樣的分佈(稱作分佈內,in-distribution)。例如我們利用一組貓、狗照片訓練一個貓、狗分類器。然而,部署的模型在實際使用中總是會遇到一些不屬於封閉世界類別的圖片,例如老虎。或者也會遇到一些和訓練圖片視覺上大相徑庭的照片,例如卡通貓。模型應當如何去處理這些不屬於訓練分佈的圖片(即分佈外樣本,out-of-distribution),是開放世界領域所關注的問題。

開放世界領域中時常能夠見到如下幾個任務:

OD: Outlier Detection, 離群檢測

AD: Anomaly Detection, 異常檢測

ND: Novelty Detection, 新類檢測

OSR: Open Set Recognition, 開集識別

OOD Detection: Out-of-Distribution Detection, 分佈外檢測

它們之間雖然各有千秋,卻又有千絲萬縷的聯絡。雖然現有工作也有嘗試著將自己的任務和別的任務進行區分,但是各任務之間也不統一,使得整個領域都缺乏對各個任務準確的定義。讓外界甚至參與者都對各個任務的具體目標困惑。

為了解決這個問題,一篇名為《Generalized Out-of-Distribution Detection: A Survey》的綜述解決了這些困惑,將以上五個任務歸納進一個「廣義 · 分佈外檢測」(Generalized OOD Detection)的大框架內。至此,這些任務都能進行準確的定位,而它們之間的關係也頓時清晰可辨。

論文地址:https://arxiv。org/abs/2110。11334

專案主頁:https://github。com/Jingkang50/OODSurvey

準備工作

為了方便理解「廣義分佈外檢測框架」,我們需要了解以下兩個概念:

Covariate Shift:表層統計層面上的分佈變化,簡稱統計偏移。

Semantic Shift:深層語義層面上的分佈變化,簡稱語義偏移。

規範地講,如果我們用 X 代表圖片畫素空間的變數,用 Y 代表圖片語義空間的變數,這樣我們可以用 P(X,Y)來表示一組圖片的分佈。

畫素空間分佈 P(X)的偏移就是 Covariate Shift,可能來源於對抗樣本或者畫風的變化。

語義空間分佈 P(Y)的偏移就是 Semantic Shift,可能來源於新類別的加入。

下圖生動地展現了這兩種分佈偏移:

離群?異常?新類?開集?分佈外檢測?一文搞懂其間異同!

廣義分佈外檢測(Generalized OOD Detection)

在學習到「統計偏移」和「語義偏移」這兩個概念之後,我們可以利用下圖來認識各個任務在框架中的位置。任務的定位使用四個維度:

(1)偏移型別:任務需要檢測出表層統計偏移或深層語義偏移;

(2)分佈內資料類別數:分佈內資料包含一個類或多個類;

(3)對分佈內樣本的處理:是否需要對分佈內樣本進行分類;

(4)是否遵循“訓練 - 測試模式”:Transductive 學習需要利用所有樣本進行決策;Inductive 學習則遵循訓練 - 測試模式,目的是得到一個單獨可用的模型。

離群?異常?新類?開集?分佈外檢測?一文搞懂其間異同!

根據上圖,“異常檢測”AD 分為兩個子任務,即 Sensory AD 和 Semantic AD,即 “感知上的異常檢測” 和“語義上的異常檢測”。

感知上的異常檢測(Sensory AD)需要識別出具有統計偏移的樣本,無論分佈內樣本類別數。

語義上的異常檢測(Semantic AD)需要識別出具有語義偏移的樣本,並要求分佈內只有單類。

「新類檢測」ND 也分為兩個子任務。他們都需要識別出具有語義偏移的樣本,但是根據分佈內樣本類別的不同分為「單類的新類檢測」(One-Class ND)和「多類的新類檢測」(Multi-Class ND)。

「開集識別」OSR 同樣需要識別出具有語義偏移的樣本,但是相比於 ND,它只關心分佈內是多類別的情況,並且要求對分佈內樣本進行正確的分類。

「分佈外檢測」(OOD Detection)同樣需要識別出具有語義偏移的樣本,但是相比 OSR,它還包含了分佈內是單類的情況。因此,OOD Detection 可以理解成一個包含 Semantic AD, Novelty Detection, OSR 的超級大類。

對各個任務的具體介紹

AD: Anomaly Detection, 異常檢測

背景:

當人們提起異常(Anomaly)時,心中其實已經形成了一個 “正常” 的概念。例如,要建立一個 “熱狗 / 非熱狗檢測器”,我們將“熱狗” 的概念定義為正常,將不符合的定義為異常,也就是非熱狗。

請注意,在這種情況下,熱狗是一個統一的概念,無論熱狗的大小、醬汁、麵包型別、價格、香腸的來源等可能存在差異。任何其他物體,如牛排、米飯,以及非食物物體,如貓和狗,都被視為異常。

同時,現有的異常檢測通常會對目標環境有所限制。例如,“熱狗 / 非熱狗檢測器”會採用 “檢測器只會接觸真實照片” 的假設,測試時不會存在卡通或素描圖。這使得在檢測統計偏移時避免了語義偏移的出現。另一個現實的例子是工業缺陷檢測,它針對的只是一組特定的產品裝配線。這使得在檢測統計偏移時避免了語義偏移的出現。換句話說,“開放世界”假設通常不是完全 “開放” 的。然而,“非熱狗”或 “缺陷” 其實已經形成了一個巨大的未知空間,也早已打破了 “封閉世界” 的假設。

綜上所述,異常檢測任務的主要特徵是其統一地定義了“正常”,並且假設一個相對封閉的限制。

定義:

異常檢測(Anomaly Detection, AD)的任務旨在找出測試集中所有偏離 “預設的正常樣本” 的異常樣本。這種偏移可能是來源於 covariate shift 或者 semantic shift。該任務通常假設另一種偏移型別不存在。這兩種不同的樣本偏移型別對應著 “異常檢測” 的兩個子任務:“感知上的異常檢測”sensory AD 和“語義上的異常檢測”semantic AD。

Sensory AD,即 “感知上的異常檢測”。該任務希望識別出由 covariate shift 導致的異常樣本。此處我們假設所有預定義好的“正常” 樣本都具有同一種畫素空間分佈,並且整個測試集的樣本空間不存在語義上的偏移,即測試集的所有樣本都來自同一個類別。總的來說, “Sensory AD”旨在檢測出同一個類別的所有測試樣本中具有 “異常” 畫素空間分佈的樣本。

Semantic AD,即 “語義上的異常檢測” ,該任務希望識別出由 semantic shift(label shift)導致的異常樣本。此處我們假設所有預定義好的“正常” 樣本都具有相同的語義分佈,即來自同一個類別,並且整個測試集的樣本空間具有相同的畫素空間分佈。總的來說,“Semantic AD”旨在檢測出同種畫素空間分佈的所有測試樣本中非 “正常” 類別的樣本。

應用:

Sensory AD:工業檢測,對抗樣本防禦,活體檢測,藝術品的偽造識別,偽證識別等。

Semantic AD:影片監控,資料篩選等。

ND: Novelty Detection, 新類檢測

背景:

“Novelty”這個詞通常指的是未知的、新穎的、有趣的東西。雖然新類檢測的目標與異常檢測相似,但是它們之間有三個顯著不同:

在動機方面,新類檢測通常不會像異常檢測那樣將 “新類” 樣本視為錯誤、惡意、應當丟棄的。反之,該任務會將它們視為學習資源,以積極的學習態度供未來使用。例如新野生動物檢測器,檢測到的新類可供生物學界進行研究。

新類檢測主要側重於語義轉移。它有一個可互相替換的名字:“novel class detection”。

新類檢測去除了分佈內樣本只能屬於一個類的限制。訓練集可以出現一個或多個類。

定義:

新類檢測(Novelty Detection, ND)的任務旨在找出測試集中不屬於訓練集中任何類別的 “新類” 樣本,檢測到的 “新類” 樣本通常會為下一步增量學習(incremental learning) 提供更多的學習樣本,或者作為全新的型別進行探索研究。

基於訓練集中的類別數量,“新類檢測”可被分為兩個子型別: “單類新類檢測”(One-class ND);以及 “多類新類檢測”(Multi-class ND)。儘管“多類新類檢測” 的訓練集樣本中包含多個類別,其目的只是將測試集中的 “新類” 樣本與 “分佈內” 樣本區分開。因此,“單類新類檢測”和 “多類新類檢測” 的本質都是二分類問題。

應用:

影片監控,行星探索,增量學習

OSR: Open Set Recognition, 開集識別

背景:

在封閉世界中訓練的機器學習模型通常將屬於未知類別的測試樣本錯誤地分類為具有高置信度的 已知類別。一些文獻將模型這種過度自信的行為稱為“模型的傲慢”。因此,OSR 於 2013 年被提出,旨在解決這個問題。

定義:

“開集識別”(Open Set Recognition, OSR)要求多分類器同時達到如下兩個要求:

對測試集中屬於 “已知類別“的圖片進行準確分類;“已知類別” 代表訓練集中存在的類別。

檢測出”未知”類別, “未知類別”不屬於訓練集中任何類別。

OOD Detection: 分佈外檢測

背景:

類似的,鑑於深度學習模型通常會對來自不同語義分佈的樣本進行過度自信地分類,分佈外檢測領域應運而生,要求模型在保證分類效能的同時,拒絕語義偏移的樣本,以保證可靠性和安全性。

定義:

“分佈外檢測”任務和新類識別類似,都是在找出測試集中不屬於訓練集中任何類別的 “新類” 樣本。但是在新類識別的基礎上,同時完成多分類任務。相比於 “開集識別”,“分佈外檢測” 的訓練集可以是單類別的也可以是多類別的。

OD: Outlier Detection, 離群檢測

背景:

根據維基百科,outlier 是指與其他觀測結果顯著不同的資料點。不同於之前任務需要檢測與訓練資料分佈不同的測試樣本,離群檢測則是直接處理所有觀察結果,旨在從受汙染的資料集中找出異常。由於離群檢測不遵循“訓練 - 測試模式”,而其方法通常依賴於所有觀察結果,因此解決此問題的方法通常是 Transductive 傳導學習而不是 Inductive 歸納學習。

定義:

“離群檢測”(Outlier Detection, OD)的任務旨在檢測出給定資料集中與其他樣本顯著不同的樣本,其中這種不同既可以來源於 covariate shift 也可以來源於 semantic shift。

應用:

資料清洗

至此,該研究希望讀者對以上五個任務的異同有了更加深入的理解。下圖用圖片案例的方式再次比較這些任務。

離群?異常?新類?開集?分佈外檢測?一文搞懂其間異同!

方法論

該研究全面總結了解決 「廣義分佈外檢測」中各個任務的方法。由於它們的目標大體相同,它們的解法自然也相似。研究發現它們的解法基本分為四大類:

Density-based Methods 基於密度估計的方法

Reconstruction-based Methods 基於重構的方法

Classification-based Methods 基於分類的方法

Distance-based Methods 基於距離的方法

歡迎大家參考綜述原文進行參考,同時歡迎大家在綜述的 GitHub 主頁提 issue/pr 進行補充。文尾附上了方法論的目錄。

離群?異常?新類?開集?分佈外檢測?一文搞懂其間異同!

挑戰和展望

最終研究人員總結了目前該領域的問題、挑戰和發展方向。

挑戰 1: 建立正確並且規範的評價指標

挑戰 2: 不需要額外資料的分佈外檢測

挑戰 3: 分佈內分類和分佈外檢測的權衡

挑戰 4: 建立有現實意義並且大規模的資料集

展望 1: 框架中不同任務互相借鑑及比較

展望 2: 分佈外檢測和分佈外泛化的結合

展望 3: 分佈外檢測和開集噪聲標籤學習的結合

展望 4: 期待進行更多的理論研究

詳情參考原文。該研究希望開放世界領域能夠發展地更好,並且希望更多研究者能夠關注並投身到這個人工智慧的重要問題上。

寫在最後

筆者是在

商湯新興創新事業群(EIG)研究中心

實習時開始接觸 “開放世界識別” 領域。我們為了更好地解決具體業務問題,團隊會將業務問題抽象成學術問題進行深挖和充分的研究。探索得到的思考,洞察,和新方法不僅形成了頂會論文,也直接在業務上進行落地。實習結束後,筆者也被 EIG 研究中心直推至 MMLab 進行深造,目前仍然和 EIG 研究中心保持緊密合作,共同在開放世界識別的領域探索新穎,有效,可落地的紮實工作。

EIG 研究中心也薈聚了眾多頂尖的人工智慧技術人才,有若干名校博士、頂會論文作者、openmmlab 開源專案主要貢獻者。大家秉承著敢為人先的理念,致力於人工智慧賦能百業,創新氛圍濃厚。

目前團隊正招募

全職研究員

(工作地點:香港),希望入職後能夠:

- 從產品中抽象研究問題,並將研究成果轉化到產品

- 推動前沿的深度學習進展,課題包括:

開放世界識別、影片 OCR、文件關鍵資訊提取、半監督檢測、分割等

,應用方向包括:

多模態影片理解、智慧製造視覺檢測、遙感

- 在頂級會議和期刊上發表關鍵研究成果

- 成為內部研發工具箱和開源專案的貢獻者

通常我們期望候選人是:

- STEM 博士,在所在的科研領域(不限於 AI 相關領域)有突出成果,能夠獨立進行新的研究課題,或者,本科以上學歷,在 AI 領域發表過至少一篇一作論文或在知名的 AI 競賽中獲得過前五名的成績。

- 對人工智慧充滿熱情並有很強的自我驅動力

- 具有較強的 Python 編碼能力(瞭解 ML/DL 框架者優先)

我們能夠提供:

- 與研究和產業界豐富經驗的研究員和工程師團隊合作的寬鬆環境

- 卓越的研發環境,包括多年積累的領先技術和內部研發工具箱

- 論文研討會、技術培訓和個性化指導

- 海量的計算資源,有

1000 多個 GPU

的叢集可供使用

- 有競爭力的 package

- 可以與我們在全球的聯合實驗室合作,表現優異的同學有推薦讀博的機會

附錄

離群?異常?新類?開集?分佈外檢測?一文搞懂其間異同!

與AI俱進,化時光為翎:「AI中國」機器之心2021年度評選暨特別策劃

機器之心正式啟動「AI中國」2021年度評選暨「與AI俱進,化時光為翎」特別策劃,包括2021年度評選、年度內容專題、年度報告和AI科技年會四項內容。

我們希望藉此與AI公司並肩,與創新產業同行,評選出企業榜、解決方案榜、 生態榜、行業事件榜和專業品牌榜,並與機器之心讀者分享他們的技術突破與實踐中的精彩行業故事。最終評選結果將在AI科技年會現場釋出。

歡迎各企業機構掃碼報名或瞭解更多詳情。

TAG: 檢測樣本新類偏移分佈