首页 > 其他分享 >基于可视化的可解释深度学习模型研究综述--草稿版

基于可视化的可解释深度学习模型研究综述--草稿版

时间:2023-09-18 10:11:06浏览次数:50  
标签:解释 草稿 -- 模型 解释性 学习 可视化 深度

ps: 近期组会整理了一篇论文综述,先记录在案。

摘  要: 深度学习能目前广泛应用于各个领域内,比如:医疗、交通以及娱乐等领域。随着社会的计算机算力的迅速增长以及GPU 等硬件的支持,催生了一系列人工智能应用,例如医疗诊断、自动驾驶和个性化推荐等。得益于这一系列应用,人类社会生产力获得了极大的发展。但是不可忽视的是,这些应用通常被认为是一个黑盒子,对于新手学习者无法得知模型的训练过程,对于深度学习专家则有时也很难解释模型的预测结果,对于最终用户对模型预测的不确定性产生了不信任感。因此伴随着深度学习模型(DL)的发展同时,对于其透明性和可解释性的研究也应该跟上,否则产生木桶效应最终可能限制人工智能的发展。对于数据的透明性和解释性工作,可视化分析(VA) 无疑是一个明智的选择, VA 诞生之初目标便是将复杂的数据、信息、模式呈现给用户,以帮助他们更好理解数据、洞悉有效知识并支持决策制定。 本文主要讨论VA 结合可解释深度学习模型方法(XDL) 的方法研究。我们从模型学习、准备数据、模型比较、模型训练、模型调整、模型评价这六个步骤清单出发,分门别类的讨论了有关文章中基于 XDL 技术的 VA 应用。根据我们的总结发现,讨论不同步骤中对于透明性和解释性工作目前存在的挑战及VA 结合 XDL 技术在该步骤的发展前景。本文能够提供读者一个总览对于VA 结合XDL 的发展情况,同时也对深度学习模型构建的不同过程进行针对性讨论。对于新手来说,可以了解到能够帮助到自己学习深度模型的工具,对于专家则可按照深度学习模型构建的不同过程了解到对应的工具,以便解释并帮助改进自己的模型。

 

关键词: 可视化; 人工智能; 机器学习; 模型理解;

1 介绍 

人工智能(Artificial Intelligence,AI)是一门计算机科学领域,致力于开发智能系统,使它们能够执行通常需要人类智力的任务。AI的目标是模拟、扩展和增强人类智能的能力,以解决各种复杂的问题和任务。人工智能是一种通俗的称呼,本质是机器学习、深度学习、自然语言处理、计算机视觉以及强化学习等概念。 其中深度学习模型作为一种最常见的人工智能解决方案被广泛引用,以此在很多领域催生出一列人工智能的应用,比如说个性化推荐、自动驾驶以及医疗诊断等。这些领域随时随刻在产生着新数据,随着数据量的增大,也就意味着,深度学习模型的结构也会变的越来越复杂,参数越来越多。比如:最近火热的ChatGPT-3.5 就有数百亿个参数,以及数百甚至数千个网络层。这样导致模型使用者,往往将其当做一个黑盒子来使用,黑盒子便意味着不透明和不可解释性。随着模型的不断发展和社会的应用, 特别是在交通领域,因为其结构的复杂性,导致难以理解其决策过程,并且训练数据的偏差以及不确定性,更会导致模型产生过度自信,甚至面对微小的输入扰动都有可能导致模型错误决策,随着深度学习模型的应用越来越广泛,这种对抗性攻击极有可能危害人类社会的安全。正是这种黑盒子机制常常伴随着不可控性,有可能导致极大的信任危机。所以可解释机器学习在未来人工智能领域具有重要意义,世界各国都高度重视可解释机器学习模型的研究。 2016 年 8 月,美国国防高级研究计划局(DARPA)发布了一份关于“可解释人工智能”(Explainable Artificial Intelligence, XDL)项目的征询建议书,认 为可解释人工智能将引领“手工智能”、“统计学习”之后的第三波人工智能浪潮。为了补齐人工智能木桶短板,并帮助专家们理解并分析深度学习模型。迫切需要一个解释的机制。深度学习的可解释性指的是,模型做出预测结果的同时可以提供相应的原因,使用户更好的理解机器的决策过程,这也就意味着专家需要在数亿级别的参数和复杂的神经网络结构中分析出关键决策参数和网络。可视化技术诞生之初,便是帮助人们理解复杂的数据,对于深度学习模型,可视化将可解释性深度学习模型的方法充作与模型对接的接口,从而将其决策过程可视化展示,帮助专家理解和改进模型。

