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

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

1.简介

       神经网络在各种数据方面处理上已经取得了很大的成功,包括图像、文本、时间序列等。然而,学术界或工业界都面临的一个问题是,不能以任何细节来理解其工作的过程,只能通过实验来检测其效果,而无法做出合理的解释。相关问题是对特定数据集经常存在某种过拟合现象,这会导致对抗行为的可能性。出于这些原因,开发用于发展对神经网络的内部状态的一些理解的方法是非常值得尝试的。由于网络中神经元的数量非常庞大,这成为使得对其进行数据分析显得比较困难,尤其是对于无监督数据分析。
       在这篇文章中,将讨论如何使用拓扑数据分析来深入了解卷积神经网络(CNN)的工作过程。本文所举示例完全来自对图像数据集进行训练的网络,但我们确信拓扑建模可以很容易地解释许多其他领域卷积网络的工作过程。
       首先,对于神经网络而言,一般是由节点和有向边组成。一些节点被指定为输入节点,其他节点被指定为输出节点,其余节点被指定为内部节点。输入节点是数据集的特征。例如,在处理图像时,输入节点将是特定图像格式的像素。在文本分析时,它又可能是单词。假设给定一个数据集和一个分类问题,比如手写数字MNIST数据集,试图将每个图像分类为数字0到9中的某一个数字。网络的每个节点对应于一个变量值(激活值)。因此,每个数据点为神经网络中的每个内部和输出节点生成值。网络每个节点的值由分配给每个边的权重系统决定。节点节点Z上的值由与之连接的节点A,B,C,D节点的激活函数来确定。

1
图1 神经网络节点示例


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

$$ (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 )、采样层(Pooling layer)以及全连接层(fully-connected)组成,其中卷积层主要是用于提取图像特征,采样层用于降低特征的维度,全连接层用于最后的分类目的,随着层与层之间的处理,特征图会变得越来越小,从图中也可以看见这种现象:

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


       为了理解卷积神经网络的潜在行为,需要对权重矩阵进行了解。假设一个数据集,其中每个数据点是与隐藏层中的神经元相关联的权重矩阵。从固定层的所有网格中收集数据,并在同一网络模型对同一数据集进行许多次的训练。最后,对权重矩阵进行拓扑数据分析。
       通过对权重矩阵执行TDA,我们首次了解了卷积神经网络的行为,独立证明卷积神经网络完全地表示自然图像中发生的潜在分布,这是如何完成的呢?
       首先,需要从拓扑角度找到有用的结构。为了实现这个目标,只考虑密度足够高的点。首先看一下两层卷积神经网络中的第一个卷积层,它产生图3所示的拓扑模型。

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


       从图中可以看到,该模型是循环的。右侧显示的条形码为持久性同源条形码,它们是拓扑形状的签名,表明数据集实际具有这种形状,并且它不是使用 Mapper构建模型的构建。通过用相应权重矩阵的平均值标记部分模型,图像中也显示了对形状的解释。此外,这个模型的有趣之处在于 灰度自然图像中统计3×3图像块的研究中发现的内容与在所谓的初级视觉皮层中发现的内容完全一致。
       更简单地说,拓扑模型以这样一种方式描述CNN,即可以独立地确认它与人类看待世界的方式相匹配,并与自然图像的密度分析相匹配。
       图3中的分析是在 MNIST数据集上进行的,对 CIFAR 10数据集上执行的相关分析获得下图:

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


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

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

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

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


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

4.更高层的权重矩阵

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

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


       注意到,第二层和第三层显然非常类似于在MNIST数据集上训练的模型中获得的圆形模型。第四层有一个圆形模型,但也包含一些背景中的一些线条。然而,在更高层次上,开发出了非常有趣的模式,包括线条交叉和“牛眼”。
       从这些拓扑模型可以发现,卷积神经网络不仅模仿真实世界数据集的分布,而且还能够模拟哺乳动物视觉皮层的发展。
       虽然卷积神经网络像一个黑匣子一样让人难以理解,但拓扑数据分析提供了一种在宏观尺度上理解神经网络中计算是如何被执行的方法。虽然这项工作适用于图像数据集,但使用拓扑数据分析来解释其他领域神经网络的计算同样也适用。
        通过将大量状态压缩成更小更易理解的模型,拓扑数据分析可用于理解宽范围神经网络的行为和功能

