(学习笔记)OoDAnalyzer: Interactive Analysis of Out-of-Distribution Samples

一、OoD样本以及算法、定理备忘录

预测模型性能下降的一个主要原因是训练数据没有很好地覆盖测试样本。这种没有很好表现的样本被称为 OoD 样本。

上图分类中的 OoD 样本:(a)在仅由深色狗和浅色猫组成的数据集上训练的分类器以高置信度错误地预测了一只白狗和一只黑猫; (b) 一个更复杂的卡通狗案例。

OoDAnalyzer,它将集成 OoD 检测方法与交互式可视化相结合,以帮助识别 OoD 样本并解释 OoD 上下文。一旦确定了 OoD 样本并确定了它们的根本原因,根据训练数据集标记和添加样本通常可以提高模型的准确性 。因此 OoDAnalyzer 主要侧重于识别和解释 OoD 样本。

       t-SNE算法:(63条消息) t-SNE算法_IvyYin的博客-CSDN博客_t-sne算法

       霍尔定理:霍尔定理(Hall)与其推广 - 知乎 (zhihu.com)

       KNN算法:(63条消息) 什么是KNN算法?_hajk2017的博客-CSDN博客_knn算法

       JV算法:(63条消息) LAPJV算法详解(ed_Sparse Direction的博客-CSDN博客_lap.lapjv

面对OoD样本,亟需解决的问题:

R1 - 在正常样本的上下文中检查 OoD 样本,我们需要把训练数据集中的正常样本与其他正常样本比较、正常样本与非正常样本比较,否则难确认许多 OoD 样本。

R2 - 在全局视图和本地上下文中比较数据集和 OoD 样本,对于性能不佳的预测模型,我们希望检查 OoD 样本在类别中的分布情况,并通过并排比较训练和测试数据集之间的分布来找出哪些类别可能包含真实的 OoD 样本。在确定感兴趣的类别后,我们希望缩小关注范围,将 OoD 样本与语义相似的正常样本进行密切比较,基于此分析,找出这些样本为 OoD 的主要原因。

R3 - 了解和分析不同类型的 OoD 样本。样本可以大致分为两类:低置信度预测(已知未知数)和高置信度预测(未知未知数)为了最大限度地减少 OoD 样本,我们希望直观地探索这两种类型的 OoD 样本及其与其他样本的关系。

  二、OoDAnalyzer

 

(a) 提取高级和低级特征; (b) 识别 OoD 样本; (c) 分析 OoD 样本并确定它们出现的原因; (d) 根据确定的原因添加更多的训练数据并开始新一轮的分析。

基本思想:对已经训练过的测试集与训练集以及分类结果,通过OoDAnalyzer的分析得出,OoD样本出现的原因,再通过通过扩大特征集和算法集来提高模型容量、提高模型分类的准确度。

三、交互式可视化的体现

本模型互动探索:比较、OoD推荐、基于OoD的缩放

比较:对比训练集与测试集的初始分布、对比不同类别的分布情况、对比OoD样本与正常样本的差异情况

OoD推荐:不同颜色代表不同的类别,颜色越深OoD分数越大

(a) 初始抽样结果; (b) 用户选择的子区域(灰色); (c) 4 个展示样本保存到下一个级别; (d) 分配给这 4 个显示样本的 6 个隐藏样本; (e) 从 6 个隐藏样本中选出 5 个样本; (f) 等级制度。

四、 kNN-based Grid Layout(基于 kNN 的网格布局)

Grid Layout(网格布局):使用降维技术将数据投影为一组 2D 散点;然后通过解决线性分配问题将这些 2D 点分配给网格点。

step1:降维,假设数据集中的每个实例都与一个特征向量相关联。该方法通过 t-SNE 将所有特征向量投影到 2D 平面上,用 x_{i}\in R^{2} 表示投影点

 step2:线性分配。在投影点的边界框上创建一个 2D m×n 网格。每个网格点由其中心y_{j}\in R^{2}表示.

 通过最小化总分配成本来实现最优分配

上述线性分配问题等价于加权完全图 G = (X,Y,E) 上的加权二部图匹配问题,对于匹配问题JonkerV olgenant (JV) 算法 [47] 具有整体令人满意且稳定的时间性能,本模型采用他再最后的匹配算法部分。

但JV 算法的时间复杂度为 O(N3)。对交互式可视化,由于在用户探索期间对实例进行了重新采样,因此网格布局必须以交互速率(千个实例小于 1 秒)生成,但 JV 算法无法满足这一要求。

五、kNN-based bipartite graph matching(基于 kNN 的二部图匹配)

(  霍尔定理),二部图 G = (X,Y,E) 有匹配当且仅当 X 的任何子集 S 的元素个数小于或等于其对应的相邻集 Γ(S) 的元素个数 

      然而,很难使用霍尔定理来检查是否存在匹配,因为由于子集的组合,这是一个 NP-hard 问题。相反,我们使用从霍尔定理导出的充分条件,也称为婚姻定理。

(婚姻定理)。如果每个顶点 x ∈ X 的度数等于 k ​​并且每个顶点 y ∈ Y 的度数也等于 k,则二部图 G = (X,Y,E) 具有匹配性

具体步骤:

简单例子:

    X = {x1,x2,x3,x4} 和 Y = {y1,y2,y3,y4} 的集合的初始图,其中 k = 2,其中边长表示其重量。在Y<中的顶点中,y2的度数最大,边权重之和最大,所以我们先挑它,去掉权重最大的边x1y2。为了确保 x1 仍在 X= 内,我们添加了一条新边 x1y4(图 5(b)),因为 y4 是 Y< 中唯一不连接到 x1 的顶点。贪心修改进一步删除了 x4y3 并添加了 x4y1。结果图 Fig. 5(c) 满足婚姻定理,因为任何顶点的度数是 k = 2。在修改后的图 (c) 上应用 JV 算法后,得到二分图匹配 (图 5(d) )。

六、本模块在医学图像上的应用

本文中将OoDAnalyzer 用于识别视网膜水肿数据集中的 OoD 样本。REA(视网膜水肿区域),对其分两类REA与无REA,通过可视化模块的帮助辅助诊断的进行。

先使用UNet++ 模型跑网络,之后效果展示使用OoDAnaly,通过这种方式探索测试数据集中的模型性能下降的原因

(1)对比traing 和  test得出,各类图像集中的区域

(2)查看错类区域,放大其领域,辅助判断分类错误的原因。

 在专业人士的帮助下,分析者确定了,假设缺乏具有视网膜内囊样腔的 REA 样本但没有视网膜增厚可能是 OoD 样本的主要原因。

之后查了一些显着性图,发现模型没有学习到视网膜内囊状腔的区域。这进一步验证了假设。

 

 为了提高模型的识别能力:收集了 57 个额外的 OCT 图像,这些图像具有视网膜内囊样腔但没有明显视网膜增厚的水肿,加入训练数据集,最终得到很好的判断效果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Out-of-distribution是指在模型训练时未曾出现过的数据分布,也称为“未知数据”。在模型面对未知数据时,其预测结果可能会出现误差或不确定性。因此,对于模型的鲁棒性和泛化能力的提升,需要对out-of-distribution数据进行有效的识别和处理。 ### 回答2: out-of-distributionOoD)是指模型在测试阶段遇到了其训练数据集之外的样本或类别。当模型只使用特定的数据集进行训练时,它可能无法处理那些与训练数据不同的输入。这些新的样本可能是在颜色、形状、大小等方面与训练数据有所不同,也可能属于未在训练数据中出现过的类别。 遇到OoD样本的问题是模型的泛化能力不足。模型在训练数据中表示和学习的特征可能过于特定,无法推广到训练数据集之外的样本。这可能导致模型的预测不准确或不可靠。 为了解决OoD问题,有几种方法可以采取。一种常见的方法是收集更多来自OoD分布的样本,并将其添加到训练数据中,以使模型能够更好地学习如何处理这些新样本。另一种方法是使用一些先验知识或规则,对OoD样本进行检测和筛选,以避免对其进行错误预测。 同时,一些研究者提出了一些用于检测OoD样本的新颖性评估方法。这些方法通过利用模型在训练样本和OoD样本上的输出差异来判断一个样本是否属于OoD类别。这种方法可以帮助我们识别OoD样本,并采取相应的措施,以提高模型的泛化性能。 综上所述,解决out-of-distribution问题是训练一个具有较强泛化能力的模型的重要步骤。只有当模型能够有效处理新的样本和未见过的类别时,才能提高模型的可靠性和适用性。 ### 回答3: "out-of-distribution"是指数据集中没有包含的数据样本或样本类别。在机器学习和深度学习中,数据集通常用于训练和测试模型的性能。然而,在现实世界中,我们会遇到无法准确分类的新数据,这些数据就属于"out-of-distribution"。这可能是因为这些数据具有与训练数据不同的特征,或者因为数据集的覆盖范围有限。 "out-of-distribution"的出现可能会对模型的性能和鲁棒性产生负面影响。由于模型没有前面没有见过这些类型的数据,它可能会对其进行错误的分类或给出不确定的预测结果。这种情况在实际应用中特别重要,因为我们希望模型能够在各种不同的情况下表现得可靠和准确。 为了解决"out-of-distribution"问题,一种常见的方法是通过收集更多具有代表性的训练数据来增加数据集的覆盖范围。这样模型可以更好地学习不同类型的数据特征,并提高对"out-of-distribution"数据的泛化能力。另外,使用先进的模型架构和优化算法也可以增强模型的鲁棒性。 除了增加训练数据和改进模型架构外,还可以使用一些检测方法来识别"out-of-distribution"的样本。这些方法可以根据模型的置信度、预测熵或数据分布等特征来判断样本是否属于训练集之外的数据。这些方法可以帮助我们发现并处理那些可能造成模型失效的"out-of-distribution"数据。 总之,"out-of-distribution"是指在训练数据之外的数据样本或样本类别。对于机器学习和深度学习任务,了解和解决"out-of-distribution"问题是提高模型性能和鲁棒性的关键。通过增加训练数据、改进模型架构和使用检测方法,我们可以减少"out-of-distribution"带来的负面影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值