2 理论背景

2.1 可解释人工智能

可解释人工智能(Explainable Artificial Intelligence,XDL)是人工智能领域的一个重要分支,它强调使机器学习和深度学习模型的决策和行为更加透明、可解释和可信赖。在现代人工智能应用中,模型的可解释性至关重要,尤其是在需要高度可靠性、可追溯性和法律合规性的领域。在过去,许多机器学习模型被视为“黑箱”,其决策过程不透明,难以理解。这在一些关键领域,如医疗保健、金融和自动驾驶,引发了担忧,因为不可解释的模型决策可能会导致不确定性、错误和法律责任。因此,可解释人工智能变得至关重要。以下是可解释人工智能的目标。

G1 模型可视化:通过可视化工具,将模型的结构、参数和中间表示可视化,以便用户可以查看模型的内部运行情况。

G2特征重要性分析:确定模型在决策中使用的哪些特征对结果影响最大,以帮助用户理解模型的关键决策因素。

G3局部解释性:为特定样本或决策提供解释,使用户了解模型为何在特定情况下做出某些决策。

G4全局解释性:提供有关整个模型行为和性能的总体解释,包括模型的训练数据分布和参数设置。

为了实现以上目标,深度学习研究人员开发了了多种方法和技术,目前常见的可解释人工智能的方法主要有两类:特征式、结构式的解释方法:

LIME(Local Interpretable Model-Agnostic Explanations):这是一种无模型限制的方法,通过训练局部可解释模型来解释模型的决策,为了解释特定样本,LIME 生成一组伪样本,这些伪样本是通过对原始样本进行微小的、随机的特征扰动生成的。对于生成的伪样本,LIME 使用可解释模型(例如线性回归模型)来拟合它们的预测结果。因为它是一个简单的线性模型,所以更容易解释。为了确保伪样本对于解释的贡献合理分配,LIME 使用了一种权重分配策略,以考虑每个伪样本与原始样本的相似度。最后通过分析可解释性模型的权重和特征,LIME 可以生成关于为什么模型在特定样本上做出某个决策的解释。增强深度学习模型的可解释性同时,提高人们对模型的信任,并有助于发现模型的潜在偏见或错误。该解释方法的应用领域包括:自然语言的处理,理解为什么模型对特定文本进行了某种分类;医疗保健,解释医疗诊断模型的决策,以帮助医生理解模型的依据;金融领域,能够解释信用评分模型和投资决策模型的决策,以增强模型的可信度和透明性。

SHAP(SHapley Additive exPlanations):SHAP值是一种用于特征重要性分析的方法,它基于合作博弈论的概念,旨在为每个特征(或特征组合)分配一个影响预测的重要性值,从而帮助理解模型的预测结果。SHAP 方法基于 Shapley 值的概念,Shapley 值是合作博弈论中衡量每个玩家对合作游戏结果的贡献的一个方法。Shapley 值衡量了每个特征对于不同预测结果的平均贡献。SHAP 通过对特征进行不同的排列组合生成特征子集。对于每个特定的排列组合,模型会为每个特征子集生成一个预测值,从而产生多个不同的模型输出。具体而言,它通过遍历不同的特征排列组合,计算每个特征的 Shapley 值,最终通过 Shapley 值来表示特征的贡献程度。该解释方法的应用领域有:特征选择,通过分析 Shapley 值,可以确定那些特征对于模型的预测有重要影响,从而有助于特征选择;模型诊断和改进,SHAP 可以帮助识别模型的偏差、错误或异常行为,从而指导模型的改进。

