题目:A survey of visual analytics techniques for machine learning
A survey of visual analytics techniques for machine learning
概述
本文发布于Computational Visual Media 2020
原文链接:https://doi.org/10.1007/s41095-020-0191-7
本文是清华大学刘世霞老师团队的一篇综述性质的文章,内容主要涵盖了visual analytics for machine learning领域的知识。他系统的回顾了过去十年发表的259篇论文以及2010年以前的代表性著作。通过建立了一个分类法并列出对应的具有影响力的作品来突出研究挑战与未来研究机会
本论文专注于数据分析技术,以帮助开发可解释的,值得信赖的,可靠的机器学习程序。选择的论文来自InfoVis, VAST, Vis,EuroVis, Pacific Vis, IEEE TVGC, CGF和CG&A
Introduction
各种视觉分析方法被提出来帮助机器学习更容易解释,使得机器学习模型更加值得信赖和可靠。这些研究工作充分结合了交互式可视化和机器学习的优势来提升分析和分析和理解学习过程中的主要组件来提升性能。例如用于解释深度卷积神经网络内部的视觉分析研究提高了深度学习模型的透明度[1-4]
机器学习的可视化分析技术的快速发展产生了全面回顾的需求,来帮助理解可视化技术是如何设计和应用于机器学习管道的,在不同的角度总结了这个领域的进展。现有的调查要么集中在机器学习的特定领域,如文本挖掘[5],预测模型[6]和模型理解[1],要么基于一组示例技术来概述一个本体[7]
这篇文章侧重机器学习的每个阶段的可视化技术,并关注可视化解释对可视化特征检测研究的贡献。本文系统的收集了259篇论文,并给予机器学习的研究过程,划分了三个相关阶段:before,during and after model building.在三个节点分析了可视化技术的功能,抽象了典型任务并使用样例说明。同时强调了视觉分析领域六个突出的研究方向和有待解决的问题
Taxonomy
本文将所有作品根据一个典型的机器学习pipeline[8]来分类,管道包括三个阶段(1)模型建立前的数据预处理(2)机器学习模型建立(3)模型建立后的部署。因此本文将机器学习的视觉分析技术映射到三个阶段:建模前的技术,建模中的技术和建模后的技术
Techniques before model building
在模型构建之前使用可视化分析技术的主要目的是帮助模型开发人员更好的为模型的构建准备数据。数据的质量主要取决于数据本身和所使用的特性。因此有两个研究方向:数据质量改进的可视化分析和特征工程。
data quality
有很多方式来提高数据质量,例如补全缺失的数据属性和纠正错误的数据标签。以前这些任务主要通过手动或者自动方法进行,比如learning-from-crowds算法,可以从嘈杂的人群标签中估计ground-truth标签[9]。为了减少专家的工作量并进一步提高自动方法的结果,一些工作使用可视化分析技术交互性的提高数据质量,近年来这一课题得到越来越多的关注
feature engineering
特征工程用于选择最优特征训练模型。在视觉分析中,交互式特征选择提供了一个交互式和迭代的特征选择过程。近年来,特征的选择和构建大多是通过神经网络进行的,相对应的,这一方向的研究关注在减少
Techniques during model building
模型构建是构建成功的机器学习应用程序的中心阶段。开发可视化分析方法来促进模型构建也是可视化领域一个日益发展的研究方向。本片论文将不同的方法按照分析目标进行分类,分为模型理解,模型诊断和模型转向(model understanding, model diagnosis, model steering)。模型理解方法旨在直观的解释模型的工作机制,例如参数的变化是如何影响模型,以及为什么模型为特定的输入提供特定的输出。模型诊断方法是通过对模型蓄念过程的交互探索来诊断模型训练中的错误。模型转向方法主要是通过交互式的方式来提高模型的性能
Techniques after model building
机器学习模型构建和部署完成后,帮助用户以直观的方式理解模型的输出,提高模型输出的信任度是至关重要的。与模型构建中的模型理解方法不同,这些探索模型输出的方法通常针对模型用户而非模型开发人员。这些方法的重点通常在于模型输出的直观表示和探索上。本文根据所分析的数据类型对这些方法进行分类,分为静态数据与动态数据。
Techniques before model building
在建立模型之前,两个主要的任务是数据处理和特征工程。低质量的数据和特征会降低机器学习模型的性能。数据质量问题包括缺失值,异常值和实例及其标签中的噪声。特征质量问题包括不相关的特性、特性之间的冗余等。虽然手动解决这些方法非常的耗时,但是自动方法的性能可能比较差。各种可视化分析技术被开发出来以减少专家的努力,同时提高产生高质量数据和特征的自动方法的性能[10]
Improving data quality
数据包含实例及其标签,从这个角度来看,改进数据质量的现有工作要么涉及实例级改进,要么涉及标签级改进
instance-level improvement
在实例级,许多可视化方法专注于检测和纠正数据中的异常,如缺失值和重复。[11]提出了profiler来帮助发现和评估表格数据中的异常。采用异常检测方法对数据异常进行检测,并将数据异常划分为不同类型。然后自动推荐链接摘要可视化以方便发现这些异常的潜在原因和后果。[12]开发了VIVID来处理纵向队列研究中数据的缺失值。通过多重协同可视化,帮助专家识别缺失值的根本原因并使用适当的模型替换缺失数据。DQProver Explorer[13]支持数据来源的分析,使用一个来源图来支持数据状态的导航和质量流来表述数据质量随时间的变化,说明异常去除这个迭代过程中的来源可以让用户意识到数据质量的变化,并对处理后的数据建立信任。对于非样本分布(OoD,没有被训练数据很好的覆盖的测试样本,是模型性能下降的一个主要来源)这种数据异常,[14]提出了OoDAnalyzer来检测和分析OoD样品。它提出了一种将高、低级特征相结合的面向对象的集成检测方法。检测结果的网格可视化(如下图)被用来探索上下文中的OoD样本,并解释他们存在的潜在原因。为了在勘探过程中以交互速率生成网格布局,基于霍尔定理开发了一种基于KNN的网格布局算法
当考虑时间序列数据的时候,由于时间具有明显的特征,导致需要在时间上下文中进行分析的特定质量问题,因此出现了一些挑战。为了解决这个问题,[15]提出了一个可视化分析系统Visplause来可视化地评估时间序列数据质量。系统会用表格的像是展示像异常频率及其时间分布这样的异常检测结果,为了解决可伸缩性问题,基于元信息将数据聚合到一个层次结构中,从而可以同时分析一组异常(比如同一个类型的异常时间序列)。除了自动监测异常之外,[16]提出的KYE还支持识别被自动方法忽略的额外异常。这种方法的时间序列数据以热图视图的形式呈现,其中异常模式(比如具有异常高值的区域)表明潜在的异常。为了更好的分析和细化点击流数据(点击流数据是视觉分析领域中被广泛研究的一种时间序列数据),segmentfier[17]提出为分割和分析提供一个迭代的探索过程。用户可以在三个不同粒度的协调视图中探索片段,并通过过滤、分区和转换来细分他们。每一步细化都会产生新的细分,这些细分可以被进一步分析和细化
为了解决数据质量改进中的不确定性,[18]开发了一种可视化分析工具来展示不同预处理方法引起的数据变化和不确定性。该工具使专家能够意识到方法的效果,并选择合适的方法,减少与任务无关的部分同时保留数据中与任务相关的部分
由于数据有暴露敏感信息的风险,近期有研究集中于在数据质量改进过程中保护数据隐私。对于表格数据,[19]开发了隐私暴露风险树(Privacy Exposure Risk Tree)来显示数据中的隐私,并开发了效用保持度矩阵来展示效用如何随着隐私保护操作的应用而变化。[20]提出了一个可视化分析系统GraphProtector来保护网络数据集中的隐私。为了保护网络的重要结构,首先根据节点的重要性指定节点优先级。重要节点被分配低优先级,减少了修改这些节点的可能性,并可以根据自己的知识和经验选择最合适的操作
label-level improvement
根据数据是否有噪声标签,现有的作品可以分为提高噪声标签质量的方法或者允许交互式标签的方法
Crowdsourcing为收集标签提供了一种经济高效的方式。然而,众多的工作者提供的标签通常充满噪声。针对去除标签中的噪声,[21]开发了一种众包聚类方法,以去除众包工作者们提供的冗余解释。解释首先被分组,然后最有代表性的被保留。[22]提出了C2A,将众包注释和工作者们的行为可视化,来帮助医生在临床视频中识别恶性肿瘤。该种技术可以帮助医生丢弃大多数无肿瘤的视频片段,专注于最有可能有肿瘤的视频片段。[23]开发了CMed,通过众包可视化临床图像注释以及工作者们的行为。通过根据注释精度对工作者进行聚类,并分析他们记录的事件来帮助专家找到优秀的工作者,并观察工作者行为模式产生的影响。[24]开发了三个协调可视化,一个混淆(a),一个实例(b)和一个工作者可视化 (c)以便于识别和验证不确定的实例标签和不可靠的工作者,通过这种方式他能改进众包标签。在专家验证的基础上,推荐更多的实例和工作者通过迭代和渐进的验证程序进行验证
在很多真实世界的数据集中,众包信息是不可用的。例如ImageNet数据集仅包含了通过自动去噪方法清除的标签。为了处理这类数据集,[25]开发了DataDebugger,通过利用用户选择的可信项目来交互式地提高数据质量。结合了分层可视化与增量投影方法和离群点有偏采样方法相结合,促进了可信项目的探索和识别。基于这些可信项目,数据矫正算法将标签从可信项目传播到整个数据集。[26]假设被训练分类器错误分类的实例可能是被贴错标签的实例。基于这一假设,他们使用了一个由多维增强投影的邻居连接树来帮助用户探索错误分类的实例并纠正错误标记的实例。矫正后,使用矫正后的标签细化分类器并开始新一轮的矫正。[27]开发了三种分类器引导的措施来检测数据错误,然后用矩阵和散点图的形式展示数据误差,帮助专家能够推理并理解误差
上述方法都是从带噪声的标记数据开始,但是很多数据集不具有这样的标签集。为了解决这个问题,现在有很多用于交互式标签的视觉分析方法。交互式标注的主要目标是减少标注工作。[28]使用了基于SOM的可视化将相似图像放在一起,允许用户一次性标记同一类的多个相似图像。[29]也使用这种策略来识别具有类似异常行为的social spambot群体,[30]也使用这种策略来标记移动眼球追踪数据,[31]使用这种策略来注释和分析电影中使用的原色策略。除了将相似的项目放在一起,过滤方法也被用于寻找感兴趣的项目并进行标记。[32]使用过滤和排序来查找相似的视频片段并利用表格可视化来呈现视频片段及其属性。用户可以过滤掉不相关的段,并根据属性排序相关的段,允许用户同时标记同一类的几个段。[33]提供了一个基于规则的过滤引擎来寻找足球比赛视频中的兴趣模式。专家可以通过自然语言图形交互界面来交互指定规则
最近,为了增强交互式标注的有效性,各种视觉分析方法已经将可视化技术与机器学习技术相结合,例如active learning。[34]最先提出了“intra-active labeling”的概念,他增强了人类知识的主动学习。用于不仅能够通过主动学习来查询实例和标注他们,而且能够交互式地理解和操纵机器学习模型。
除了开发交互式标签系统,还有一些实验来证明他们的有效性。[35]进行了实验来显示以用户为中心的视觉交互标注优于以模型为中心的主动学习。还进行了定量分析[36]来评估用户在标记过程中选择样品的策略。结果显示在早起阶段基于数据的(例如集群和密集区域)用户策略运行良好,然而在后期阶段,基于模型(例如类分离)的用户策略表示更好
improving feature quality
提高特征质量的典型方法是选择对预测贡献最大的有用特征,即特征选择。一个常见的特征选择策略是选择一个特征子集使他们之间的冗余最小化,并使得他们与目标之间的相关性最大化。沿着这一思路,现在已有几种方法来交互式的分析特征的冗余性和相关性。例如[37]提出了一种按特征排序的框架,该框架按相关性对特征进行排序。他们用表格和矩阵将排名结果可视化。[41]提出一种分区的可视化,用于分析特征或者特征对的相关性。特征或者特征对被划分为子部分,这允许用户在不同的细节层次上探索特征或者特征对的相关性。[38]利用平行坐标可视化来识别可以区分不同集群的特征。[39]通过不同的特征选择算法、交叉验证折叠和分类模型对特征进行排序,用户可以以交互方式选择最佳的特征和模型
除了选择现有要素,构建新要素在模型构建中也很有用。[40]提议为文本分类构建新的特征。通过直观地检查分类器错误并总结这些错误的根本原因,用户能够创建能正确区分错误分类文档的新功能。为了提高新特征的泛化能力,视觉摘要被用来分析一组错误而不是单个错误
Techniques during model building
机器学习模型由于缺乏可解释性,通常被视为黑盒,阻碍了其在自动驾驶汽车、金融投资等风险场景中的实际应用。当前模型构建中的视觉分析技术目标是探索如何揭示机器学习模型的底层工作机制,然后帮助模型开发人员构建格式良好的模型。首先,模型开发人员需要对模型有全面的了解,以便从耗时的试错过程中释放它们。当训练过程失败或者模型没有提供令人满意的性能时,模型开发人员需要诊断训练过程中出现的问题。最后,在模型构建过程中,需要花费大量的时间来改进模型性能,从而有助于模型控制。与这些需求相呼应,研究人员开发了许多可视化分析方法来增强模型理解、诊断和控制
model understanding
与模型理解相关的工作分为两类:一类是理解参数的影响,另一类是理解模型行为
Understanding the effects of parameters
模型理解的一个方面是检查模型输出如何随着模型参数的变化而变化。[42]开发了BirdVis (用于鸟类的预测),以探索不同参数配置和模型输出之间的关系,它还揭示了参数在预测模型中如何相互关联。[43]提出了一种可视化分析方法,以可视化变量如何影响逻辑回归模型中的统计指标
Understanding model behaviours
模型理解的另一个方面是模型如何产生期望的输出。有三种主要类型的方法用于解释模型行为:以网络为中心、以实例为中心和混合方法。
以网络为中心的方法旨在探索模型结构,并解释模型的不同部分(例如,卷积神经网络中的神经元或层)如何相互合作以产生最终输出。早期的工作采用有向图布局来可视化神经网络的结构[44],但是随着模型结构变得越来越复杂,视觉混乱成为一个严重的问题。为了解决这个问题,[45]开发了CNNVis来可视化深度卷积神经网络(如下图)。它利用聚类技术将具有相似角色的神经元以及它们之间的联系进行分组,以解决由于它们数量庞大而导致的视觉混乱。这个工具帮助专家理解神经元的角色和他们所学的特征,此外,通过网络如何将低级特征聚合成高级特征。后来,[46]设计了一种图形可视化,用于探索Tensorflow中的机器学习模型架构。他们进行了一系列图形转换,根据给定的低级数据流图计算清晰的交互式图形布局,以显示模型的高级结构
以实例为中心的方法旨在提供实例级的分析和探索,以及理解实例之间的关系。[47]通过将从神经网络的每一层中学习到的表示投影到2D散点图上,使它们可视化。用户可以识别表示投影中的聚类和混淆区域,从而理解网络所学习的表示空间。此外,他们还可以研究表征空间在训练过程中是如何演化的,从而理解网络的学习行为。一些用于理解循环神经网络(RNNs)的视觉分析技术也采用了这种以实例为中心的设计。LSTMVis [48]利用平行坐标来表示隐藏状态,以支持对文本上隐藏状态变化的分析。RNNVis [49]将隐藏状态单元(每个隐藏状态单元是中隐藏状态向量的一个维度)聚类为memory chips,将单词聚类为词云。它们之间的关系被建模为一个二分图,这支持了RNNs中句子级的解释
混合方法结合了上述两种方法,并利用了它们的优点。特别是,实例级分析可以在网络架构的背景下得到增强。这样的背景有助于理解网络的工作机制。[50]提出了Summit,以揭示有助于模型预测的重要神经元和关键神经元关联。它集成了一个嵌入视图来总结类之间的激活,并集成了一个属性图视图来揭示神经元之间有影响的连接。[51]提出的ActiVis用于大规模深度神经网络,它使用计算图可视化模型结构,并使用投影视图可视化实例、子集和类之间的激活关系
现在有一些想法,是使用代理解释模型(surrogate explainable model)来解释模型行为。这种方法的主要好处是不需要用户调查模型本身。因此,它们对那些没有机器学习知识或机器学习知识有限的人更有用。将分类器视为一个黑箱,[52]首先从分类器的输入和输出中提取基于规则的知识。然后使用规则矩阵将这些规则可视化,规则矩阵(Rule Matrix)支持从业者对提取的规则进行交互式探索,提高了模型的可解释性。[53]开发的DeepVID用于生成图像分类器的视觉解释。给定感兴趣的图像,深度生成模型首先被用于在其附近生成样本。这些生成的样本被用来训练一个更简单、更易解释的模型,比如一个线性回归分类器,它有助于解释原始模型是如何做出决策的
Model diagnosis
用于模型诊断的视觉分析技术可以分析训练结果,或者分析训练动态
现在有很多基于分类器性能诊断分类器的工具[54,55,56,57]。例如,Squares [57]使用方框来表示样本,并根据它们的预测类别对它们进行分组。使用不同的textures来编码真/假阳性/阴性,该工具允许在多