数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

作者信息

Gunnar Carlsson,机器学习研究者
个人主页:https://www.linkedin.com/in/gunnar-carlsson-17b3727/
本文由阿里云云栖社区组织翻译。
文章原标题《Using Topological Data Analysis to Understand the Behavior of Convolutional Neural Networks》,译者:海棠,审校:Uncle_LLD。
文章为简译,更为详细的内容,请查看原文

相关文章
|
2天前
|
机器学习/深度学习 算法 数据挖掘
从零到精通:Scikit-learn在手,数据分析与机器学习模型评估不再难!
【7月更文挑战第25天】在数据科学中,模型评估是理解模型泛化能力的关键。对新手来说,众多评估指标可能令人困惑,但Scikit-learn简化了这一过程。
11 2
|
3天前
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv8改进- Backbone主干】BoTNet:基于Transformer,结合自注意力机制和卷积神经网络的骨干网络
【YOLOv8改进- Backbone主干】BoTNet:基于Transformer,结合自注意力机制和卷积神经网络的骨干网络
|
2天前
|
机器学习/深度学习
综合建模中的模型网络主要包括哪几个部分
综合建模中的模型网络主要包括哪几个部分
|
3天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于CNN卷积神经网络的MQAM调制识别matlab仿真
**理论**: 利用CNN自动识别MQAM调制信号,通过学习星座图特征区分16QAM, 64QAM等。CNN从原始数据提取高级特征,优于传统方法。 - **CNN结构**: 自动特征学习机制,适配多种MQAM类型。 - **优化**: 损失函数指导网络参数调整,提升识别准确度。 - **流程**: 大量样本训练+独立测试评估,确保模型泛化能力。 - **展望**: CNN强化无线通信信号处理,未来应用前景广阔。
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
59 9
|
8天前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进- Backbone主干】YOLOv8更换主干网络之ConvNexts,纯卷积神经网络,更快更准,,降低参数量!
YOLOv8专栏探讨了针对目标检测的ConvNet创新,提出ConvNeXt模型,它挑战Transformer在视觉任务中的主导地位。ConvNeXt通过增大卷积核、使用GeLU激活、切换到LayerNorm和改进下采样层,提升了纯ConvNet性能,达到与Transformer相当的准确率和效率。论文和代码已公开。
|
8天前
|
计算机视觉 网络架构
【YOLOv8改进 - 卷积Conv】DWRSeg:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
YOLO目标检测专栏探讨了YOLO的创新改进,如多尺度特征提取的DWRSeg网络。该网络通过区域残差化和语义残差化提升效率,使用DWR和SIR模块优化高层和低层特征。DWRSeg在Cityscapes和CamVid数据集上表现优秀,速度与准确性兼备。论文和代码已公开。核心代码展示了一个包含DWR模块的卷积层。更多配置详情见相关链接。
|
8天前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLOv8改进- Backbone主干】YOLOv8 更换主干网络之 PP-LCNet,轻量级CPU卷积神经网络,降低参数量
YOLO目标检测专栏介绍了PP-LCNet,一种基于MKLDNN加速的轻量级CPU网络,提升了模型在多任务中的性能。PP-LCNet利用H-Swish、大核卷积、SE模块和全局平均池化后的全连接层,实现低延迟下的高准确性。代码和预训练模型可在PaddlePaddle的PaddleClas找到。文章提供了网络结构、核心代码及性能提升的详细信息。更多实战案例和YOLO改进见相关链接。
|
14天前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
|
8天前
|
机器学习/深度学习 编解码 TensorFlow
【YOLOv8改进- Backbone主干】YOLOv8 更换主干网络之EfficientNet,高效的卷积神经网络,降低参数量
YOLOv8专栏探讨了目标检测的创新改进,包括模型扩展和神经架构搜索。提出的新方法使用复合系数平衡网络的深度、宽度和分辨率,产生了EfficientNets系列,其在准确性和效率上超越了先前的ConvNets。EfficientNet-B7在ImageNet上达到84.3%的顶级准确率,同时保持较小的模型大小和更快的推理速度。文章提供了论文和代码链接,以及核心的EfficientNet模型构建Python代码。