模型蒸馏:该方法主要用于压缩和转移深度神经网络模型,以减小模型体积和加速推理过程,同时保持模型性能。主要目标是将大型复杂的模型(教师模型)的知识传递较小的模型(学生模型),使学生模型能够模仿教师模型的预测能力。虽然模型蒸馏的主要目标是减小模型的体积和加速推理,但是对于可解释方法角度,这样做可以获得一个小型、高性能且可解释的模型。现在有一些研究,通过分析教师模型和学生模型之间的知识传递过程来获得模型行为的一些简洁,这样有助于部分解释模型为何做出特定的预测。

可解释性工具库:许多机器学习框架和库,如TensorFlow和Scikit-learn,提供了可解释性工具和函数,帮助用户分析模型的行为。常用的可解释性那个工具库有 IBM 的 AI Explainability 360 ,这是一个全面的解释性工具库,提供了多种解释方法。

2.2 深度学习模型可视分析

目前存在很多可视分析工具来帮助深度学习模型研究工作。这些工具在深度学习模型构建过程中承担的不同的任务,比如,模型结构展示、数据统计、模型训练以及评价指标可视化等。比如最近的工作,SUMMIT,提供了一个交互式的可视化界面,允许用户探索和分析神经网络模型的内部行文,用互可以自由选择感兴趣的层次和特征进行分析,其不仅支持单层次的可视化,还支持多层次的分析,这允许用户在不同的抽象层次上查看模型的活动和属性,提供了一种有效的方式来可视化和理解复杂深度学习模型的内部工作原理。LSTMVis(长短时记忆网络) 工具则是一种关于 RNN 神经网络模型的分析工具,只在帮助用户分析和可视化循环神经网络中隐藏状态动态的可视化工具,用户可以自由选择感兴趣的隐藏状态和时间步长来进行分析,并进行导航和探索,在时间序列分析中有很大作用。InstanceFlow 改进了模型中传统的混淆矩阵可视化,用于可视化分类器在实例级别的混淆演化,目标是帮助用户理解模型在每个样本级别上的混淆情况,以便更好地分析模型的错误和性能瓶颈。Confusion Wheel 同样是改进混淆矩阵,以一种环形图的形式呈现混淆矩阵的信息,提供另一种更直观的方式来观察模型的性能,其特别适合多类别分类问题,因为在这些问题中,混淆矩阵可能会特别复杂,难以直观理解,从而环形图形式可以更好地展示多类别情况下的性能。设计这些可视化工具能够更好帮助深度学习专家设计并分析模型的可行性。

3 研究方法

本章介绍关于相关论文选择的方法,并介绍其对应分类策略。

3.1 论文选择

正文在本文中,我们专注于探索可视化分析技术及可解释深度学习模型的方法对于深度学习模型应用的可解释性、可靠性的发展。为了全面调查相关文献,我们对近十年相关顶刊文献做了全面的人工筛选(2013-2023):包括 InfoVis, VAST, SciVis,EuroVis,PacificVis,IEEE TCVG,CGF,和 CG&A。我们选择论文首先根据标题匹配度先选择一些论文,在浏览其摘要判断是否为相关论文,根据相关论文的引用文献再循环进行论文的筛选工作。

3.2 论文分类

在本章中,我们将讨论一下收集到的相关论文研究趋势,并根据深度学习模型构建任务清单将其分类。深度学习模型构建任务清单包括以下几个步骤:(1)模型训练前,(2)模型训练中,(3)模型训练后。

4 模型训练前

4.1  数据预处理

