了解卷积神经网络如何使用TDA学习
在我之前的文章中,我讨论了如何对卷积神经网络(CNN)学习的权重进行拓扑数据分析,以便深入了解正在学习的内容以及如何学习它。

这项工作的重要性可归纳如下:
它使我们能够了解神经网络如何执行分类任务。
它允许我们观察网络的学习方式
它允许我们看到深层网络中的各个层如何在它们检测到的内容上有所不同
在这篇文章中,我们展示了如何将这种理解用于实际目的。那些是:
如何使用持久同源性的条形码长度来推断CNN的准确性。
我们的研究结果如何从一个数据集推广到下一个数据集。
使用持久同源条形码方法如何定量测量数据集的定性性质。

我们需要回顾上一篇文章中的一些想法。引入的一个想法是使用持久同源作为测量数据形状的工具。在我们的例子中,我们使用持久同源性来测量圆形的大小和强度或“明确定义”。
我们首先回顾一下持久同源性的概念。持久同源性分配给任何数据集并标注“条形码”,它是间隔的集合。在维度=0时,条形码输出反映了数据集分解为集群或组件。
对于更高维度,持久同源性测量除聚类分解之外的几何特征的存在。在dimension=1的情况下,条形码测量数据集中循环的存在。

在左边,条形码包括一个长条和一些更短的条。长条反映了圆的存在,而较短的条反映了噪声。在右边,我们再次有对应于噪音的短杆和两个不同长度的长杆。这些条反映了两个环的存在,条的不同长度对应于环的大小。条形的长度也可以反映出可能被称为循环的“明确定义”的东西。
在左边,我们有一个非常明确的循环及其条形码。在右侧,循环中添加了一些噪声,使得更加分散且定义不太明确。右边最长的条比左边的条长。因此,最长条的长度可以反映环的明确定义。
推断CNN的准确性
实际上是通过条形码中存在一个长条来确认的。我们现在想要了解随着训练的进展,循环形状是如何演变的。
我们通过检查条形码中最长条的长度(可以在训练的任何阶段计算)与训练点的准确度之间的相关性来实现这一点。我们对两个数据集MNIST和第二个房号数据集进行了这些计算,称为SVHN。
跨数据集的推广
第二个发现涉及从一个数据集到另一个数据集的泛化过程。具体来说,我们训练了基于MNIST的CNN,并在应用于SVHN时检查其准确性。我们使用三种不同的方法进行了培训。
测量可变性
第三个发现涉及检查两个数据集的可变性。定性地,我们可以确定SVHN比MNIST具有更多的可变性。反过来,我们希望SVHN提供更丰富的数据集和更精确的权重向量数据集。实际上,SVHN的持续时间间隔明显长于MINST(1.27对1.10)。这从上面进一步证实,所生成的圆模型的“良好定义性”与神经网络的质量之间存在强相关性。
加起来
拓扑分析在这种类型的分析挑战中有用的原因是它提供了一种将复杂数据集压缩为可理解且可能可操作的形式的方法。在这里,与许多其他数据分析问题一样,获得对数据中“频繁出现的图案”的理解至关重要。上述观察结果表明,拓扑分析可用于获得对CNN学习和泛化能力的控制和理解。这些方面还有许多进一步的想法,我们将在以后的文章中讨论。(欢迎转载分享)
了解卷积神经网络如何使用TDA学习的更多相关文章
- 卷积神经网络CNN与深度学习常用框架的介绍与使用
一.神经网络为什么比传统的分类器好 1.传统的分类器有 LR(逻辑斯特回归) 或者 linear SVM ,多用来做线性分割,假如所有的样本可以看做一个个点,如下图,有蓝色的点和绿色的点,传统的分类器 ...
- 卷积神经网络之AlexNet网络模型学习
ImageNet Classification with Deep Convolutional Neural Networks 论文理解 在ImageNet LSVRC-2010上首次使用大型深度卷 ...
- 卷积神经网络之VGG网络模型学习
VGG:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 牛津大学 visual geometry group(VG ...
- 深度学习之卷积神经网络(CNN)学习
1.卷积神经网络中卷积的核心意义是什么?每一组卷集核 权重是一个抽特征的滤波器, 从卷集核的角度抽取特征 2.卷积神经网络很好的特性参数共享机制每一个神经元固定一组a x b x c(图像的通道数) ...
- 卷积神经网络之ResNet网络模型学习
Deep Residual Learning for Image Recognition 微软亚洲研究院的何凯明等人 论文地址 https://arxiv.org/pdf/1512.03385v1.p ...
- 卷积神经网络(CNN)学习算法之----基于LeNet网络的中文验证码识别
由于公司需要进行了中文验证码的图片识别开发,最近一段时间刚忙完上线,好不容易闲下来就继上篇<基于Windows10 x64+visual Studio2013+Python2.7.12环境下的C ...
- 【深度学习与TensorFlow 2.0】卷积神经网络(CNN)
注:在很长一段时间,MNIST数据集都是机器学习界很多分类算法的benchmark.初学深度学习,在这个数据集上训练一个有效的卷积神经网络就相当于学习编程的时候打印出一行“Hello World!”. ...
- SIGAI深度学习第七集 卷积神经网络1
讲授卷积神经网络核心思想.卷积层.池化层.全连接层.网络的训练.反向传播算法.随机梯度下降法.AdaGrad算法.RMSProp算法.AdaDelta算法.Adam算法.迁移学习和fine tune等 ...
- Python机器学习笔记:卷积神经网络最终笔记
这已经是我的第四篇博客学习卷积神经网络了.之前的文章分别是: 1,Keras深度学习之卷积神经网络(CNN),这是开始学习Keras,了解到CNN,其实不懂的还是有点多,当然第一次笔记主要是给自己心中 ...
随机推荐
- jQuery插件simplePagination的使用-踩坑记_03
jQuery插件simplePagination的使用 正在熟悉项目上的代码,新添加了一个需要,需要对表单进行分页,之前的代码中是有分页的代码的,看了老半天,也没看太明白.之前的项目比较久远,继续熟悉 ...
- Understanding RequireJS for Effective JavaScript Module Loading
Modular programming is used to break large applications into smaller blocks of manageable code. Modu ...
- centos php 安装 decrypt
CentOS php Fatal error: Call to undefined function mcrypt_decrypt() // yum安装没有 #yum install libmcryp ...
- Flask框架—flask_sqlalchemy组件使用
一.flask_sqlalchemy组件 我们之前学过SQLAlchemy,一个独立的数据库关系对象映射,其实在flask中也有官方认可的第三方SQLAlchemy组件,用于处理flask中对象关系映 ...
- 011-Spring Boot 运行流程分析SpringApplication.run
一.程序入口 1.1.静态方法 //直接调用run方法 ConfigurableApplicationContext context = SpringApplication.run(App.class ...
- B-/B+树 MySQL索引结构
索引 索引的简介 简单来说,索引是一种数据结构 其目的在于提高查询效率 可以简单理解为“排好序的快速查找结构” 一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在中磁 ...
- Nginx 日志切割(Logrotate)
Logrotate 配置文件 # ls /etc/logrotate.* /etc/logrotate.conf /etc/logrotate.d: cups dracut fmdcn httpd i ...
- C#模块初始化注入
这个功能可以实现很多很有用的功能,比如程序集加密,Hook安装等.英文转载备忘. 原地址:https://www.coengoedegebure.com/module-initializers-i ...
- mysql5.7密码登录的那些坑
mysql5.7密码策略及修改技巧 繁著 关注 2017.08.18 22:41* 字数 522 阅读 10184评论 0喜欢 4 mysql升级5.7版本以后,安全性大幅度上升. MySQL5.7为 ...
- sql exist 和not exist(转载)
exists : 强调的是是否返回结果集,不要求知道返回什么, 比如: select name from student where sex = 'm' and mark exists(select ...