加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

使用拓扑数据分析理解卷积神经网络模型过程

发布时间:2018-07-11 20:14:54 所属栏目:教程 来源:Gunnar Carlsson
导读:副标题#e# 【资讯】 1.简介 神经网络在各种数据方面处理上已经取得了很大的成功,包括图像、文本、时间序列等。然而,学术界或工业界都面临的一个问题是,不能以任何细节来理解其工作的过程,只能通过实验来检测其效果,而无法做出合理的解释。相关问题是对
副标题[/!--empirenews.page--]

  【资讯】

  1.简介

  神经网络在各种数据方面处理上已经取得了很大的成功,包括图像、文本、时间序列等。然而,学术界或工业界都面临的一个问题是,不能以任何细节来理解其工作的过程,只能通过实验来检测其效果,而无法做出合理的解释。相关问题是对特定数据集经常存在某种过拟合现象,这会导致对抗行为的可能性。出于这些原因,开发用于发展对神经网络的内部状态的一些理解的方法是非常值得尝试的。由于网络中神经元的数量非常庞大,这成为使得对其进行数据分析显得比较困难,尤其是对于无监督数据分析。

  在这篇文章中,将讨论如何使用拓扑数据分析来深入了解卷积神经网络(CNN)的工作过程。本文所举示例完全来自对图像数据集进行训练的网络,但我们确信拓扑建模可以很容易地解释许多其他领域卷积网络的工作过程。

  首先,对于神经网络而言,一般是由节点和有向边组成。一些节点被指定为输入节点,其他节点被指定为输出节点,其余节点被指定为内部节点。输入节点是数据集的特征。例如,在处理图像时,输入节点将是特定图像格式的像素。在文本分析时,它又可能是单词。假设给定一个数据集和一个分类问题,比如手写数字MNIST数据集,试图将每个图像分类为数字0到9中的某一个数字。网络的每个节点对应于一个变量值(激活值)。因此,每个数据点为神经网络中的每个内部和输出节点生成值。网络每个节点的值由分配给每个边的权重系统决定。节点节点Z上的值由与之连接的节点A,B,C,D节点的激活函数来确定。

  使用拓扑数据分析理解卷积神经网络模型过程

  图1 神经网络节点示例

  基于分配给四条边的的权重值,计算最右边节点Z的激活值。一种可能的函数形式就是

  使用拓扑数据分析理解卷积神经网络模型过程

  其中wA,wB,wC和wD是与边缘AZ,BZ,CZ和DZ的权重值,xA,xB,xC和xD分别是节点A,B,C和D处的激活值,取值范围通常在0和1之间,并且通常是单调的。权重的选择是通过输出函数来进行优化的,给定输入的特定输出函数(代价函数或损失函数),然后使用优化过程来选择所有权重,以便最佳地适合给定的输出函数,对这方面感兴趣的读者可以查阅梯度下降算法和反向传播算法相关资料。

  2.理解训练网络的权重

  有一类神经网络在图像处理领域取得了很好的成绩,即卷积神经网络。在这种情况下,输入节点被布置在对应于像素矩阵的方形网格中,用于构成图像的数据。网络模型由一系列图层组成,且每层之间都有连接,即第i层的节点与位于第(i + 1)层的节点之间有连接。不同于一般的神经网络,典型的卷积神经网络由卷积层(convolutional layers )、采样层(Pooling layer)以及全连接层(fully-connected)组成,其中卷积层主要是用于提取图像特征,采样层用于降低特征的维度,全连接层用于最后的分类目的,随着层与层之间的处理,特征图会变得越来越小,从图中也可以看见这种现象:

  使用拓扑数据分析理解卷积神经网络模型过程

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

  为了理解卷积神经网络的潜在行为,需要对权重矩阵进行了解。假设一个数据集,其中每个数据点是与隐藏层中的神经元相关联的权重矩阵。从固定层的所有网格中收集数据,并在同一网络模型对同一数据集进行许多次的训练。最后,对权重矩阵进行拓扑数据分析。

  通过对权重矩阵执行TDA,我们首次了解了卷积神经网络的行为,独立证明卷积神经网络完全地表示自然图像中发生的潜在分布,这是如何完成的呢?

  首先,需要从拓扑角度找到有用的结构。为了实现这个目标,只考虑密度足够高的点。首先看一下两层卷积神经网络中的第一个卷积层,它产生图3所示的拓扑模型。

  使用拓扑数据分析理解卷积神经网络模型过程

  图3 根据过滤器的密度着色的TDA Mapper模型

  从图中可以看到,该模型是循环的。右侧显示的条形码为持久性同源条形码,它们是拓扑形状的签名,表明数据集实际具有这种形状,并且它不是使用Mapper构建模型的构建。通过用相应权重矩阵的平均值标记部分模型,图像中也显示了对形状的解释。此外,这个模型的有趣之处在于灰度自然图像中统计3×3图像块的研究中发现的内容与在所谓的初级视觉皮层中发现的内容完全一致。

  更简单地说,拓扑模型以这样一种方式描述CNN,即可以独立地确认它与人类看待世界的方式相匹配,并与自然图像的密度分析相匹配。

  图3中的分析是在MNIST数据集上进行的,对CIFAR 10数据集上执行的相关分析获得下图:

  使用拓扑数据分析理解卷积神经网络模型过程

  图4 CIFAR 10数据集的额外复杂性显示在水平线和垂直线上

  上图是对第一个卷积层进行分析,该模型在区域中间以及边缘包含线条。观察到这些线条块的神经元也存在于哺乳动物的初级视觉皮层中,这为我们提供了与视觉相关的质量方面的量化视角。

  3.理解权重在训练过程中的变化

  从上面的发现可以看到,使用TDA,卷积神经网络可以模拟自然图像中数据集的分布,因此可以将注意力转向研究学习过程中发生的事情。图5是通过在CIFAR10数据集上计算卷积神经网络的第一层和第二层中的拓扑模型,然后在不同次数的学习迭代中显示模型的第一层和第二层而获得。

  使用拓扑数据分析理解卷积神经网络模型过程

  图5 神经网络模型各个阶段的拓扑模型

  对模型进行着色来获取模型进行处理的信息,颜色反映了节点中数据点的数量,因此可以将红色部分视为实际模型,其余部分包含不常出现的权重矩阵。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读