[0067] 以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
[0068] 本发明的核心是提供一种面向深度神经网络可解释性的可视分析系统。基于之江实验室天枢人工智能开源开放平台,实现深度学习模型的可视分析系统,提升了深度学习模型的易用性和可解释性,从而使得普通用户也能开发深度学习系统,使得人工智能系统能够生成可解释的分析结果。
[0069] 为了更进一步对本发明做出详细说明,下面结合具体实例并参照附图。
[0070] 如图1所示,一种面向深度神经网络可解释性的可视分析系统,包括:深度学习模型结构和计算过程的解释性可视化、对训练过程数据流的解释性可视化、对神经网络特征提取功能的解释性可视化、对数据异常值的解释性可视化、用户定制功能可视化。
[0071] 如图2所示,一种面向深度神经网络可解释性的可视分析方法,包括如下步骤:
[0072] 1、专家用户在代码中将一些深度学习数据输入到深度学习的交互可视化与可视分析系统。
[0073] 2、训练完成后,专家用户进入到深度学习的交互可视化与可视分析系统,进行训练结果的查看,本系统方便专家用户对训练结果进行详细的探查,然后依据此系统进行模型的迭代。
[0074] 如图3所示,系统的后端架构包括:
[0075] 1、日志解析服务,对深度学习产生的日志信息进行解析。
[0076] 2、HTTP服务,对前端给出的请求进行解析,传递数据。
[0077] 3、Redis服务,对用户的状态进行检测。
[0078] 以mnist数据集的使用作为具体实例进一步说明:
[0079] 步骤1、在mnist训练生成的日志根目录下启动交互可视化与可视分析系统。
[0080] 步骤2、在浏览器端输入目标地址。
[0081] 步骤3、点击模型结构可视化模块,进行模型网络的查看。操作步骤如下:
[0082] a.鼠标双击sequential节点,展开此节点的子网络,展开前的网络如图4a所示,展开后的网络如图4b所示。
[0083] b.鼠标选中图4b中的dropout节点可以进行节点的隐藏,隐藏前网络如图4b所示,隐藏后的节点如图4c所示。
[0084] c.双击右侧栏目的删除节点可以进行网络的还原,如图4d所示。
[0085] d.隐藏节点后可以进行重新布局,更清晰的展现整个网络,如图4e所示,为重新布局的网络图。
[0086] e.单击节点可以在右侧的数据信息栏看到相关节点的信息,如图4f所示。
[0087] f.可以在右侧的条件过滤功能窗口使用各种逻辑条件对节点的入度出度进行筛选,如图4g所示,筛选的是将所有的入度大于等于4的节点隐藏。
[0088] 此模块可以让用户通过简单的操作,便可直观得理解深度学习模型的架构和工作机理。
[0089] 步骤4、点击标量可视化模块,进行标量数据的查看。操作步骤如下:
[0090] a.可以看到mnist的loss函数值是不断下降的趋向于收敛。如图5a所示。
[0091] b.可以将自己想看的两个数据对比放在一起进行展示,如图5b所示,将summaries/max和summaries/mean值进行对比展示。
[0092] 此模块展示了整个模型的训练结果统计信息,同时也可以进行对比可视化展示分析,用户通过观察标量的信息可以发现训练过程的瓶颈。
[0093] 步骤5、点击媒体数据可视化模块,进行媒体数据查看。操作步骤如下:
[0094] a.可以查看输入模型的图像数据,手写体如图6所示,可以拖动下方的滑动条查看不同的step输入网络的数据。
[0095] 此模块展示了对训练数据集和验证数据集的运行结果的可视分析,可以帮助用户评估模型性能。
[0096] 步骤6、点击统计分析可视化模块,进行统计分析数据查看。操作步骤如下:
[0097] a.可以查看直方图中的网络中的参数分布趋势,进行3维的直方图可视化,如图7a所示。
[0098] b.分布图用于展示转换为标准正态分布下的数据分布,如图7b所示。
[0099] c.可以查看直方图的2维展示如图7c所示。
[0100] 此模块所展示的模块将神经元权重以直观的方式展示给用户,用户通过观察权重的分布可以发现训练过程瓶颈等信息。
[0101] 步骤7、点击降维分析可视化模块,进行媒体数据查看。
[0102] a.可以动态的查看训练的结果,如图8a所示,通过点击播放按钮查看。
[0103] b.可以使用t‑SNE展现数据的分布效果,t‑SNE可以展示更好的分布效果相较于cPCA,如图8a所示。
[0104] c.可以点击数据点查看里面的数据值,如图8a所示。
[0105] d.可以查看cPCA分类效果图,如图8b所示。
[0106] e.可以查看二维数据分布效果,如图8c所示。
[0107] f.可以查看4维‑8维的数据分布效果,如图8d所示,8维的平行坐标展示。可以查看概率密度分布图,如图8e所示。
[0108] 此模块可以让用户通过观察到被错分的样本,通过对这些错分的样本进行分析,用户可以改进模型的效果,也可以通过观察分类的效果判断模型是否训练完成。
[0109] 步骤8、点击超参分析可视化模块,进行超参分析查看。操作步骤如下:
[0110] a.如图9所示,展示并分析模型训练中使用到的超参数。
[0111] 此模块展示了不同模型参数间的对比可视化,用户通过选取多种初始参数进行分别训练,系统以表格、曲线图的形式同时对这些参数下的训练过程和训练结果进行可视化,让用户进行详细对比和做出选择。
[0112] 步骤9、点击异常可视化模块,进行异常可视化查看。操作步骤如下:
[0113] a.通过拖动盒须图的上下界可以查看异常数据的分布,异常数据会用紫色框在颜色矩阵中展示,如图10所示。
[0114] b.可以通过鼠标移动到颜色矩阵中,查看对应的数值,如图10所示。
[0115] c.可以在直方图中查看数据的分布。优化的直方图分布,防止中间过高导致边缘数据过小,如图10所示。
[0116] d.可以通过调整颜色矩阵旁边的颜色条查看数据的分布,如图10所示。
[0117] 此模块展示了采用颜色矩阵的方式将训练过程中的权重、偏置等张量数据转化为二维矩阵并进行可视化,不同的颜色代表不同的数值;通过拖拽颜色条的上下线来控制颜色矩阵中可视的数值范围,方便用户观察某一范围内数据所在的位置,从而对应到实际的神经元上,判断神经元是否起了作用以及起了正向还是反向的作用;通过盒线图展示张量数据的统计信息,可以通过键盘输入或是拖拽盒须图的上下线来调节盒须图的上下四分位倍数,定制NaN值、数据超过预设阈值等异常值的范围,同时,颜色矩阵中处于异常值范围的数据也会被高亮显示。
[0118] 步骤10、点击定制可视化模块,进行用户定制数据可视化查看。操作步骤如下:
[0119] a.可以将标量数据,媒体数据和统计分析数据集中查看,如图11所示。
[0120] 此模块展示了通过多并列图的形式显示在不同时间点的各统计数据,帮助用户分析训练的进展和模型性能随训练进程的改善情况。
[0121] 以上模块可以通过抽象概括的方式归于解释性可视化:
[0122] 深度学习模型结构和计算过程的解释性可视化,包括模型结构可视化模块;
[0123] 对训练过程数据流的解释性可视化,包括标量可视化模块、媒体数据可视化模块、统计分析可视化模块和超参分析可视化模块;
[0124] 对神经网络特征提取功能的解释性可视化,包括降维分析可视化模块和标量可视化模块;
[0125] 对数据异常值的解释性可视化,包括异常可视化模块;
[0126] 用户定制功能可视化,包括定制可视化模块。
[0127] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。