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)层节点之间存在连接。不同于一般的神经网络,典型的卷积神经网络由卷积层、采样层(Poolinglayer)和全连接层(fully-connected)组成,其中卷积层主要用于提取图像特征,采样层用于降低特征的维度,全连接层用于最终的分类目的。随着层与层之间的处理,featuremap会越来越小,从图中也可以看出现象:图2卷积神经网络的典型结构为了理解卷积神经网络的潜在行为,有必要了解权重矩阵。考虑一个数据集,其中每个数据点都是与隐藏层中的神经元相关联的权重矩阵。从固定层中的所有网格收集数据,并在同一数据集上多次训练同一网络模型。***、对权重矩阵进行拓扑数据分析。通过对权重矩阵执行TDA,我们首先了解了卷积神经网络的行为,并独立证明了卷积神经网络完全代表了自然图像中出现的潜在分布。这是怎么做到的?首先,需要在拓扑上找到有用的结构。为了实现这个目标,只考虑具有足够高密度的点。首先看一个两层卷积神经网络中的第一个卷积层,它产生的拓扑模型如图3所示。图3TDAMapper模型根据滤波器的密度着色从图中可以看出,该模型是循环的。右侧显示的条形码是持久同源条形码,是拓扑形状的标志,表明数据集实际上具有该形状,而不是使用Mapper构建的模型的构造。形状的解释也显示在图像中,通过用相应权重矩阵的平均值标记模型的一部分。此外,该模型的有趣之处在于,在灰度自然图像中统计3×3块的研究中发现的内容与在所谓的初级视觉皮层中发现的内容完全一致。更简单地说,拓扑模型以这样一种方式来描述CNN,即可以独立确认它与人类看待世界的方式相匹配,并具有对自然图像的密度分析。图3中的分析是在MNIST数据集上进行的,在CIFAR10数据集上进行的相关性分析得到下图:图4CIFAR10数据集的额外复杂性显示在水平和垂直线上。分析了第一个卷积层,模型包含区域中间和边缘的线。观察到这些线块的神经元也存在于哺乳动物的初级视觉皮层中,为我们提供了与视觉相关的质量方面的定量视角。3.理解训练过程中权重是如何变化的从上面的发现中,我们可以看到使用TDA,卷积神经网络可以模拟自然图像中数据集的分布,从而将我们的注意力转移到研究学习过程中发生的事情上。图5是在CIFAR10数据集上计算卷积神经网络第一层和第二层的拓扑模型,然后展示模型在不同学习迭代次数下的第一层和第二层得到的。图5神经网络模型各阶段的拓扑模型给模型上色,得到模型处理的信息。颜色反映了节点中数据点的数量,所以红色部分可以看作是实际的模型,其余部分包含稀有权重矩阵。图像中的第一行反映了第一层的信息,观察到优化算法经过400和500次迭代后很快找到了上述圆形模型。然而,随着迭代的进行,圆圈变得越来越复杂,其中包含了水平和垂直面片对应的面片,迭代1000次后,模型的中心变得更加复杂。另一方面,对于第二层,在第一轮迭代中可以看到只有一个弱图案,但在2000次迭代之后,它似乎有一个明确的圆形图案。我们假设第二层已经“接管”了第一层,第一层已经转移到捕获更复杂的补丁,这是未来潜在研究的一个领域。这也证明了使用拓扑数据分析来监控和洞察神经网络学习过程的能力。4.更高层的权重矩阵这种方法也适用于更深层的网络,其组织方式类似于人类或灵长类动物视觉通路的组织方式。据了解,这条通路有很多组成部分,包括视网膜,以及各种更高的组成部分。初级视觉皮层充当边缘和线检测器,更高的组件用于检测更复杂的形状,这些形状更抽象。下图是已经训练好的VGG16网络中各层的研究结果。这里展示了第2到第13个卷积层的拓扑数据分析,并给出了相应的拓扑模型。图6.以拓扑数据分析为代表的13层神经网络。请注意,第二层和第三层显然与在MNIST数据集上训练的模型中获得的圆形模型非常相似。第四层有一个圆形模型,但在背景中也包含一些线条。然而,在更高层次上,开发了非常有趣的模式,包括线交叉和“牛眼”。从这些拓扑模型中可以发现,卷积神经网络不仅可以模拟真实世界数据集的分布,还可以模拟哺乳动物视觉皮层的发育。虽然卷积神经网络像黑盒子一样难以捉摸,但拓扑数据分析提供了一种了解神经网络如何在宏观尺度上执行计算的方法。虽然这项工作适用于图像数据集,但使用拓扑数据分析来解释其他领域的神经网络计算同样适用。通过将大量状态压缩为更小、更易于理解的模型,拓扑数据分析可用于理解各种神经网络的行为和功能。机器学习研究员GunnarCarlsson
