投稿入口|热门专题|网站地图|移动官网|微信编辑器|小程序商店
您的当前位置:网站首页 > 大数据 > 大数据应用 > 正文

如何更好的理解分析深度卷积神经网络?

来源:网络整理 编辑:蚂蚁站长 时间:2017-02-22 21:40:19 阅读:

如何更好的理解分析深度卷积神经网络?

文 | Lijing Lin

深度卷积神经网络(CNNs)在特征识别相关任务中取得的效果,远比传统方法好。因此,CNNs常用于图像识别、语音识别等。但是,因为CNNs结构庞大,一般都会包含几十个神经层,每一层,又有数百至数千个神经元;同时,CNNs任意两层之间神经元的相互影响错综复杂。这两个主要的因素,导致CNNs难以理解、分析。

为此,用户很难从失败或成功的例子中学习到如何设计一个好的卷积神经网络。因此,设计一个效果好的神经网络,往往需要依靠大量的尝试。

这篇文章提出了一个可视分析系统,CNNVis,支持机器学习专家更好的理解、分析、设计深度卷积神经网络。

在介绍可视分析系统之前,我将简要的介绍卷积神经网络。

如何更好的理解分析深度卷积神经网络?

图1. 典型的卷积神经网络结构

上图展示的是一个典型的卷积神经网络结构。这个网络包含两个卷积层(convolution layer),两个池化层(pooling layer)和一个全连接层(fully connected layer)。

如何更好的理解分析深度卷积神经网络?

图2. 卷积操作示意图

卷积层,采用各种卷积核对输入图片进行卷积处理,基本卷积过程如图2所示。卷积操作具有平移不变性。因而,能够支持神经元学习到鲁棒性比较高的特征。

如何更好的理解分析深度卷积神经网络?

图3. 最大池化层。从特定区域中,选取最大值作为输出值

池化层的操作,是一种降采样操作。该操作是在一个小区域内,采取一个特定的值作为输出值。比如图3,在每个特定的小区域内,我们选取最大值作为输出值。池化层的操作可以达到一定的空间不变性效果。

卷积神经网络中的激励函数,根据一系列的输入值,神经元之间连接的权值以及激励规则,刺激神经元。

卷积神经网络中的损失函数,在训练阶段,用于评估网络输出结果与实际值的差异。然后用损失函数的值更新每个神经元之间的权重值。卷积神经网络的训练目的就是最小化损失函数值。

如何更好的理解分析深度卷积神经网络?

图4. CNNVis的设计流程图

CNNVis的设计流程图如图四所示,主要包含四个部分。

DAG转换主要是将卷积神经网络转换为有向非循环网络(directed acyclic graph);神经元群簇可视化的目的在于,给用户一个直观的可视化形式分析神经元群簇在整个网络中的作用;基于双边聚类的边捆绑技术的目的是减少视图的混乱;此外,系统还支持一系列的交互,比如支持用户修改聚类结果等,以便用户更好的分析探索整个卷积神经网络。

如何更好的理解分析深度卷积神经网络?

图5. DAG转换及聚类过程

DAG转换环节,由于一个卷积神经网络往往会有很多层,每一层会有很多神经元。为了提供总览图,方便用户建立对整个卷积神经网络的认识,他们首先对层进行了聚类。然后在每个层聚类中,对内部的神经元进行了聚类(如图5所示)。

如何更好的理解分析深度卷积神经网络?

图6. CNNVis中,矩阵表现形式

图文精选:

Copyright©2012-2030小蚂蚁信息网版权所有 站长QQ:1614558876 粤ICP备14061018号-1


郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们QQ1614558876删除已转载的信息。

知道创宇云安全
Top