数据预处理通过提高数据质量从而提高深度学习模型预测结果,是深度学习和数据挖掘工作中一项重要步骤。从数据来讲,许多可视化分析方法主要关注与探查和纠正异常数据,比如说缺失数据或数据重复等问题。比如 VIVID 中所介绍通过一种纵向队列研究长期跟踪个体或群体的研究设计,以了解他们的健康、行为和生活变化。其中对于数据缺失的情况是长期队列研究中的一项关键任务,作者通过可视化分析技术,可以帮助研究人员更好地理解缺失值的模式,生成缺失模式图。从而帮助研究人员决定如何处理缺失值,以及在建立模型或进行分析时如何考虑这些缺失值,对于解决数据的偏差和不确定性做出了改善,从而改进数据质量和研究结果的可解释性。

在数据质量中还存在一个常见的问题超出范围分布(OoD) 问题,在机器学习中,模型通常在特定的数据分布上进行训练,但在实际应用中,模型完全可能会碰到超出范围分布的数据,这类数据会导致模型的不稳定性和不准确性。OoDAnaluzer 通过允许用户上传或选择 OoD 数据,并提供这类数据的统计信息和可视化,帮助用户理解 OoD 数据的特点和分布,检测结果的网格可视化用于在上下文中探索OoD样本并解释其存在的潜在原因,同时整合高低特征组合来提高检测精确度,该方法有助于用户更好理解模型的弱点,改进模型的鲁棒性,并提高模型在实际应用中的可行度。

4.2  特征选取

特征选取是机器学习和数据分析中一项重要任务。从原始数据中选择出最具有信息量的特征,以用于建立模型或进行数据分析。特征选取的目的是降低维度、减少冗余信息,提高模型的性能和解释性,同时也能够减少计算成本。对于特征选取及特征评估的很多技术目前被广泛应用于可视分析领域。可视分析支持用户交互过滤、增加或删除特征以便查看对模型结果的影响。对于模型的可解释性角度考虑,在某些任务重,人们可能已经知道那些特征对于解决问题非常重要。在这种情况下,可以选择性地将这些特征用作深度学习模型的输入,以提高模型的可解释性。特征选取常用可视化分析技术有子集选取,比如FeatureExplorer,该论文主要关注在高光谱图像处理中使用交互方法进行特征选择和探索的问题,通过交互式特征选择方法,允许用户根据他们的领域知识和感兴趣的任务,观察不同特征子集对模型性能的影响,这样可以帮助用户更好地了解那些光谱波段对于这些回归任务是关键的,这种交互式方法对于处理具有高纬度和复杂特征的图像数据非常有价值。同样的,INFUSE 引用了多种特征选取算法包括:信息增益、Fisher 评分以及优势比和相对风险,通过圆形图形比较这些算法的结果选择最有信息量的特征。

同样对于使用可解释深度学习模型的可视分析也拥有广泛的使用,比如基于特征的方法,LIME是最常用的可解释深度学习模型方法,常常配合可视化分析技术一起剖析模型。ExplainExplore ,SUBPLEX,DeepVID 通过修改或整合 LIME 方法在可视化分析平台解释深度学习模型。ExplainExplore 对LIME方法进行了改进,不仅使用线性模型,还使用浅树模型作为替代模型,从而提高了可解释性。ExplainExplore 通过交互式显示生成的样本并允许直接操作,在本地为选定的实例提供解释。DeepVID 通过使用深度生成网络来提高训练样本的生成过程,它允许用户选择在一个或多个区域选择实例并提供局部解释。

5  模型训练中

5.1  模型理解

对于深度学习模型的理解是模型诊断和改进的基础,深度学习模型通常是个一个及其复杂且庞大的网络架构。对于可视化分析如何处理上百亿的参数和成百上千的网络层是一个巨大的挑战。通过可视分析理解其模型的结构能够帮助使用者获得更多了解对于其决策机制。比如:ActiVis 将大规模神经网络的结构以基于图形的表示方式可视化出来,并通过多个集成视图在实例和子集级别显示其内部工作机制和神经元激活。CNNExplainer 通过展示网络神经元和神经层之间的数学运算过程来帮助用户理解CNN 网络的工作原理,它将每一个神经元可视化为一个热力矩阵图并配合各级子视图来增强模型的可解释性。LSTMVis 则是一个专注于长短期记忆网络(LSTM)模型可视化分析工具,它通过关注于平行坐标的文本隐藏状态来增强模型的可解释性。

