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

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

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 )、采样层(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 神经网络模型各个阶段的拓扑模型


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

4.更高层的权重矩阵

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


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


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

本文由阿里云云栖社区组织翻译。
原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2000万条直播数据,揭秘斗鱼主播生存现状

戳蓝字“CSDN云计算”关注我们哦!2019年7月17日游戏直播平台斗鱼在美国纳斯达克股票交易所成功上市,成为继虎牙直播之后第二家赴美上市的国内直播平台。7月底斗鱼因为平台主播“乔碧萝殿下”事件再次被推上热搜。段子手们纷纷调侃成为主播的门槛之低&…

c语言08,标准C语言08_01.doc

标准C语言08_01选择题以下程序&#xff1a; B#include void main( ){int aa[3][3]{{2},{4},{6}}, i,*p&aa[0][0];//if是数组指针int (*p)//*p存的是一位数组&#xff0c;就是二维数组的第一行for(i0;i<2;i){if(i 0) aa[i][i1]*p1; //*p2; aa[0][1]3;else p; //列地址加一…

最佳实践:使用负载均衡SLB IPv6搞定苹果AppStore审核

摘要&#xff1a; 1.Greetings HI&#xff0c;大家好&#xff0c;我是负载均衡SLB产品经理添毅&#xff0c;今天我们来聊一聊苹果的IPv6审核&#xff0c;以及使用阿里云负载均衡SLB&#xff08;IPv6&#xff09;搞定AppStore IPv6审核。 2.Appstore IPv6审核是什么 由于国外的I…

curl查看swift状态命令_前端应该会的23个linux常用命令

(给前端大学加星标&#xff0c;提升前端技能.)作者:null仔https://segmentfault.com/a/11900000214395601、ls 命令 : 显示目录内容列表Linux ls 命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。ls [-alrtAFR] [name...]常用 options-a 显示所有文件及…

405 宝塔钩子_点击数据库管理,nginx提示出现405 Not Allowed错误,是怎么回事?

许多购买VPS自己建网站的用户都选择使用宝塔面板来安装网站环境&#xff0c;今天给一网友安装网站的时候&#xff0c;宝塔面板添加网站后访问phpmyadmin后台报错&#xff0c;提示“405 not allowed”&#xff0c;分享一下解决办法。什么是405 not allowed&#xff1f;来自mozil…

深度剖析 | 阿里热修复如何精简优化补丁资源?

摘要&#xff1a; 这一年&#xff0c;关于Sophix热修复我们陆续做了很多优化和改进&#xff0c;包括&#xff1a; 兼容最新Android版本至Android P dp3 JIT混合编译的兼容 第三方加固的全面兼容 新增稳健接入方式 三星低版本特殊机型的兼容 补丁工具加速与初始化检查 资源补丁深…

CentOS7.4下载与安装

https://blog.csdn.net/qq_39135287/article/details/83993574

开启企业级市场转型之路 群晖亮出安全“杀手锏”

戳蓝字“CSDN云计算”关注我们哦&#xff01;数据犹如企业经营者的眼睛&#xff0c;通过数据可以反映出很多经营中的问题。随着大数据应用日益渗透到各行各业中&#xff0c;数据所蕴含着的巨大商业价值也逐渐被发掘&#xff0c;通过挖掘分析与管理&#xff0c;释放更大的价值&a…

c语言空格键么 有什么意义,C语言里这个空格键跟'\0'到底啥区别啊?

满意答案为CS而liven2019.11.24采纳率&#xff1a;57% 等级&#xff1a;7已帮助&#xff1a;60人空格是空格&#xff0c;结束符0是结束符0&#xff0c;两者不对等。你贴的那个图是不是讲的scanf输入&#xff0c;scanf这个函数默认是将空格作为分割符号&#xff0c;所以你输入…

为什么做技术 PM 这么难?

摘要&#xff1a; 什么样的PM&#xff08;项目经理&#xff09;是真正专业且优秀的&#xff1f;这是相对棘手的问题。因为PM们平时看上去更多的就是组织、沟通、协调&#xff0c;预定会议、组织聚餐、项目周报等杂活&#xff0c;但是这显然是片面的。PM自己作为参与评审的其他角…

运放电路的工作原理_图文讲解!教你看懂7款经典运放电路

引言运放的基本分析方法&#xff1a;虚断&#xff0c;虚短。对于不熟悉的运放应用电路&#xff0c;就使用该基本分析方法。运放是用途广泛的器件&#xff0c;接入适当的反馈网络&#xff0c;可用作精密的交流和直流放大器、有源滤波器、振荡器及电压比较器。1、运放在有源滤波中…

proxy vue 第二个配置404_vue proxyTable配置,浏览器为什么报错404?

通过配置peoxyTable实现跨域&#xff0c;但是浏览器报了404的错误proxyTable的配置dev: {env: require(./dev.env),autoOpenBrowser: true,assetsSubDirectory: static,assetsPublicPath: /,proxyTable: {/api: {target: http://172.16.2.207:8765,changeOrigin: true,pathRewr…

自底向上——知识图谱构建技术初探

摘要&#xff1a; 知识图谱&#xff0c;是结构化的语义知识库&#xff0c;用于迅速描述物理世界中的概念及其相互关系&#xff0c;通过将数据粒度从document级别降到data级别&#xff0c;聚合大量知识&#xff0c;从而实现知识的快速响应和推理。文/阿里安全 染青“The world i…

如何关闭rabbitmq

rabbitmqctl stop方式2 先用ps -ef|grep rabbitmq 查询出进程号&#xff0c;然后用kill -9 进程号&#xff0c;杀死进程RabbitMQ常用命令 说明命令启用Web控制台rabbitmq-plugins enable rabbitmq_management开启服务systemctl start rabbitmq-server.service停止服务system…

全国信息联赛c语言,信息学竞赛之编程规则

本规定适用于NOI系列的各项全国性竞赛。NOI其它规章、规则中所有与本规定不符之处&#xff0c;均以本规定为准。不遵守本规定所造成的不良后果由选手本人承担。评测环境与竞赛环境相同。编程通则1&#xff0e;对于每一道试题&#xff0c;选手只应提交一个源程序文件。源程序文件…

AWS在深圳成立大中华区第二个物联网实验室

2019年9月27日&#xff0c;深圳&#xff0c;AWS今天宣布&#xff0c;将在深圳建立大中华区第二个物联网实验室。该实验室旨在提供经过认证的、由APN合作伙伴构建的硬件和软件解决方案&#xff0c;帮助客户加速物联网应用程序的设计和部署。今年3月7日&#xff0c;AWS在大中华区…

正在播放2020Me比较特别的我_蓝牙耳放还是播放器,工作的人当然是都买之第二番 飞傲M5分享...

前言之说好的都买呢在4月份在入了BTR1后&#xff0c;研究下一个蓝牙耳放时&#xff0c;网上有人推荐过山灵m0&#xff0c;不过当时BTR3正在做活动&#xff0c;并且作为一个耳放来说BTR3更为纯粹&#xff0c;最后还是先入手BTR3并暂缓了m0的购置&#xff0c;在玩腻了BTR3后&…

虚拟机开机出现dracut_用U盘装CentOS 7出现dracut:/#问题的解决办法

先说一说出现问题的具体情况:制作完U盘启动盘后&#xff0c;开机按热键进入bios&#xff0c;设置从U盘启动&#xff0c;以后logo一闪而过&#xff0c;出现两个选项&#xff0c;选择Install CentOS Linux 7进行安装。然后&#xff0c;黑色的屏幕出现一堆白色字符后&#xff0c;在…

支撑全网70%世界杯流量 盘点世界杯直播背后的阿里云黑科技

摘要&#xff1a; 上周六晚间的法阿大战精彩纷呈&#xff0c;开场11分钟法国队就首开纪录&#xff0c;随后阿根廷强势逆袭连扳2球&#xff0c;但下半场法国队的年龄优势凸显&#xff0c;帕瓦尔世界波以及姆巴佩梅开二度最终让阿根廷止步16强&#xff0c;梅西再度饮恨世界杯。 这…