一种解释卷积神经网络的可视化方法与流程

文档序号:13877380阅读:343来源:国知局
一种解释卷积神经网络的可视化方法与流程

本发明涉及机器学习和可视化技术,尤其是解释深层卷积神经网络的可视化方法。



背景技术:

机器学习已经成为一项最有效率的数据分析工具。在工业及学术领域受到了广泛的关注。尽管机器学习模型拥有着极高的效率,但模型的不透明性和无法解释是其最被人诟病的地方。如果根据解释性和学习能力来看待的机器学习模型的话,会发现线性回归有最高的可解释性及最低的学习能力,而神经网络模型则相反,拥有最低的可解释性和最高的学习能力。与此同时,工业上,使用神经网络做预测的用户需要理解神经网络是如何做出决策。学术上,科研工作者也希望对神经网络有更深的了解。因此,为了加深对神经网络的理解,神经网络的解释领域受到了广泛的关注,而对神经网络理解的提高也有利于对深度学习领域的发展,本发明中,以理解卷积神经网络的可视化方法作为试验对象。

为了打开神经网络这一黑盒,目前已经提出的方法大致分为三种:一是使用解释性高的模型去拟合神经网络模型的决策边界[1],例如使用线性回归解释局部样本,该方法只能解释局部,无法解释整体。二是使用基于规则的方法直接提取神经网络模型的决策规则[2,3,4,5],这些规则可以是if-then等。该方法能够提供整个神经网络模型的决策过程,也是当前领域中研究的重点。然而,该方法也只适用于浅层神经网络(只有一层隐含层),一旦碰到深层神经网络,由于提取的规则太过复杂,人类无法分析理解,从而导致该方法的失效,在遇到卷积神经网络时,该方法所提取规则的复杂度会进一步提高。三是付琨等人(专利公开号cn106909945a)提出的一种深度学习特征的可视化,但只是定性的分析卷积特征,相当于验证了深度学习模型所学习到的特征是从低级到高级,并不能理解模型的决策过程。因此,这些方法使用范围有限,不具有普遍性。

参考文献:

[1]m.t.ribeiro,s.singh,andc.guestrin.whyshoulditrustyou?:explainingthepredictionsofanyclassifier.inproceedingsofthe22ndacmsigkddinternationalconferenceonknowledgediscoveryanddatamining,pp.1135–1144.acm,2016.

[2]m.cravenandj.w.shavlik.usingsamplingandqueriestoextractrulesfromtrainedneuralnetworks.inicml,pp.37–45,1994.

[3]m.cravenandj.w.shavlik.extractingtree-structuredrepresentationsoftrainednetworks.inadvancesinneuralinformationprocessingsystems,pp.24–30,1996.

[4]r.krishnan,g.sivakumar,andp.bhattacharya.extractingdecisiontreesfromtrainedneuralnetworks.patternrecognition,32(12),1999.

[5]m.satoandh.tsukimoto.ruleextractionfromneuralnetworksviadecisiontreeinduction.inneuralnetworks,2001.proceedings.ijcnn’01.internationaljointconferenceon,vol.3,pp.1870–1875.ieee,2001.

[6]付琨,许光銮,王洋.深度学习的特征可视化及模型评估方法:中国,cn106909945a[p],2017-06-30.



技术实现要素:

本发明的目的是克服现有技术的上述不足,提供一种解释卷积神经网络的可视化方法,以便于理解卷积神经网络的决策过程。技术方案如下:

一种解释卷积神经网络的可视化方法,包括下列步骤:

步骤1:准备卷积神经网络模型m及其训练集s;

步骤2:提取模型m在决策过程中所使用到的全部判定条件,并用c={c1,c2,...,cn}表示模型m所有判定条件组成的集合;

步骤3:利用神经元和人类语料库中语义的匹配程度来决定神经元的语义,为集合c中的所有判定条件生成可理解语义,并用集合csemantics表示,其中,匹配程度的计算方式为:

用sc表示输入该卷积神经网络的某一类语义图像,其被第l个神经元所激活的图像像素用ml表示,使用下式得到神经元和该语义的匹配程度值:

总共有六个类别的语义,分别是颜色、纹理、材质、场景、局部和对象,计算六个类别对应的匹配程度值,拥有最高匹配程度值的语义就代表该神经元的语义;

步骤4:使用csemantics生成决策树t,以决策树t的决策过程作为模型m的决策过程;

步骤5:将决策树t转化为树流图以降低决策树t的复杂度;

