ConfusionFlow:用于分类器混淆时间分析的模型无关可视化
期刊: IEEE Trans. Vis. Comput. Graph.(发表日期: 2022)
作者: Andreas P. Hinterreiter; Peter Ruch; Holger Stitz; Martin Ennemoser; Jürgen Bernard; Hendrik Strobelt; Marc Streit
摘要
分类器是最广泛使用的监督机器学习算法之一。存在许多分类模型,为给定任务选择正确的分类模型很困难。在模型选择和调试过程中,数据科学家需要评估分类器的性能,评估其随时间的学习行为,并比较不同的模型。通常,此分析基于单一数字性能测量(例如准确性)。通过检查类别错误可以对分类器进行更详细的评估。混淆矩阵是可视化这些类别错误的既定方法,但其设计时并未考虑到时间或比较分析。更一般地,已建立的绩效分析系统不允许对分类级别信息进行组合的时间分析和比较分析。为了解决这个问题,我们提出了 ConfusionFlow,这是一种交互式比较可视化工具,它将类混淆矩阵的优点与随时间变化的性能特征可视化结合起来。 ConfusionFlow 与模型无关,可用于比较不同模型类型、模型架构和/或训练和测试数据集的性能。我们在主动学习中实例选择策略的案例研究中展示了 ConfusionFlow 的有用性。我们进一步评估了 ConfusionFlow 的可扩展性,并在神经网络剪枝的背景下提出了一个用例。
1 引言
分类是最常见的机器学习 (ML) 任务之一。来自不同领域的许多重要问题,例如图像处理[25]、[32]、自然语言处理[21]、[40]、[49]或药物靶点预测[36],都可以被框架为分类任务。复杂的模型(例如神经网络)已被证明是有效的,但构建和应用这些模型很困难。对于多类分类器尤其如此,它可以预测多个类中的一个,而二元分类器只能预测两个类中的一个。
在分类器的开发过程中,数据科学家面临着一系列挑战。他们需要观察模型性能如何随着时间的推移而发展,其中时间的概念可以是双重的:一方面,机器学习开发的一般工作流程是增量和迭代的,通常由不同模型的许多连续实验组成;另一方面,分类器的实际(算法)训练本身就是一个优化问题,涉及随时间变化的不同模型状态。在第一种情况下,比较分析可以帮助数据科学家判断他们是否走在正确的道路上。在后一种情况下,时间分析有助于找到停止训练的正确时间,以便模型泛化到训练数据中未表示的未见过的样本。
模型行为在很大程度上取决于超参数、优化器或损失函数的选择。这些选择如何影响整体模型性能通常并不明显。这些选择如何在更详细的层面上影响行为,例如通常“混淆”的类对,就更不明显了。然而,有关模型的类性能的知识可以帮助数据科学家做出更明智的决策。
为了应对这些挑战,数据科学家采用了三种不同类型的方法。第一,他们通常通过查看时间折线图来评估单一价值绩效指标,例如准确性。这种方法适合比较学习行为,但它本质上缺乏更详细的分类级别的信息。第二,数据科学家使用工具来比较分类器的性能。然而,这些工具通常同样缺乏类级别信息,或者它们并不特别适合时间分析。第三,数据科学家根据类别混淆矩阵评估类别级别的表现[50]。不幸的是,经典混淆矩阵的严格布局并不适合模型比较或时间分析。
到目前为止,很少有工具专注于从时间、模型比较和类级别相结合的角度进行分类分析。然而,通过单一工具从所有三个角度获得见解可以(1)作为解释模型性能的起点,(2)促进模型适应空间的导航,(3)带来更好的理解模型和底层数据之间的交互。
我们论文的主要贡献是 ConfusionFlow,这是一种基于精确度和召回率的可视化,可以同时实现时间、比较和类级别的性能分析。为此,我们引入了传统混淆矩阵的时间适应。
作为次要贡献,我们提出(1)分类器性能分析的彻底问题空间特征,包括三级粒度方案; (2) 一个案例研究,展示了如何应用 ConfusionFlow 来分析主动学习中的标记策略; (3) ConfusionFlow的可扩展性评估; (4)神经网络剪枝背景下的使用场景。
2 问题空间表征
新分类模型的开发或现有模型适应新应用领域是高度实验性的任务。用户面临许多不同的设计决策,例如选择架构、合适的优化方法和一组超参数。所有这些选择都会极大地影响学习行为,并影响最终分类器的质量。因此,为了获得满意的结果,需要在迭代工作流程中训练和评估基于不同模型或配置的多个分类器。在这里,我们选择术语配置来指代模型、优化技术、超参数和输入数据的集合。此设计过程要求用户在多个训练迭代中比较不同模型或配置的学习行为和性能。为此,模型开发人员通常会检查精度和召回率等性能指标1。根据所使用的措施,可以在三个详细级别上进行分析。
2.1 分析粒度
根据我们对相关工作的反思(参见第 3 节),分类器的大多数性能分析任务可以在三个细节级别上进行(参见图 1,左):
L1 全局级别 - 在全局级别,分类器的性能是通过将整个数据集的结果总结为一个数字的总分来判断的。总体准确性是全局性能衡量的典型示例。为了显示多个训练迭代的趋势,可以用简单的折线图表示全局总分数。
L2 类别级别 - 在类别级别,性能度量是根据特定类别标签从结果子集得出的。分类级别的典型绩效衡量标准是分类准确率、精确度或召回率。与全球水平一样,这些指标在整个训练过程中的时间演变可以用折线图可视化。更详细的类级别信息包含在混淆矩阵中。这项工作解决了跨多个训练迭代可视化混淆矩阵的问题。
L3 实例级别 - 在实例级别,质量评估基于各个真实标签和预测标签(或预测类概率)。这允许挑选出有问题的输入数据。如何进一步分析这些实例的策略在不同模型和数据类型之间存在很大差异。根据具体问题,有趣的信息可能包含在输入图像或特征向量、网络输出、神经元激活和/或更高级的概念(例如显着性图)中[47]。
这三个级别是各个实例预测的不同程度的聚合。图 1(右)示意性地显示了如何跨迭代可视化这些级别的数据,以分析训练进度。
ConfusionFlow 旨在对每类总分数进行时间分析,引入训练迭代中混淆矩阵的可视化。因此,ConfusionFlow 在三个级别中的第二个级别 (L2) 上运行。
2.2 分析任务
ConfusionFlow 专为数据科学和机器学习领域的专家(从模型开发人员到模型用户)而设计。基于这些用户组在相关工作中的反映(参见第 3 节)以及我们合作者工作实践的特征,我们将用户目标和意图分解为任务特征,如下所示。任务的主要结构沿着两个轴,对应于比较分析(G1)和时间分析(G2)的两个高级目标。
比较轴区分分类内比较和分类间比较。这种经常使用的内部/之间二分法解释了使用单个分类结果(内部)以及与多个结果相关(之间)进行的分析。内部比较的概念也暗示了第 2.1 节中讨论的不同细节级别。所有分类间分析都遵循比较多个分类结果的原则。一般来说,用户手头有一系列的分类配置,旨在识别共性和差异。根据我们的合作者的说法,多个分类配置可能是由于(a)同一模型的不同(超)参数选择,(b)不同的分类模型,或(c)用于分类器训练和验证的不同数据集或数据集折叠而产生的。虽然从方法论的角度来看,这三种不同类型的分类配置之间的区别很有趣,但对质量评估工具的要求非常相似。
第二个轴构建时间分析任务(G2)。沿着这个轴,我们区分了通常应用于时间序列分析 [2] 的任务:查找值、评估趋势和查找异常。
这两个轴的完整横切导致了六个主要分析任务,T1 到 T6,如表 1 所示。在每个任务之前,给出了一个示例场景,解释了抽象的低级任务如何与 ML 分析过程相关。
在 2.1 节中,我们已经暗示了这样一个事实:现有工具大多仅在全局级别(L1)上支持时间分析(G2)。正如我们下面的文献调查所示,分类器 (G1b) 之间的比较很少在类级别上得到支持。 ConfusionFlow 的主要新颖之处是以比较和时间方式实现基于精确度和召回率的类级分析。
图 2 说明了同时执行高级任务 G1 和 G2 的所有可能场景,特别关注分类间比较 (G1b)。该示意图显示了最一般的情况,即当模型 (C ⇔ D) 和数据集 (X ⇔ Y) 不同,并且数据集另外随时间变化时
(
X
i
,
X
j
)
(X_i , X_j)
(Xi,Xj)。当数据集或模型保持不变时,许多专门的比较和/或时间分析任务可以从图 2 中描述的一般情况中派生出来:
- 在观察如何在恒定数据集(所有 t 的 X t = X X_t =X Xt=X)上训练单个模型的简单情况下,用户仅对序列 C ( θ 1 ) ( X ) ⋅ ⋅ ⋅ C ( θ T ) ( X ) C(θ_1)(X) · · · C(θ_T )(X) C(θ1)(X)⋅⋅⋅C(θT)(X) 感兴趣。这对应于绩效测量(T1)和进度测量任务(T2)。
- 为了比较两个分类模型 C 和 D 在相同测试集 X 上的最终性能,用户分析了 C ( θ T ) ( X ) 与 D ( ζ T ) ( X ) C(θ_T)(X) 与 D(ζ_T)(X) C(θT)(X)与D(ζT)(X)对。这是任务T4的典型实现。
- 通常,需要临时比较分类器在两个不同数据集折叠(例如训练折叠和测试折叠)上的性能。这种情况意味着所有 t 都有 C = D C = D C=D、 X t = X X_t =X Xt=X 和 Y t = Y Y_t= Y Yt=Y,但 X ≠ Y X\neq Y X=Y。用户现在需要将序列 C ( θ 1 ) ( X ) ⋅ ⋅ ⋅ C ( θ T ) ( X ) C(θ_1)(X) · · · C(θ_T)(X) C(θ1)(X)⋅⋅⋅C(θT)(X) 与序列 C ( θ 1 ) ( Y ) ⋅ ⋅ ⋅ C ( θ T ) ( Y ) C( θ_1)(Y)···C(θ_T)(Y) C(θ1)(Y)⋅⋅⋅C(θT)(Y)。该分析包括对趋势和异常的比较评估(任务 T5 和 T6)。
- 一个更复杂的例子是主动学习期间两个分类器的比较(参见第 5.1 节)。在这种情况下,两个模型都在同一数据集上进行训练,但数据集随着时间的推移而变化。用户将序列 C ( θ 1 ) ( X 1 ) ⋅ ⋅ ⋅ C ( θ T ) ( X T ) C(θ_1)(X_1) · · · C(θ_T )(X_T ) C(θ1)(X1)⋅⋅⋅C(θT)(XT) 与序列 D ( ζ 1 ) ( X 1 ) ⋅ ⋅ ⋅ D ( ζ T ) ( X T ) D(ζ_1)(X_1) · · · D(ζ_T )(X_T ) D(ζ1)(X1)⋅⋅⋅D(ζT)(XT) 进行比较。所有细粒度任务 T1 到 T6 都可能与这个复杂的示例相关。
我们特意将表 1 中的所有示例场景保留为与级别无关的。任务 T1 到 T6 在三个细节级别中的任何一个级别上都同等相关。 ConfusionFlow 专注于使用户能够在类级别 L2 上执行任务,但也包括一些可从混淆矩阵推导出来的全局信息。
3 相关工作
最近机器学习的复苏,尤其是深度学习的日益普及,导致了对机器学习开发和监控工具的需求增加,同时也增加了人们更好地理解现有技术的愿望。一方面是算法设计,另一方面是使 ML 算法可解释或可解释的挑战之间的相互作用,在 ML 可视化领域引发了高度活跃。霍曼等人的质疑调查。 [27]全面概述了这些最新进展。
在下文中,我们将讨论以下方法:(1) 针对模型和/或配置之间的比较的用户目标(参见目标 G1b); (2) 对学习行为进行时间分析(参见目标 G2);和/或 (3) 在类级别 (L2) 上运行,如我们在第 2.1 节的上下文中所定义。表 2 总结了我们选定的每份出版物涵盖了这三个方面中的哪一个。我们还简要回顾了之前关于时间序列可视化和比较的工作,因为 ConfusionFlow 是一种小型倍数方法,应该支持用户执行典型的时间分析任务。
我们的文献调查将表明,到目前为止,几乎没有任何工具专注于同时解决(在类细节级别(L2)上)比较(尤其是模型之间,G1b)和时间分析(G2)的两个高级目标。
3.1 模型比较
格莱彻等人。将视觉比较的设计空间分为三个主要类别:并置、叠加和显式表示[20]。大多数机器学习模型比较可视化使用叠加来绘制单数性能指标,并使用并置来比较多维(例如向量或矩阵)或非结构化数据(例如图像或文本)。
用于开发、调试和评估神经网络的最著名的可视化系统之一是 Abadi 等人开发的 TensorFlow 的 TensorBoard。 [1],[58]。它将计算图的可视化与各种性能指标的显示相结合,但它并不是为在同一视图中比较多个机器学习模型而设计的。 TensorFlow 还具有 Google 的 What-If 工具 [57],该工具可以在假设数据集发生更改时将模型与其自身的更改版本进行比较。
对于某些类型的模型架构,已经开发了具有专门比较功能的工具:Ming 等人的 RNNVis。 [39] 对于循环神经网络,Wang 等人的 GANViz。 [56] 用于生成对抗网络,以及 Zeng 等人的 CNNComparator。 [61]用于卷积神经网络。 RNNVis 具有一个带有基于字形的句子可视化的主视图。根据需要,可以并排比较两个模型。 GANViz 重点关注生成网络的输出与构成 GAN 的判别网络的输出的比较。 CNNComparator 由选定网络层的参数值直方图、卷积运算的矩阵可视化以及两个选定网络性能的实例级并排比较组成。它允许比较两种不同的配置或相同配置的两种不同模型状态,但不具有立即访问类混淆度量的功能。 Hohman 等人的 ShapeShop。 [26]针对非专家,可以比较卷积神经网络的性能。它旨在让用户对网络学习的内容有基本的了解,而不是提供深入的评估功能。
张等人。提出了 Manifold [62],一个用于解释、比较和诊断 ML 模型的模型无关框架。小倍数的散点图可视化两个不同的模型如何生成不同的类输出。颜色编码可以让人感觉到每个模型的类别混乱,但没有选项可以跟踪模型的学习行为。
两个模型的比较不能仅用于选择哪个模型本身表现更好。它还可以成为构建新集成模型或交互调整模型的工作流程的一部分。在 van den Elzen 和 van Wijk 的 BaobabView [53] 中,可以交互式地修剪决策树,并且可以将生成的树的性能与初始树进行比较,例如通过查看混淆矩阵。 Talbot 等人的 EnsembleMatrix。 [52]显示不同分类器的混淆矩阵,允许用户从它们之间构建加权组合。可以再次根据类混淆来评估生成的集成模型。
这些技术中的每一种都使用户能够以某种方式比较多个模型或模型状态的性能(解决目标 G1b),但会错过时间方面(G2),或者不会产生类混淆信息(L2)。
3.2 训练的时间分析
我们将模型训练的时间分析的回顾细分为相关时间分析任务的阐述,然后概述支持分类器质量特征的时间评估的方法。
在数据挖掘、机器学习和可视化研究中,时态数据分析的主要目标是时态模式的探索、识别和本地化[16]、[19]、[38]。根据可视化社区中的任务特征,我们采用将单个(即原子)值本地化的概念作为时间分析的最精细粒度[2]、[5]。基于这些原子定位任务,大多数可视化技术支持对多个时间点的评估,使用户能够掌握更高层次的结构,即时间模式。根据应用程序环境,此类模式通常包括趋势、异常值或周期性模式 [6]。对于模型训练的时间分析,趋势识别起着至关重要的作用。通常,模型性能在整个学习过程中往往会增加,并趋向于某个饱和值。其他经常研究的模式包括异常值和异常值。机器学习模型背景下的异常评估高度相关,但具有挑战性。与趋势和异常值相比,周期性模式和周期在分类器训练的时间分析中几乎不起作用。
现在,我们概述了解决这些一般时间分析任务的特定 ML 性能分析工具。
TensorBoard [1] 和 GanViz [56] 通过准确度或其他性能分数的折线图增强了其主要可视化效果。同样,Chung 等人。 [14] 在其 ReVACNN 系统的额外窗口中显示了时间训练统计数据,用于卷积神经网络的实时分析。在 CNNComparator [61] 中,通过比较来自不同训练时期的两个模型状态可以访问有限的时间信息。
DeepEyes 由 Pezzotti 等人设计。 [42]是一种渐进式可视化工具,它将损失和准确性曲线与困惑度直方图和激活图结合起来。训练期间损失的渐进折线图也用于交互式探索的教育工具,例如 TensorFlow Playground [48] 或 GAN Lab [29]。
Liu 等人的 DeepTracker。 [34]以立方体风格的可视化形式显示性能数据,其中训练时期沿着三个轴之一进行。启用学习行为检查的另一种方法是选择器或滑块,它链接到仪表板中的主可视化或多个可视化,并允许访问各个迭代。蔡等人。 [13] 在分类结果的可视化中使用了这种技术,Wang 等人也是如此。 DQNViz [55],一个用于理解深度 Q 网络的工具。在 Bruckner 的 ML-o-scope [12] 的视图之一中,纪元滑块与混淆矩阵相关联,其中单元格可以与示例实例交互地增强。 Alsallakh 等人的 Blocks 系统。 [4]还具有绑定到纪元滑块的混淆矩阵。 Blocks 支持对神经网络学习的潜在类层次结构的研究,这要求可视化可扩展到许多类。
在上述用于探索学习行为 (G2) 的所有工具中,没有一个在关注类别混淆 (L2) 的同时还提供比较功能 (G1b)。
3.3 类混乱
当评估 L2 级分类器的输出时,类混淆可以用两种方式解释。通常,它描述混淆矩阵的各个单元格中使用的聚合分数。然而,术语“类间混淆”有时也用于描述单个实例的分类器输出中多个类的高概率值。为了避免歧义,我们在讨论中将这个概念称为“每个实例的分类不确定性”。
到目前为止提到的作品中,BaobabView [53]、EnsembleMatrix [52]、ML-o-scope [12] 和 Blocks [4] 都允许(至少部分地)在类级别(L2)进行性能分析。在这些工具中,这是通过根据标准混淆矩阵可视化类别混淆来实现的,无论是最终分类器还是一次一个训练步骤。
混淆矩阵也是 Kapoor 等人提出的 ManiMatrix 工具的核心。 [30],它用于交互式修改分类边界。这让用户可以探索限制一对类的混淆如何影响其他对,旨在实现类级模型优化和可解释性。
除了混淆矩阵之外,还提出了一些评估 L2 级分类器性能的替代方法。阿尔萨拉赫等人。引入了混乱轮[3]。它由一个圆形和弦图组成,其中具有高混淆计数的类对与较粗的和弦连接。在外部,环形图对每个类别的 FN、FP、TP 和 TN 分布进行编码。 Ren 等人的正方形。 [44]专注于可视化每个实例的分类不确定性。可以展开预测分数的直方图以访问各个实例,然后使用并行坐标对其预测进行编码。此外,每个类别的迷你图给人一种总体类别混乱的印象。 Squares 允许混合级别(L2 和 L3)混淆分析。
现有的分类级表现分析 (L2) 工具都无法提供学习行为 (G2) 的即时、时间表示,而且大多数工具相对不适合分类间比较 (G1b)。
4 CONFUSIONFLOW 技术
ConfusionFlow 界面由三个视图组成,如图 3 所示: (A) ConfusionFlow 矩阵呈现一个或多个分类器随时间的混淆情况; (B) 类别表现和分布视图,包括精度、召回率和 F1 分数图,以及实例类别分布的可视化; © 显示交互选择的混淆或性能曲线的放大图的详细视图。此外,ConfusionFlow 还具有 (D) 一个时间线,用于选择用于探索的训练步骤范围; (E) 用于加载数据集的输入字段,它也充当整个可视化的图例。
图 3 显示了如何使用 ConfusionFlow 来比较神经网络在不同数据集上的图像分类性能。对于这个例子,我们加载了在 CIFAR-10 [31] 的训练集 ( 绿色) 上训练的神经网络图像分类器的混淆数据,并对相应测试集 ( 橙色) 中的图像以及最近提出的分别来自 CIFAR-10.1 [43] 的新测试集 (蓝色)。
4.1 混淆流矩阵
ConfusionFlow 矩阵如图 3.A 和 4 所示,是分类错误的可视化,支持模型内和模型间比较 (G1) 以及时间分析 (G2)。在经典的混淆矩阵中,单元格 (i, j) 列出了具有类别 i 的真实标签且被分类为类别 j 的实例数量。虽然经典的混淆矩阵仅限于显示单个模型在一个特定时间步骤的混淆数据,但 ConfusionFlow 矩阵可以可视化多个分类器在多个训练步骤中的类别混淆(参见图 1)。如第 2.2 节所述,不同的分类器可以来自使用不同模型的 ML 实验或使用不同数据集或数据集折叠的 ML 实验。 ConfusionFlow 矩阵是一种小倍数方法:对于每个单元格,经典混淆矩阵的单个值被替换为选定时间范围内的值图(参见图 4)。
ConfusionFlow 矩阵应同时启用时间分析 (G2) 和比较 (G1b),同时保留熟悉的混淆矩阵布局。这意味着每个分类模型的混淆可视化应该只占用很少的空间,但仍然应该能够显示细粒度的时间分辨率。同时,不同模型的各个时间进程应该很容易区分,以使用户能够执行任务 T2 和 T5。因此,我们选择热图习惯用法来可视化类混淆[7]。一维热图(有时称为色域)已被证明可以很好地支持时间序列比较任务,特别是在任务完成时间方面 [22]。本段右上角的缩略图显示了如何用此惯用法对矩阵的单个单元格的时间混淆值进行编码。每个矩阵单元包含每个加载模型的一个时间序列。在折线图编码中,多个时间序列在同一个图表中一起绘制(叠加策略,参见 Gleicher 等人 [20])。如果将每条线转移到一维热图,则可以堆叠热图进行比较,而不会出现任何过度绘制问题(并置策略[20])。这些堆叠的热图有时被称为“烤宽面条图”[51]。混淆值被编码为亮度,并且自动为每个分类器分配唯一的色调。为了确保视觉一致性,每个分类器的色调在所有链接的视图中保持不变。图 4 的左侧部分显示了实际示例中由此类堆叠热图组成的矩阵。
用户可以交互地从热图切换到类别混淆的折线图编码。可用此选项有两个原因。首先,我们发现机器学习用户特别习惯以折线图的形式查看时间性能指标。其次,折线图可以方便读取和比较感兴趣的各个时期 (T1) 或模型之间 (T4) 的绝对值。如果选择了折线图编码并且用户另外选择了单个迭代(有关时间线选择器的信息,请参阅第 4.4 节),则将绘制所选迭代的混淆值的堆叠热图作为折线图的背景。图 4 的右侧部分显示了这种编码的示例。灰色背景热图对应于垂直虚线指示的时间步长的三个模型的混淆值。这个额外的背景热图增加了折线图编码的有问题的类对的视觉显着性。这种增加的显着性已经是热图编码所固有的。热图/折线图开关以及视觉编码选项的其他几个控件可以在图 3 中 ConfusionFlow 矩阵的左侧看到。
为了便于比较给定预测类别的细胞,时间默认从左到右进行,无论编码选择如何。这种选择符合大多数用户对时间序列数据图的期望。如果选择了热图编码,用户可以根据需要将单元格内容旋转 90°,以便更容易地沿着给定的地面实况类进行比较。
经典混淆矩阵的对角线元素列出了每个类正确分类的实例的数量。对于功能良好的分类器,这些数字通常远高于混淆计数。为了让用户专注于错误行为的探索并保持混淆值的查找可行(T1 和 T4),我们决定用类标签替换 ConfusionFlow 矩阵中的对角单元。通过这种方式,我们在非对角线单元中保留了高视觉对比度,并有助于在矩阵中导航。
为了让用户评估各个类别的整体表现,我们在右侧的附加列中显示每个类别的假阴性时间图,与矩阵略有偏移。同样,底部的附加行显示每个类别的误报。我们在附加行和列的交叉点处使用对角线元素来显示分类器整体准确性的时间进展。这允许用户在全局级别 (L1) 上执行所有分析任务 T1 到 T6,尤其是当该图表进入详细视图时(请参阅第 4.3 节)。
为了能够在不同大小的数据集(T4 到 T6)之间进行性能比较,例如训练集与测试集,ConfusionFlow 包含一个从绝对性能值切换到相对性能值的选项。为了获得相对性能分数,只需将混淆计数除以分类实例的总数。
为了解决异常检测和比较任务(T3 和 T6),有问题的类对或训练迭代的峰值默认情况下应该是可见且显着的。然而,这些特别高的混淆计数有时会隐藏其他细胞中潜在的有趣发现。为了解决这个问题,我们让用户在绘图的线性和对数刻度之间切换。使用指数缩放滑块,可以进一步强调较低的值。在热图编码中,这对应于增加对比度。
如果用户只对类字母表的子集感兴趣,他们可以在类选择对话框中缩小所选类的数量。为了维持有意义的混淆矩阵,始终需要选择至少两个类。显示类的数量在实现方面不受限制,但存在一些实际限制,我们将在 5.2 节中深入讨论。类聚合是减少显示类数量的第二种策略。目前 ConfusionFlow 不支持此策略,仅与具有不同类/超类层次结构的数据集相关。
在图 3 所示的 CIFAR-10 示例中,ConfusionFlow 矩阵显示,对于 CIFAR10.1 测试集,汽车类和卡车类之间的混淆程度要高得多。由于 ConfusionFlow 专注于时间分析,因此可以立即看出该错误在所有训练时期都是一致的(参见任务 T4 和 T5)。对于所有其他类对,网络都具有良好的泛化能力。在这些单元格中,这可以通过所有三个选定数据集的相似亮度值看出。如果没有这些分类级别的观察,总体准确率下降的原因仍不清楚;通过与ConfusionFlow进行对比分析,性能下降可以追溯到底层数据分布的变化。
4.2 类表现和分布视图
对分类器性能进行彻底的类级别 (L2) 分析不仅应关注成对的类,还应包括对各个类的总体性能的评估。
为此,ConfusionFlow 为所有选定类别提供了精度、召回率和 F1 分数的时间 (G2) 折线图(参见图 3.B)。与 ConfusionFlow 矩阵相比,这些图的水平空间不受限制,因此即使在有噪声数据的情况下,视觉混乱也不是问题。为了比较多个分类器(G1b),我们叠加了折线图。再次使用色调来区分不同的分类器结果,并且色调与为 ConfusionFlow 矩阵选择的色调一致。为了让用户评估每个数据集的大小和类别分布,条形图对每个类别的实例数量进行编码。这些条形图放置在每个类别的性能指标旁边,并且颜色与所有其他视图一致。鼠标悬停操作会显示每个条形的实例数。
对于 CIFAR 示例(图 3),类分布图显示 CIFAR-10.1 的更新测试集比 CIFAR10 的更新测试集小得多。精度、召回率和 F1 分数图表证实,汽车类的召回率和卡车类的精度对于新测试集尤其糟糕,但它们也表明分类器无法很好地泛化 CIFAR-10.1 中的飞机实例。对多个时期的泛化能力的评估是任务 T5 的一个示例。虽然类性能图表本身可以带来有趣的见解,但它们也应该引导用户重新检查 ConfusionFlow 矩阵。
4.3 详细视图
ConfusionFlow 矩阵中的所有单元以及所有每类性能图表都可以选择在单独的视图中更详细地显示(参见图 3.C)。我们将所选细胞的时间发展可视化为折线图,并叠加多个分类器的曲线,保持每个模型/配置的色调一致。详细视图特别解决了问题实例(T3 和 T6)的精确时间识别以及读取和比较数值(T1 和 T4)的任务,因为 ConfusionFlow 矩阵中的空间相当有限。加载新的性能数据集时,默认情况下,整体(全局)准确性显示在详细视图中,因为用户已经习惯了许多其他性能分析工具中的此图。
对于 CIFAR 示例,详细视图证实,对于典型的迭代,更新的 CIFAR-10.1 测试集的兴趣混淆值(汽车与卡车)大约是 CIFAR-10 测试和训练集的两倍。
4.4 时间轴
ConfusionFlow 应帮助用户探索不同时间粒度下分类器的错误行为,包括单时间步任务(T1 和 T4)和多时间步任务(T2、T3、T5 和 T6)。图 3.D 所示的时间线有助于从时间上的粗略分析转向更细粒度的分析。
默认情况下,在加载性能数据时选择整个可用迭代范围。用户可以通过拖动时间线中突出显示范围的左右边界来选择迭代的子集。所有链接的视图(例如 ConfusionFlow 矩阵或详细视图)都会根据选择自动更新。该范围选择对应于时间放大。
为了支持用户跨多个视图查找和比较特定时间步的值,他们还可以通过单击范围选择器下方的迭代编号来选择单个训练步骤。时间轴中的黑线标记当前选定的单个迭代。然后,所选迭代将通过所有链接组件中的垂直标记动态突出显示。如果 ConfusionFlow 矩阵选择折线图编码,则背景热图也将按照 4.1 节中的描述进行更新。
在图 3 的 CIFAR 示例中,性能数据跨越 50 个时期。用户选择了涵盖纪元 0 到 42 的纪元范围,并在详细视图中的纪元 22 处发现了汽车与卡车混淆的有趣峰值。
4.5 数据集选择
如上所述,在加载相应的性能数据时,独特的色调被自动分配给每个分类运行。带有动态下拉建议的输入字段允许用户从预加载的性能数据中选择多种分类配置(参见图 3.E)。用户做出选择后,输入字段将用作可视化的图例,用彩色框表示每次运行。
ConfusionFlow 是一种与模型无关的可视化技术。这意味着 ConfusionFlow 所依赖的数据类型并不取决于模型的性质。在训练期间,每次迭代后只需记录每个实例的分类器输出,并与地面实况标签一起存储。除了我们的原型实现(参见下面的 4.6 节)之外,我们还提供了用于记录和导出常用 ML 框架 TensorFlow 和 PyTorch 数据的 Python 代码示例。在
图 3 中,输入字段作为图例提醒用户 CIFAR-10 [31] 的训练集 ( 绿) 和测试集 ( 橙) 的性能数据,以及 CIFAR-10 最近提出的新测试集 ( 蓝) 的性能数据10.1 [43],已加载。
4.6 实施
ConfusionFlow 是一个基于 Caleydo Phovea 框架2 和 Flask 框架3 的服务器客户端应用程序。服务器端是用 Python 编写的,客户端是使用 D3.js [11] 用 TypeScript 编写的。 ConfusionFlow 的代码(包括上述日志记录工具)可在 GitHub (https://github.com/ConfusionFlow/confusionflow )上找到。
带有多个预加载示例数据集的 ConfusionFlow (Prototype: https://confusionflow.caleydoapp.org)部署原型可在线获取 。
5 评价
为了评估 ConfusionFlow 的实用性,我们描述了三种场景。首先,我们描述了一个与机器学习研究人员合作进行的案例研究。我们的合作者使用 ConfusionFlow 直观地比较主动学习中的标记策略。在第二个评估场景中,我们分析 ConfusionFlow 如何扩展到具有许多(&10)类的数据集。第三个用例展示了如何应用 ConfusionFlow 来研究不同神经网络修剪策略的效果。
5.1 案例研究:主动学习中的有效标签
标记数据是监督机器学习任务的先决条件。标记过程需要人工监督将语义附加到数据实例上。本案例研究中解决的挑战涉及实例选择问题:接下来应该选择哪个实例进行标记,以便 (a) 最有效地改进分类器,以及 (b) 将人工标记者的工作量降至最低?
在主动学习领域[46],视觉交互标签(VIAL)[10]是一个结合人类和算法模型的优势以促进有效实例选择的概念。为此,VIAL 将主动学习与视觉交互界面相结合,使人类能够探索和选择实例 [8]。
本研究中使用的一种基于模型的主动学习策略是 Smallest Margin [59],它总是选择具有最高分类器不确定性的剩余未标记实例。相比之下,人类经常应用的一种实例选择策略是密集区域优先,反映了人类倾向于选择数据密集区域中的实例的想法[9]。
我们的合作者致力于使标签流程更加有效、高效和人性化。鉴于最近的实验证实以人为本的策略和以模型为中心的策略具有互补的优势[9],我们的合作者有兴趣进一步分析策略之间的差异。
ConfusionFlow 允许我们的合作者将基于模型的最小裕度与基于人类的密集区域优先策略进行比较。作为第三种策略,基于真实信息的贪婪算法作为性能的理论上限。为了进行分析,我们的合作者选择了 MNIST 手写数字数据集 [33] 作为直观且完善的数据集,不需要领域知识。与其他数据集相比,MNIST 的另一个优势是用户能够明确标记大多数实例。
我们的合作者使用 ConfusionFlow 的时间分析功能来分析和比较一段时间内的标记过程。因此,每个训练纪元对应于一次标记迭代(包括实例选择、标记和模型重新训练)。图 5 显示了合作者如何直观地比较三种策略(最小边距、密集区域优先和贪婪)的标记过程。
我们合作者的主要比较目标(G1)是在模型之间进行比较,同时对模型内的个体特征进行更详细的分析。由于分析的探索性,所有三个时间分析目标 (G2) 都是相关的。因此,我们合作者的信息需求包括所有六个分析任务(T1 至 T6,见表 1)。
贪婪策略(图 5,蓝)在开始 (A1) 时表现出急剧的性能提升 (T2),仅 10 次迭代 (T1) 后准确率就超过 50%。作为理论性能上限,贪婪策略相比其他策略具有最强的上升趋势。它收敛较早 (T5),且精度最高 (T4)。仅用 50 个标签,贪婪策略就已经达到了近 80% 的准确率 (T1)。
我们的合作者还在准确率曲线 (T3) 中发现了一个已知的异常模式,该模式在十次实例之后发生(即,当所有标签都被访问过一次时;参见图 5.A2)。这种模式是贪婪策略(T6)所独有的:使用第十一个标签时,训练集变得不平衡,导致分类精度在时间上显着下降。借助 ConfusionFlow,我们的合作者可以将此异常与 0、4 和 9 类 (T4) 之间的混淆增加联系起来。未来重复实验将阐明这种效应是否与特定类别的语义有关,或者可以通过其他影响因素来解释。
最小保证金策略(图 5,橙)从一个短暂且非常早的峰值(实例 3 到 6)(T3) 开始,这是其他两种策略未显示的模式 (T6)。此后,几乎线性的上升趋势持续到实例 50 (T2),其中保证金策略的准确度几乎为 60% (T1)。
在 ConfusionFlow 矩阵中,我们的合作者确定了 8 类 (T1) 与几乎所有剩余类别的相当高的混淆值(图 5.B1)。 8 类的较差性能在精度曲线中也清晰可见。一个有趣的模式是 0 类与 8 类之间的混淆显着减少,大约从第 35 个时间步开始 (B2)。似乎有时单个标记实例可以产生影响并支持分类器的准确性。此外,直到实例 50 左右,类别 2 的混淆值相对较高 (T3),导致该类别出现许多误报 (B3)。
密集区域优先策略(图 5,绿)在标记过程的早期阶段 (T2) 呈现出小幅但稳定的增长。经过 50 个标签后,该策略达到了近 55% 的 T1 准确度。乍一看,Dense Areas First 和 Smallest Margin 具有相似的整体精度曲线 (T5)。
通过检查 ConfusionFlow 矩阵,分析师获得了一系列不同的见解。一些类别混淆持续整个标记过程 (T2)(1 vs. 3、5 vs. 3、2 vs. 6;见图 5.C1)。相反,一些类别混淆在标记过程中似乎具有不同的强度水平(T2)(2 vs. 4、7 vs. 4、9 vs. 4)。在此过程中,一类混淆甚至有所增加(T2)(7 vs. 9),这在矩阵和 FP 图(C2)中都可见。一些训练步骤引入了混乱峰值 (T3)(第 6 类,大致在实例 10 处)。最后,有些类根本没有遭受相当大的混乱(0、1、5 和 7)。
根据我们的合作者的说法,最有趣的发现之一是,随着时间的推移以及不同策略的不同,某些类别的混淆模式存在很大差异。例如,在第 9 类和第 4 类的情况下,基于模型的最小边距和基于人的密集区域优先策略的混淆表现出强烈对比的行为(见图 5.D3)。这一观察结果强化了我们合作者的观点,即战略具有互补优势。
通过 ConfusionFlow 进行分析后,我们的合作者有动力进行深入的后续分析。他们特别感兴趣的是使用通过 ConfusionFlow 获得的类级别见解 (L2) 作为深入到实例级别 (L3) 的起点。这样,他们将能够确认与类相关的一般模式或追溯单个图像的性能变化。
5.2 用例:可扩展到多个类
传统的混淆矩阵——作为一种类级聚合技术——可以很好地扩展到具有许多实例的大型数据集。然而,混淆矩阵组织了所有数据集类对的类间混淆计数,因此具有更多类的数据集会导致更大的混淆矩阵。将数据集中的类别数量加倍会将混淆矩阵中每个单元格的可用区域减少四倍。
ConfusionFlow 可视化习惯继承了传统混淆矩阵的这些可扩展性问题。在当前的实现中,ConfusionFlow 可以很好地处理多达 15 个类别的分类问题。这足以支持大多数免费提供的多类分类数据集6:2020 年 2 月对 www.openml.org [54] 的查询显示,在 434 个多类分类问题数据集中,有 368 个数据集的类别少于 15 个。
尽管如此,考虑到某些类别数量较多的图像分类基准数据集的受欢迎程度,例如 ImageNet [15](1000 个类别)、Caltech 101 [17] 和 256 [23](分别为 101 和 256 个类别)以及 CIFAR, 100 [31](100 个类)——值得评估 ConfusionFlow 的可扩展性。
为此,当应用于在 CIFAR-100 数据集上训练的图像分类器时,我们在两种类减少策略、类选择和类聚合(参见第 4.1 节)的背景下评估 ConfusionFlow 矩阵的特征。
CIFAR-100 的一百个类在语义上分为二十个超类。每个超纲又分为五个纲,例如狐狸、豪猪、负鼠、浣熊和臭鼬纲共同组成中型哺乳动物超纲。我们选择这个数据集是因为它已经包含了提议的类聚合方案,使其适合对两种减少混淆矩阵维度的方法进行无偏比较。
我们训练了一个简单的卷积神经网络,将 CIFAR-100 数据集中的图像分类为 100 个类别之一,记录 100 个时期的混淆数据。在每个时期之后,我们评估了网络在训练折叠以及整个数据集的测试折叠上的性能。我们从类预测中确定了超类混淆值。
我们根据两种不同的选择标准研究了类别选择:F1 分数和非对角线混淆矩阵条目。我们首先选择上一个时期测试集上 F1 分数最低的 10 个类别。这些类别中有许多代表毛茸茸的、棕色或灰色的动物(熊、水獭、兔子、袋鼠和海豹)。
在 ConfusionFlow 矩阵中,我们看到这些类别经常相互混淆(参见补充信息中的图 S-4)。其余 F1 分数较低的类别与年轻人(即男孩、女孩和婴儿)的图像有关。 ConfusionFlow 的重新缩放函数有助于表明这三个与人类相关的类别的混淆值远高于动物类别的混淆值。这意味着动物的不良表现比人类的情况分散在更多的类别中,因为最终的 F1 分数对于所有类别 (T1) 来说都同样糟糕。
虽然这些发现可以在不查看时间数据的情况下得出,但 ConfusionFlow 表明所有这些类别都遭受严重的过度拟合(T4)。这种过度拟合在所有类别的精确度、召回率和 F1 分数图中以及整体准确度中都很明显(参见补充信息中的图 S-2)。
然而,我们无法在这个子矩阵中找到特定的类对,这些类对在训练过程中由于过度拟合而导致混淆分数明显变差。仅使用这种类选择机制,我们无法评估过度拟合是否是一个普遍问题,或者对某些类的影响是否比其他类更严重。
因此,我们继续评估二级选择机制。我们在测试集和最终训练时期的混淆矩阵中搜索了十个最大的非对角值。在描述这些细胞的成对类中,代表了 14 个类(参见补充信息中的图 S-5)。这 14 类中有 3 种不同类型的树木和 4 种不同类型的花卉。男孩和女孩分类再次出现在列表中,这与我们之前的发现相符。 ConfusionFlow 的时间方面表明,树相关类的性能不会像大多数其他类 (T5) 那样因过度拟合而受到严重影响。
如果我们没有选择 CIFAR-100 数据集作为其超类结构,那么类选择策略的这些结果将强烈暗示类层次结构的存在。虽然 ConfusionFlow 并不是专门为分析类层次结构而设计的,但它可以帮助您对类层次结构可能存在的情况建立一些直觉。
我们通过查看所有 20 个超类的 ConfusionFlow 矩阵来恢复我们的评估(参见补充信息中的图 S-3)。我们从精确率、召回率和 F1 图表中意识到,与训练集 (T5) 上的性能相比,除树之外的所有超类在测试集上的性能都变得更差。这与各个树类的结果一致。网络似乎很难区分不同类型的树,以至于它不能够过度拟合。从专门查看超类混淆矩阵来看,这似乎是一个优势,但显然这种行为只是由超类内普遍高度混淆引起的。
有一些超类配对在超类之间具有较大的混淆值,并且具有暗示过度拟合问题的时间特征。特别是,车辆 1 和车辆 2 这两个车辆类别的混淆值随着时间的推移而增加 (T5)。
通过从类聚合中获得的见解,我们现在可以返回并再次探索细粒度的类。我们研究了构成超类车辆 1(自行车、公共汽车、摩托车、皮卡车和火车)和车辆 2(割草机、火箭、有轨电车、坦克和拖拉机)的 10 个类别。这十个类的 ConfusionFlow 可视化如图 6 所示。车辆 1 内的类对的混淆值通常远高于车辆 2 内的类对和两个超类中的类对。此规则的一个强烈例外是以有轨电车类为特色的类配对(参见图 6.A),这暗示了超类的定义有缺陷。交换火车和有轨电车的超级会员资格似乎是合适的。
同样,ConfusionFlow 的时间方面有助于评估过度拟合引起的问题。特别是,拖拉机的性能随着时间的推移而变差(T5),这很可能与火车和坦克的混淆有关(见图 6.B)。有趣的是,虽然网络通常擅长区分火箭和其他车辆,但时间太长训练导致一些拖拉机和公共汽车图像被分类为火箭(图 6.C),这些时间异常 (T3) 很难从稀疏混淆矩阵的单个“快照”中检测到。
5.3 使用案例:神经网络修剪
神经网络通常严重过度参数化,并包含数百万个权重,其值与网络性能无关。从神经网络中删除冗余参数的一种技术称为修剪。在学习过程中,网络中的连接根据不同的选择策略被相继删除(剪枝)。成功的修剪会产生一个压缩模型,该模型保持其准确性,同时需要更少的计算和内存。这有利于在嵌入式系统中的部署[24],有时甚至比初始密集模型[18]、[35]更快的学习和更好的泛化。
我们检查了在 FashionMNIST 数据集上训练的几个具有不同架构的完全连接网络的性能 [60]。该数据集由时尚对象的灰度图像组成,分为 10 个类别(裤子、套头衫、凉鞋等)。具体来说,我们研究了修剪神经网络并使用 Frankle 和 Carbin [18] 所描述的初始权重重新初始化所得稀疏网络的效果。使用 ConfusionFlow 的时间比较分析功能,我们试图更好地理解删除某些权重如何影响模型区分类别的能力。
图 7 显示了在 Fashion-MNIST 数据集上训练的三个不同网络的 ConfusionFlow 可视化。原始网络 ( 绿) 有 6 层,每层有 200 个隐藏单元和 ReLU 激活函数。学习率为 0.012,批量大小为 60。在第二个网络 ( 橙) 中,每个时期删除 20% 的连接(这种方法称为在线剪枝)。然后,使用与原始密集网络相同的权重重新初始化 15 个 epoch 后生成的稀疏网络,并从头开始重新训练 ( 蓝)。在该网络中,仅剩下不到 4% 的原始连接。
从总体精度图(图 7.A)中可以明显看出,原始模型 (绿 ) 的训练在 10 个 epochs (T3) 后完全失败。在线修剪网络 ( 橙) 的训练稍后会失败 (T6)。然而,重新初始化的稀疏网络( 蓝)的性能仍然很高。值得注意的是,它甚至从一开始就比其他两个网络表现得更好(T5)。 ConfusionFlow 允许将这种全局 (L1) 准确性改进与成对类混淆相关联。
对 ConfusionFlow 矩阵的检查表明,在未剪枝和在线剪枝网络的后期时期,所有与鞋子相关的类别对(运动鞋与凉鞋、踝靴与运动鞋等)的混淆计数显着增加(图7.B).另一方面,重新初始化的稀疏网络继续学习以更好地区分这些类别(T5)。原始网络完全失败的另一个原因似乎与裤子和外套类别有关(见图 7.C),这两个类别在后来的两个时期(T6)中具有极高的 FP 值。
尽管全局准确度图显示未剪枝和在线剪枝网络的准确度明显下降,但这两个模型都保留了约 30% 的准确度 (T1)。 ConfusionFlow 矩阵表明,后期 epoch 中的剩余准确度与成对衬衫与 T 恤/上衣以及套头衫与衬衫的更好性能相关(图 7.D)。重新初始化的稀疏网络在其他类别中的更好泛化是以显示不同种类上半身服装的图像的混淆值更高为代价的。
这些发现表明,ConfusionFlow 可以对分类器性能进行更细致的评估,使用户能够将准确性变化追溯到类别级别。
5.4 研究结果的总结和讨论
视觉设计
我们的合作者发现 ConfusionFlow 易于使用,并赞赏其视觉设计融合了他们已经熟悉的两种可视化惯用语:混淆矩阵和时间折线图。熟悉的混淆矩阵布局以及一致的模型颜色编码帮助我们的合作者通过信息丰富的显示来导航他们的分析。然而,他们提到,在更多类或更多模型的情况下,他们会欢迎额外的焦点 + 上下文功能,可能类似于 LiveRAC [37] 等工具提供的功能。
分类层面的比较和时间分析
我们关于主动学习的案例研究和可扩展性评估中的不同场景揭示了 ConfusionFlow 中组合时间和比较分析功能 (G1 + G2) 的总体优势,特别是在类别级别 (L2) 方面。随着分类器的学习,混淆矩阵的非对角元素往往会变得稀疏。时间细粒度学习(例如在每个小批量之后甚至在单个实例之后更新模型,如主动学习中的情况)可能会导致最终分类器的混淆矩阵可能无法代表一般模式。我们的合作者赞赏 ConfusionFlow 的时间比较方法,因为它使他们能够识别时间稳定的模式。我们发现同样的方面在我们的可扩展性研究中很有用,其中大量的类导致特别稀疏的矩阵。此外,查看类别级别可以揭示模型波动的可能性。全局级别的性能测量往往会隐藏模型在训练过程中对随机或系统变化的敏感性,因为它们是所有类别的平均值。
可扩展性
我们对 CIFAR-100 数据集的可扩展性研究表明,ConfusionFlow 可用于分析最多约 20 个类别,尽管对于超过 15 个类别,屏幕分辨率和标签放置开始成为限制因素。仍然可以从 20 个超类混淆矩阵中获得见解,该矩阵可以在后续的类级别分析中用于下游。
双向分析
通常,用户在完成关于模型潜在用途的推理过程后应用 ConfusionFlow。如果对初始模型背后的动机有足够的先验知识,通过 ConfusionFlow 获得的见解可以直接用于“返回”并优化这些模型,从而形成双向分析和开发工作流程。
然而,在大多数情况下,真正的双向性需要更多的工具。本节中介绍的三个场景表明,整体分析的具体要求是特定于领域和/或特定于模型的(请记住,ConfusionFlow 完全与模型无关)。此外,在某些情况下,需要实例级信息 (L3)。
经过与合作者的讨论后,我们将 ConfusionFlow 视为双向迭代分析工作流程中的一个步骤。我们看到它的主要优势在于它提供了时间和比较的见解,可以作为更多的心理输入来进行更特定于应用程序的分析。可以与 ConfusionFlow 结合使用的工具示例包括用于基于实例的解释的 LIME [45] 和 Allsalakh 等人的 Blocks。 [4] 用于探索类层次结构。 6.1 节给出了我们计划如何开发时间实例级可视化的展望,该可视化将作为类似于 ConfusionFlow 的分析跳板。我们的合作者对这种实例级工具表现出特别的兴趣,以便根据 ConfusionFlow 获得的见解进一步继续分析选择策略。
6 未来的工作
6.1 实例级分析
由于 ConfusionFlow 是专门为可视化类级信息 (L2) 而设计的,因此它不支持实例级分析 (L3)。然而,探索实例级别的学习动态将帮助用户发现可能被忽视的标签错误或异常实例。
我们目前正在开发 InstanceFlow,这是一个解决这些问题的可视化工具。 InstanceFlow 将以类似 Sankey 的方式可视化整个训练过程中各个实例的分类进程。它将允许用户通过某些指标来过滤实例,例如类之间“跳跃”的频率。
特别是对于神经网络分类器,将这种实例级的类混淆与基于特征的细节视图联系起来可以进一步提高对学习行为的理解。根据支持的模型架构,此详细视图可以建立在 Olah 等人之前的工作基础上。 [41]或有关激活可视化的工作[28],[42]。
6.2 多标签分类
多标签分类是一个机器学习问题,其中可以将多个类标签分配给实例。原则上,ConfusionFlow 可以扩展为可视化多标签分类器的混淆,通过使用类标签的组合而不是沿着每个矩阵轴的单个类。然而,由于可能的组合数量随着总体类数量的增加而快速增长,因此需要将聚合方法合并到工作流程中。或者,ConfusionFlow 技术可以与实例选择策略配合使用,以可视化实例级多标签混淆矩阵。
7 结论
在本文中,我们介绍了 ConfusionFlow,这是一种用于可视化和探索分类器混淆的时间进程的新颖工具。 ConfusionFlow 将混淆矩阵随时间的可视化与全局和每类性能指标的图表相结合。我们通过主动学习中实例选择策略的案例研究评估了 ConfusionFlow 交互式探索功能的有用性。此外,我们分析了 ConfusionFlow 的可扩展性,并在神经网络剪枝的背景下提出了一个用例。
ConfusionFlow 并不是被设计为一个包罗万象的独立工具,而是与其他工具和可视化组件结合使用。特别是,我们计划用一种新颖的可视化工具来补充 ConfusionFlow 的类级信息,该工具专注于实例级混淆的时间观察。然而,通过在类级别提供模型比较和时间训练分析,ConfusionFlow 可以填补 ML 工作流程中理解和解释分类模型的重要空白。
致谢
这项工作得到了上奥地利州(FFG 851460,人类可解释的机器学习)和奥地利科学基金(FWF P27975-NBL)的部分支持。
参考文献