1. 程式人生 > 實用技巧 >OoDAnalyzer: Interactive Analysis of Out-of-Distribution Samples

OoDAnalyzer: Interactive Analysis of Out-of-Distribution Samples

論文傳送門

作者

清華大學

  • Changjian Chen

  • Jun Yuan

  • Hang Su

  • Shixia Liu

  • Yafeng Lu

微軟亞洲研究院

  • Yang Liu

南京醫科大學第一附屬醫院

  • Songtao Yuan

Abstract

預測模型效能下降的一個主要原因是訓練資料沒有很好地覆蓋測試樣本。這種表現不佳的樣本稱為 OoD 樣本。在本文中,我們提出了OoDAnalyzer,這是一種視覺化的分析方法,用於互動式地識別外分佈的樣本並在上下文中解釋它們。我們的方法結合了整合外分佈檢測方法和基於網格的視覺化。通過將更多的特徵與同一家族中的演算法相結合,在深度整合的基礎上改進了檢測方法。為了更好地分析和理解上下文中的 OoD 樣本,我們開發了一種新的基於 kNN 的網格佈局演算法。該演算法逼近最優佈局,時間複雜度為 0(kN),比整體效能最好但時間複雜度為 0(N)的網格佈局演算法更快。對幾個資料集進行了定量評估和案例研究,以證明 OoDAnalyzer 的有效性和實用性。

Introduction


Challenges

  • 大多數 OoD 檢測方法要麼使用單個模型,要麼使用具有各種高階特徵的相同超引數的幾個模型,這些模型通常不能覆蓋整個資料分佈,並且可能會丟棄一些OoD 樣本中的關鍵資訊
  • 通過只輸出每個樣本的置信值,現有的 OoD 檢測方法不能解釋這種 OoD 樣本出現的潛在原因。

Contribution

  • 一個視覺化的分析工具,在上下文中解釋 OoD 樣本,並允許使用者有效地分析它們。
  • 一種基於網格的視覺化,具有受霍爾定理啟發而提出的網格佈局加速方法。
  • 面向 OoD 樣本推薦的整合 OoD 檢測的一種實用改進。

Related Work

  • OoD detection
  • Visualization for Outlier Detection

Design of OoDAnalyzer

Requirement Analysis

  • 在正常樣本的背景下檢查 OoD 樣本。
  • 在全域性和區域性環境下比較資料集和樣本
  • 瞭解和分析不同型別的 OoD 樣本

System Overview

ENSEMBLE OOD DETECTION METHOD

深度整合已被證明在 OoD 檢測方面表現最佳
理論上,如果模型已經很好地涵蓋了資料分佈的所有方面(簡稱模型容量),將會實現最佳效能

  • 擴大特徵集
  • 擴大演算法集

Grid-Based OoD Visualization

由於 OoD 檢測方法不能解釋檢測決策,我們開發了一種視覺化的方法來產生視覺化的解釋,幫助使用者理解原因.

  • 一個示例檢視來說明分佈訓練/測試資料,並進行比較;
  • 披露 OoD 樣本出現原因的解釋檢視

分析工作流程


基於K最近鄰的網格佈局

網格佈局。生成網格佈局對映的一種實用方法有兩步:首先使用降維技術將資料投影為一組 2D 散亂點;然後通過解決線性分配問題將這些 2D 點分配給網格點

minimize ⁡ δ i j ∑ i = 1 N ∑ j = 1 N w i j δ i j subjectto ∑ i = 1 N δ i j = 1 , ∀ j ∈ { 1 , … , N } ∑ j = 1 N δ i j = 1 , ∀ i ∈ { 1 , … , N } δ i j ∈ { 0 , 1 } , ∀ i , j \begin{array}{ll}\underset{\delta_{i j}}{\operatorname{minimize}} & \sum_{i=1}^{N} \sum_{j=1}^{N} w_{i j} \delta_{i j} \\ \text { subject to } & \sum_{i=1}^{N} \delta_{i j}=1, \forall j \in\{1, \ldots, N\} \\ & \sum_{j=1}^{N} \delta_{i j}=1, \forall i \in\{1, \ldots, N\} \\ & \delta_{i j} \in\{0,1\}, \forall i, j\end{array} δijminimizesubjecttoi=1Nj=1Nwijδiji=1Nδij=1,j{1,,N}j=1Nδij=1,i{1,,N}δij{0,1},i,j

在這裡插入圖片描述
Interactive Exploration

在這裡插入圖片描述

Evaluation

為了驗證我們的方法,我們對整合 OoD 檢測演算法和基於 kNN 的網格佈局演算法進行了定量評估

OoD Detection
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
基於 kNN 的網格佈局

在這裡插入圖片描述
在這裡插入圖片描述
Case Studies
動物資料集的 OoD 分析

在這裡插入圖片描述
在這裡插入圖片描述
視網膜水腫資料集的 OoD 分析

在這裡插入圖片描述

Expert Feedback

在案例研究之後,我們收集了合作者的反饋。總部總的來說,他們對 OoDAnalyzer 非常滿意。總部他們喜歡展示
的影象和相似的影象很接近。總部這為他們節省了大量時間,而且他們不必遍歷所有影象以查詢錯誤分類。他們還說,OoDAnalyzer 幫助他們從資料的角度理解機器學習模型的內部工作方式

他們還為我們提供了建設性的改進反饋。我們的合作者評論說,訓練 OoD 檢測模型需要一段時間。一位機器學習專家建議我們可以用分散式計算來加速低階特徵提取,因為這是最耗時的部分。此外,兩位醫生表示需要用 OoDAnalyzer 分析文字資料。他們評論說,“這個系統在識別和分析 OoD 影象方面顯示了它的有效性。如果 OoDAnalyzer 能夠支援文字資料的視覺化,那就更有用了,因為我們醫院有大量的病歷。”

CONCLUSION AND DISCUSSION

我們開發了 OoDAnalyzer,這是一種可視分析方法,用於識別 OoD 樣本並解釋它們的上下文。OoDAnalyzer 將整合 OoD 檢測方法與基於網格的視覺化相結合,以支援從全域性模式到區域性上下文的 OoD 樣本分析。開發的 OoD 檢測方法採用了豐富的特徵集和演算法集,以獲得更好的模型容量。為了支援實時互動和大資料集探索,我們實現了一個 kNN 近似,用於在基於網格的視覺化中高效地生成網格佈局。通過一系列定量實驗驗證了我們的 OoD 檢測演算法和 kNN 近似演算法的效率和有效性。此外,我們進行了兩個案例研究,以說明 OoDAnalyzer 如何用於分析上下文中的 OoD 樣本,以及機器學習專家和領域從業者如何使用這種方法來識別 OoD 樣本並克服它們導致的問題,以獲得更好的效能。

除了 OoD 分析,本文提出的演算法還可以推廣到其他情況。例如,基於 kNN 的演算法可以加快許多應用程式的佈局過程,如影象瀏覽、圖形繪製、和生化網路分析,其中網格佈局用於顯示影象、分組網路和關鍵詞。

雖然 OoDAnalyzer 的有用性在評估中得到了證明,但它也有一些侷限性,這可能為未來的研究提供機會。

  • 引數敏感度
  • 效地學習 KNN 演算法中的 K
  • 泛化
  • 影響模型效能的其他因素