步骤6:制作神经元语义视图vsemantic;树流图vtree-flow中的每一个判定条件都会关联到语义视图vsemantic中和该语义相关的一组图片;

步骤7:制作神经元关系图vrelation;将所有神经元的判定条件根据相似度投影到二维平面上,用于找出被错误标注的语义,投影的方法如下:

1)用x,y分别表示某一个神经元,利用核函数来衡量x和y的相似度,对所有的神经元做相似度计算后,得到语义的聚类结果;

2)保留高维空间中语义的聚类结果,在低维空间中,用t分布将所有神经元重新分布在二维平面上;

步骤8:制作决策数据流图vdecision,以数据驱动方式理解判定条件,显示模型m决策的合理和不合理的证据;

步骤9:以vtree-flow为主,vsemantic,vrelation,vdecision为辅构建可交互可视化系统;

步骤10:利用该系统分析模型m的决策过程。

优选的,步骤2中,提取判定条件的方法如下:

1)输入一个神经元,根据该神经元的权重值聚类到某一个类别中;

2)设置该神经元的权重值为该类的权重值均值;

3)消除不影响输出的类别;

4)保持该神经元的权重值始终为其对应类别的均值,使用反向传播寻找最优的偏置;

5)形成该神经元对应的判定条件。

步骤5转化的方法如下:

1)将决策树的节点根据其数据量转化为相应长度的长方形;

2)根据类别划分节点长方形,得到内部“类别小块”;

3)按顺序使用弧线连接父节点和子节点中相同位置的“类别小块”,将决策树就转化为

树流图;

4)标识树流图上每一个判定条件的可理解语义。

本发明首先选取要解释的卷积神经网络模型及其对应的训练数据。然后进行数据预处理,先使用规则提取技术提取卷积神经网络用于决策过程中的所有判定条件,并赋予人类可理解语义,进而生成决策树。最后,利用可视化技术重组该决策树,并提供多个视图配合分析,便于理解卷积神经网络的决策过程。

附图说明

图1是本发明所提方法的流程图

图2是所生成的极其复杂的决策树

图3理解卷积神经网络的可视化系统

图4树流图(a)和神经元语义图(b)

图5神经元关系图

图6决策数据流图

具体实施方式

本发明所提方法具体处理过程包括:模型及数据准备、数据预处理、多视图可视化等三个主要步骤。

1、模型及数据准备

模型及数据准备是该可视化方法的输入,模型可以是alexnet,也可以是复杂的vgg16等,数据为训练该模型所用的数据集,这些模型及数据可以在一些开源库上找到,比如caffe,tensorflow等,模型和及其训练数据将被用于数据的预处理阶段。

2、数据预处理

预处理的目的是为可视化提供数据,主要包括:判定条件提取,语义生成,决策树生成等步骤。

(1)判定条件提取:

根据模型的复杂度选择合适的判定条件形式,形式大致可分为if-then、m-of-n及oblique等方式。在本发明中,选择最适合人类理解的if-then形式,对模型做if-then规则提取,会生成如下的判定条件:

ifxissmallerthanthreshold1thenyisvalue1

ifx∈[threshold1,threshold2]thenyisvalue2

ifx∈[threshold2,threshold3]thenyisvalue3

elseyisvalue4

上述判定条件很少,并且是线性的,但随着模型复杂度的提高,特别是深度学习模型,例如卷积神经网络,为准确的划分整个模型空间,提取出来的判定条件将达到几百兆。因此,如果不利用可视化技术,这些判定条件所形成的决策树根本无法被人类所理解。

提取判定条件的方法如下:

第一步:输入一个神经元,根据该神经元的权重值聚类到某一个类别中,

第二步:设置该神经元的权重值为该类的均值

第三步:消除不影响输出的类别

第四步:保持该神经元的权重值始终为其对应类别的均值,使用反向传播寻找最优的bias

第五步:形成该神经元对应的判定条件

(2)语义生成

语义生成的目的是为第一步所提取的全部判定条件赋予人类可理解的语义。

在卷积神经网络中,每一个神经元只是一个数值,但却对应了一个判定条件。在完成第一步的判定条件提取后,会得到形如x>=3.0这样的判定条件,但x代表着某种语义,如狗鼻子,车轮胎,车窗等。所以,为理解卷积神经网络的决策过程,就必须为所有的x赋予人类能理解语义。

本发明中,利用神经元和人类语料库中语义的匹配程度来决定神经元的语义。用sc表示输入该卷积神经网络的某一类语义图像,其被第l个神经元所激活的图像像素用ml表示,使用式(1)得到该语义对应的iou值。

