当前位置:首页 > 天道酬勤 > 正文内容

卷积神经网络的应用(卷积神经网络例子)

张世龙2021年12月20日 08:24天道酬勤1090

摘要:神经网络虽然强大,但内部复杂不透明,被称为黑匣子工具。 利用拓扑数据分析,以紧凑、可理解的方式描述卷积神经网络的功能和学习过程。

1.简介

神经网络在图像、文本、时间序列等各种数据处理方面取得了巨大的成功。 但是,学术界和工业界面临的一个问题是,无法详细了解其工作过程,只能通过实验检测效果,无法进行合理的说明。 相关的问题是,对于特定的数据集总是存在某种拟合现象,这导致了对抗行动的可能性。 基于这些原因,开发一些理解神经网络内部状态的方法是非常值得尝试的。 由于网络中的神经元数量非常多,数据分析变得非常困难,特别是在无监控的数据分析中。

本文将探讨如何利用拓扑数据分析深入了解卷积神经网络(CNN )的工作过程。 虽然这里列举的例子来自训练图像数据集的网络,但是我确信拓扑建模能够简单地说明其他许多领域的卷积网络的工作过程。

首先,在神经网络的情况下,一般由节点和有向边构成。 一些节点被指定为输入节点,其他节点被指定为输出节点,其他节点被指定为内部节点。 输入节点是数据集的特征。 例如,在处理图像时,输入节点将是特定图像格式的像素。 对于文本分析,它可能又是一个词。 假设您提供了数据集和分类问题,例如手写数字MNIST数据集,并试图将每个图像分类为数字0到9中的一个数字。 网络中的每个节点对应一个变量值(活动值)。 因此,各数据点为神经网络内的每个内部节点和输出节点生成值。 网络中每个节点的值由指定给每个边的权重系统决定。 节点z上的值由与其连接的节点a、b、c、d的激活函数决定。

图1神经网络节点示例

根据分配给四条边的权重值,计算最右侧节点z的激活值。 一种可能的函数形式是

(wAxA wBxB wCxC wDxD )

(wAxA wBxB wCxC wDxD )

其中,wA、wB、wC和wD是边AZ、BZ、CZ和DZ的权重值,xA、xB、xC和xD分别是节点a、b、c和d处的激活值,可能的值范围通常在0和1之间,通常很单调的权重选择由输出函数进行优化。 给出输入的特定输出函数(成本函数或损失函数),并使用优化过程选择所有权重以最适合给定的输出函数。 对这个领域感兴趣的读者可以参考关于梯度下降算法和反向传播算法的资料。

2.理解训练网络的权重

有一个在图像处理领域取得优异成绩的神经网络——卷积神经网络。 在这种情况下,输入节点被放置在与像素矩阵对应的矩形网格中,以构成图像的数据。 网络模型由一系列层组成,各层之间存在连接。 也就是说,层I的节点和层i 1的节点之间存在连接。 与一般神经网络不同,典型的卷积神经网络由卷积层(convolutional layers )、采样层(sampling layers )和全连接层(fully-connected )构成,其中卷积层由卷积层(convolutional layers )、全连接层(fully-connected )组成

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

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

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

首先,必须从拓扑的角度找出有用的结构。 为了实现这个目标,只考虑密度足够高这一点。 首先,我们来看看双层卷积神经网络中的第一个卷积层,生成了图3所示的拓扑模型。

图3由滤波器密度着色的TDA Mapper模型

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

更简单地说,拓扑模型被描述为能够独立确认CNN与人类世界的看法一致,与自然图像的密度分析一致。

图3的分析在MNIST数据集上进行,然后对CIFAR进行

10数据集上执行的相关分析获得下图:

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

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

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

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

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

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

图像中的第一行反映第一层的信息,并且观察到,优化算法进行400和500次迭代后快速发现上述圆形模型。然而,随着迭代的过程,圆形变为更复杂,其中包括与水平和垂直补丁相对应的补丁,1000次迭代后,模型中心变得更复杂。另一方面,对于第二层,在迭代的第一轮中可以看到,只有一个弱模式,但是在2000次迭代之后,似乎具有一个明确定义的圆形模型。我们对其进行假设——第二层已经“接管”了第一层,而第一层已经转移到捕获更复杂的补丁,这是未来潜在研究的一个领域。这也证明了使用拓扑数据分析来监控和提供对神经网络学习过程的洞察力的能力。

4.更高层的权重矩阵

这种方法也适用于更深的网络,更深的网络的组织方式类似于人类或灵长类动物视觉通路的组织。应理解,该通路具有许多组分,包括视网膜,以及各种较高组分。初级视觉皮层充当边缘和线检测器,并且更高的组件用来检测更为复杂的形状,更为抽象。下图是对已经训练好VGG 16网络中各层的研究结果。这里显示第2到第13卷积层的拓扑数据分析,给出对应的拓扑模型。

图6 以拓扑数据分析为代表的13层神经网络

注意到,第二层和第三层显然非常类似于在MNIST数据集上训练的模型中获得的圆形模型。第四层有一个圆形模型,但也包含一些背景中的一些线条。然而,在更高层次上,开发出了非常有趣的模式,包括线条交叉和“牛眼”。

从这些拓扑模型可以发现,卷积神经网络不仅模仿真实世界数据集的分布,而且还能够模拟哺乳动物视觉皮层的发展。

虽然卷积神经网络像一个黑匣子一样让人难以理解,但拓扑数据分析提供了一种在宏观尺度上理解神经网络中计算是如何被执行的方法。虽然这项工作适用于图像数据集,但使用拓扑数据分析来解释其他领域神经网络的计算同样也适用。

通过将大量状态压缩成更小更易理解的模型,拓扑数据分析可用于理解宽范围神经网络的行为和功能。

作者信息

Gunnar Carlsson,机器学习研究者

本文由阿里云云栖社区组织翻译。

文章原标题《Using Topological Data Analysis to Understand the Behavior of Convolutional Neural Networks》,译者:海棠,审校:Uncle_LLD。

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/25504.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。