作者
清华大学
-
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 subject to ∑ 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} δijminimize subject to ∑i=1N∑j=1Nwijδij∑i=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
- 泛化
- 影响模型性能的其他因素