总共有六个类别的语义,分别是颜色、纹理、材质、场景、局部和对象。计算六个类别对应的iou值,拥有最高iou的语义就代表该神经元的语义。

(3)生成决策树

最适合人类理解的模型之一便是决策树。利用前两步所提取的判定条件和可理解语义,将可解释性非常差的卷积神经网络表示成决策树,对于理解卷积网络有着很大的作用。

生成决策的过程如下:

1)将训练神经网络的数据集通过前向传播产生输出,并使用该输出作为决策树的输入,设该输入为s={(x1,y1),(x2,y2),...,(xm,ym)},对应的属性集为a={a1,a2,...,ad}

2)如果s中样本都属于同一类c,将node标记为叶节点,该node的标记类别为c

3)如果s中样本为空或者s中样本在a上的取值相同,将该node标记为叶节点,类别标记为s中样本数最多的类。

4)根据交叉熵和信息增益选择最优的划分属性a*,对a*的每一个值循环执行该过程:

①为node生成一个分支,然后令sv表示s中在a*上取值为的样本子集。

②如果sv为空,将分支节点标记为叶节点,其类别标记为s中样本中最多的类。否则从第二步开始重新迭代,但将属性a*从属性集a中移除。

5)输出该卷积神经网络模型的决策树。

3、多视图可视化

完成数据预处理后生成的决策树,原则已经可以进行分析,但所生成的决策树太过复杂,以vgg16为例,打印结果是长为11米,高为0.9米的决策树,人类无法分析理解这么庞大的决策树。因此,利用可视化技术,有助于理解该复杂决策树的决策过程。

多视图可视化的目的是理解前两步所提取出来的决策树。主要包括多个视图的生成,包括树流图,神经元语义视图,神经元关系视图及决策数据流视图四个视图。利用这四个视图构建可视化交互系统,解释卷积神经网络的决策过程。

具体实现过程如下:

(1)树流图

为解决复杂决策树无法被人类理解问题,利用可视化技术,将决策树转化为树流图。

生成树流图的过程如下:

1)根据决策树从上至下每个节点(判定条件)所包含的数据量依次减小的特点,将决策树的节点根据其数据量转化为相应长度的长方形。

2)根据类别划分节点长方形,得到“类别小块”,划分的比例为该类别对应的数据量。在本发明中,每一个节点长方形内部都会被划分成十个“类别小块”,即对应十个类别。同时,经过该节点各类别所对应的数据量不同,因而长条内部的“类别小块”长短不一。

3)按顺序使用弧线连接父节点和子节点中相同位置的“类别小块”,将决策树就转化为树流图。

4)标识树流图上每一个判定条件的可理解语义。

(2)神经元语义视图

如前所述,每一个神经元都有其对应的语义,展示生成该语义对应的语义图片能够更加准确的确定树流图中某个判定条件所具有的特征。该步骤实现比较简单,直接展示对应的图片即可。

(3)神经元关系视图

为神经元所赋予的可理解语义有微小的概率会出错,利用神经元间的相似度可找出被错误标注的语义。本发明中,将所有的神经元根据其相似度投影到二维平面,整个二维平面也因此呈现出聚类效果,即语义相近的神经元聚在一块,不相同语义的神经元相距很远。

投影的方法如下:

第一步:用x表示神经元,其下标表示某一个具体的神经元,利用核函数,即式(2)得到两个神经元的相似度,对所有的神经元做相似度计算后,得到语义的聚类结果。

第二步:保留高维空间中语义的聚类结果,用t分布将所有神经元重新分布在二维平面上,t分布能够解决神经元在高维空间中的拥挤问题。

(4)决策数据流图

决策树根据判定条件将经过该节点的数据分成两个部分,为判断该判定条件的正确性,就需要有证据。因此,当点选树流图中的节点按钮后,在决策数据流图中会显示被正确分类的样本和被错误分类样本。根据判定条件的语义,正确分类样本及误分类样本,就能够知道该判定条件是否准确合理。本发明的步骤总结如下:

步骤1:准备卷积神经网络模型及其训练数据。

步骤2:利用规则提取技术提取卷积神经网络模型的所有判定条件,并为每一个判定条件生成语义。

步骤3:利用已提取的判定条件和语义生成决策树,其表示卷积神经网络的决策边界。

步骤4:将该复杂的决策树转化为可交互的树流图。

步骤5:为进一步分析树流图,利用可视化技术,制作帮助理解的其他交互视图。

步骤6:利用树流图和其余视图之间的交互,分析该卷积神经网络的决策过程。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1