5.2  模型诊断

模型诊断的可视化分析技术主要是可视化训练中的产生的数据和可视化分析训练的过程。模型的训练过程可视化主要通过多种视觉通道映射到模型结构上来表示一些变化。比如一些对于分类器性能的可视化工具:Squares 支持用户导入多类分类模型的预测结果,从而对多类分类器进行了性能可视分析,主要是通过实例级信息支持准确率、真假预测率等常用性能指标。采用平行坐标的结构方式将各分类以颜色编码为列,两侧的方形用来突出显示样本的预测结果。Squares 提供了多种性能评估指标、类别分析和特征重要性分析的功能,有助于用户更好地理解和改进多类分类模型。对于一个长时间的模型训练过程,需要可视化能够有效刻画模型在训练过程的演化过程来帮助用户诊断模型问题,例如 TensorFlow 中提供的诊断工具来支持用户利用折线图浏览整体的训练情况,比如损失函数变化以及每个中间层响应的平均值变化。DGMTracker 通过可视化激活函数随时间的变化来监测并诊断深度生成模型的训练过程,以显示神经元如何对其他神经元做出贡献。DeepTracker 引入了立方体风格的可视化来模型训练过程中,对于数据、迭代和神经元权重之间的相关性,从不同细节层面可视化CNN模型的训练动态,

5.2  模型改进

模型的改进工作是在模型诊断出问题的基础上进行的模型改进,传统的模型改进工作流程是:深度学习专家从输的统计信息定位到对应的代码层,修改代码,然后重新训练模型。这种过程浏览耗时,且需要重新修炼,这极大的增加了模型的设计工作。目前有利用可视化技术来提高模型改进工作,比如通过可视化快速帮专家高效找到进行修改的模型组件还能同时将深度学习专家的分析结果集成到模型中,比如 UTOPIAN 是一个关注于改进主题模型的可视分析工具,主题则是用非负矩阵分解生成的,再将生成的主题采用散点图进行展示,用户可以交互式地合并、分解主题或者生成新的主题,实现增量式地改进原始的主题模型。MutualRanker 以微博信息检索为例,实现了一个互增强图模型用来检索重要的微博信息、微博用户和微博标签。MutualRanker 采用一种不确定性模型来估计检索的结果的不确定性以及在图上的传播情况。用户可根据可视化结果交互地调整每个微博元素的重要性,从而MutualRanker 根据用户输入增量式地更新每个微博元素的重要性。

6  模型训练后

6.1  模型评价

传统的深度学习模型指标评价方式主要是:混淆矩阵、准确率和预测分数等。但是这些传统的指标并不足以展示一个模型的性能,特别是对于多类问题。可视化分析技术有助于帮助处理这种多类问题,比如Confusion Wheel 通过对传统混淆矩阵的改进能够有效解决多类别问题,Confusion Wheel 以一个环形图的形式展示,其中每个扇区代表模型在一个类别上的性能,圆圈的周围是模型的预测标签,圆圈的中心是真实标签,每个扇区的大小与模型在相应类别上的性能有关。较大的扇区则表示模型在该类别上的预测较准确,而较小的扇区则表示混淆较多,这种可视化方法在评估分类模型时非常有用。ComDia+ 目标是在类和实例级别上对多达10个深度学习模型进行性能分析,以找到图像识别中错误分类的原因,ComDia+ 提出了一种定制化的整体性能比较的观点,通过连通的圆圈来显示班级层面的准确率分数。

7  结  语

上面介绍了很多可视化系统用来解释深度学习模型,他们或提出一种可视化交互方法帮助用户探索模型,或结合 XDL 技术进一步解释模型。但是仍有很多可以改进研究的空间。其一他们基本上全部是离线的状态下进行的可视结果呈现,并没有很好的支持在线训练模型解释。其二目前大多数研究的都是单文本或者单图片的,并没有很好的支持多模态情况下的可视研究。其三在面对对抗性攻击防御的可视化还存在大片空白。

 

