DeepEyes: 用于深度神经网络设计的递进式可视分析系统

深度神经网络与传统的分类器相比它能直接从数据中学习日益复杂的特性。神经网络结构参数,如层数还有每层过滤器(卷积核)的数量对于学习结果良好的性能是必不可少的。

尽管设计神经网络存在基本的设计准则,但是其实它是一个反复的尝试和错误过程,需要花费数天甚至数周的时间来完成。在本文中,我们提出了deepeyes,渐进的可视化分析系统,支持设计神经网络的训练过程。我们提出了新的可视化,支持层的识别,从而得到一套稳定的模式实现了用于深度神经网络设计的可视分析系统。该系统有助于识别问题,例如多余的过滤器或层,以及不被网络捕获的信息,进而协助用户更新DNNs

我们通过多个用例演示了我们的系统的有效性,展示了一个经过训练的网络如何被压缩、重构和适应不同的问题。

 

DeepEyes系统主要关注以下5种任务:

  1. 稳定层W的识别:分析细节,促进分析,进行网络训练

  2.  退化的filters神经元的识别:没用的识别出来,删掉

  3.  未发现的模式的识别:可能需要更多的隐藏层和神经元

  4.  超过规模的层数识别没使用过的filters可以减小规模

  5.  识别不必要的层或者需要添加额外的层: 手头问题的解决

deepeyes集成机制来解决所有提出的任务分析DNNs在训练成一个单一的,连续的视觉分析框架:

1. 一个新的,数据驱动的分析模型,基于次区域的输入空间采样,使DNN逐步分析训练

2. 困惑Histograms小说概述可视化允许进一步探索了DNN的稳定层的识别

3. 一组现有的可视化已被扩展或适应我们的数据驱动的方法来允许详细的分析:激活热图,输入地图,和过滤图。

 

基于这些任务,他们设计实现了可视分析系统DeepEyes 

 

         图1 DeepEyes系统架构

  DeepEyes系统的输入数据是,感知区域的实例(instances of receptive fields)以及神经元对其的激励(activation)。感知区域的实例通过采样获得,采样率为50%。系统主要包括5个视图。

  训练视图(Training Overview)

  

 

  上图中,CONV1描述某个神经网络第一个卷积层在不同迭代次数下的稳定状况;CONV2描述该神经网络第二个卷积层在不同迭代次数下的稳定状况。

  当某个神经层处于稳定状态时,系统支持用户进行更为细节的探索。

(activation heatmap)帮助用户发现退化的神经元。在最大激励值热力图中,如果矩形块的颜色偏深绿色,表示该神经元的最大激励值很小。说明该神经元已经退化,甚至死去(dead filters),在特征识别中,不能提供格外的信息,可以剔除。

(activation heatmap)如果矩形块的颜色偏深蓝色,表示该神经元几乎在所有的输入实例上,都是活跃的。说明该神经元在特征识别中,不能提供额外的信息,可以剔除。

 

  每个矩形块表示一个神经元,颜色与该神经元成功激励实例的概率相关。

  输入图(input map)(图6),用神经元对实例的激励,描述每个实例;采用降维的方法,在二维平面上,分析描述实例的激励向量之间的关系。在图6中,如果两个节点很相近,说明这两个实例的激励向量很相似的,进一步可以推测,在该神经层,神经元认为这两个实例是相似的。

(b)感知域的实例降维成点,散点图中的点并根据它们所属的类别进行颜色编码,如果两个节点很相近,说明这两个实例激活后的值很像,对于当前层是很相似的输入。通过选择散点图中的点,感知域实例被显示,上图中颜色很混乱表示在该层上,各类之间还不分离(T5)(c)用户选中的四个filter在输入图中被可视出来,每个filter激活的输入图实例点的大小根据激活后的值进行编码,该图可以验证前面激活热力图得到的结果。用户可以选中热力图中的一个单元(filter),该单元的输入图将会显示出来。 (d)通过将所有实例最大激活值可视出来,能够发现出网络没有识别出或很少识别的实例。这些实例对应为图片的背景。 文中尝试了一些降维的方法,其中tSNE常被用在数据为中心的技术上,但由于本文的系统要处理网络训练过程中的信息,tSNE比较费时,文中使用了最近被提出的HSNE降维

神经元视图(filter map),展示神经元在激励实例上的相似程度。

 

 

   

  接下来,我将通过一个例子MNIST 网络,介绍DeepEyes的使用。在这个例子中,数据是7万张手写的阿拉伯数字图片,其中有1万张是带标签的数据。训练网络包括两个卷积层,每层的神经元数量分别是20和50;两个全连接层,每层的神经元数量是500和10。

  MNIST网络的分析如图9所示。第一个卷积层的输入图(图9(a))非常混乱,不存在明显的聚类。表明该层只能识别比较基本的特征,不能对输入图象进行分类;从最大激励值热力图,我们可以发现一些退化的神经元 。说明该层神经元数量可以减少一点。观察第二个卷积层的输入图(图9(b))。其输入图相比图9(a),具有比较好的聚类特征,但依旧不够明显。但在第一个全连接层(图9(c)),我们发现输入图具有非常明显的聚类特点。每个类别内,节点的颜色一致,说明该层具备较强的分类识别能力。但类别之间存在一些模糊区域,查看实例,我们发现这是一些比较难识别的数字,比如7和9。但在第二个全连接图的输入图(图9(d)),我们发现聚类之间的距离比较大,说明该层的识别分类能力好。同时,在神经元视图中,我们发现每个神经元识别的标签是不一样的,且相互之间的距离比较大。

  通过这个分析,发现MINST网络,可以减少第一个卷积层和第一个全连接层中神经元的数量。最后,他们将第一个卷积层神经元数量从20减少到10,将第一个全连接层神经元数量从500减少到100。经过2000次迭代后,网络的准确率达到98.2%。

                 图9 MNIST网络分析图

  从左至右,依次是第一个卷积层,第二个卷积层,第一个全连接层,第二个全连接层。

  总的来说,DeepEyes是一个用于设计深度神经网络的可视分析系统。该系统支持用户从稳定的神经层入手,分析输入实例获得的激励向量之间的相似性和神经元激励行为的相似程度,帮助用户分析神经网络状况,比如神经层数量是否不够,神经层内神经元的数量是否太多等。

 

posted @ 2017-09-09 12:19  The_kat  阅读(1889)  评论(0编辑  收藏  举报