标签:解释,草稿,--,模型,解释性,学习,可视化,深度
From: https://www.cnblogs.com/yueshang/p/17710875.html

相关文章

  • 创建Oracle索引,过犹不及
    我有几个oracle存储过程,其中有两个涉及到递归运算,相对来说非常费时间的。这几个oracle程序我给他们编号为p1,p2,p3,p4,p5 其中p2,p5有较复杂的递归运算,涉及到的表格主要有4个,分别为t1,t2,t3,t4。另外还有一些基础表。数据首先在基础表中,t1,t2,t3,t4中没有数据。t1,t2,t3,t4的数......
  • 最近完成了一个用xsl作为模板的可配置主界面
    遇到了很多问题呀,以前学了点xsl,是这个名称空间:<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">可是.net不支持这个,只支持xslt,名称空间为:<xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">必须改成xslt,但是xslt和xsl不一......
  • js中查询一段文本并选中查到的所有匹配能实现吗?
    有一个csdn网友遇到了这样的问题,想在一段文本中查询,然后选中匹配了的所有内容。但是单纯从需求来讲,我认为是无法实现的。我给出的解释是:在文本框中同时选中不连续的片断是不可能的。但是如果是非文本框中的文本,可以通过改变字体颜色和背景的方法来模拟不连续片断的同时选中效果......
  • Python基础教程08 - 面向对象的基本概念
    Python使用类(class)和对象(object),进行面向对象(object-orientedprogramming,简称OOP)的编程。面向对象的最主要目的是提高程序的重复使用性。我们这么早切入面向对象编程的原因是,Python的整个概念是基于对象的。了解OOP是进一步学习Python的关键。下面是对面向对象的一种理解,基于分......
  • 计算机视觉算法中的视频摘要(Video Summarization)
    引言随着数字视频内容的爆炸式增长,如何高效地获取视频的关键信息成为了一个重要的问题。视频摘要(VideoSummarization)作为计算机视觉领域的一个重要研究方向,旨在通过自动化方法从长时间的视频中提取出关键的、代表性的内容,以便用户能够快速浏览和获取视频的核心信息。本文将介绍视......
  • Response.Flush的使用心得
    很多时候我们写的asp程序会因为做很多操作,所以会花上一分钟甚至几分钟时间。为了使软件使用者能够耐心的等待程序的执行,我们经常会希望有一个进度条来表示程序执行的状态。或者最起码要显示一个类似:“数据载入中”,“正在保存数据”等的说明性文字。此时我们就会用到Respons......
  • 33页ppt《大语言模型综合能力测评报告(2023)》,文末附下载链接
    ChatGPT的出现可谓掀起了一股强劲的浪潮,为大型语言模型技术带来了繁荣的时代。然而,自2017年以来,包括OpenAI、微软、谷歌、Facebook、百度、华为等科技巨头一直在不断探索大型语言模型领域,并取得了持续的进展。ChatGPT的问世只是将大型语言模型技术推向了一个爆发性的发展阶段。当前......
  • 一段动态滚动公告栏的js代码
    代码如下:<spanstyle='visibility:hidden;'><spanid="pm1">公园小路上,男正对女发誓。男:我爱你,直到大海干枯。女:不行,冰川期到时,海平面回下降。男:我爱你,直到地球毁灭。女:不行,一颗慧星撞过来,地球就没了。男:我爱你,直到中国电信实行手机单向收费!女:太美了。接吻声——————......
  • 在一个js文件中包含另一个js文件的方法
    ---------a.htm---------<scriptlanguage='javascript'src="a.js"></script><scriptlanguage="javascript">jin();liu();</script>--------a.js--------document.write("<scriptlanguage=&#......
  • 当页面中文本不允许选择时,使文本框中文本可以选择的js代码
    <bodyonselectstart="returnoSelect(event.srcElement);"><scriptlanguage="javascript">functionoSelect(obj){if(obj.type!='text')returnfalse;}</script><inputtype="text"name=&quo......