了解卷积神经网络如何使用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,其实不懂的还是有点多,当然第一次笔记主要是给自己心中 ...
随机推荐
- VMware Workstation 14 Pro安装教程(详细)
VMware Workstation 14 Pro安装教程(详细) 话不多说,直接上图,需要的拿走. 下载地址:https://download3.vmware.com/software/wkst/f ...
- 高通Camera驱动分析【转】
本文转载自:http://blog.csdn.net/liwei16611/article/details/53955711 1.Sensor slave配置 结构体msm_camera_sensor ...
- 邻近双线性插值图像缩放的Python实现
最近在查找有关图像缩放之类的算法,因工作中需要用到诸如此类的图像处理算法就在网上了解了一下相关算法,以及其原理,并用Python实现,且亲自验证过,在次与大家分享. 声明:本文代码示例针对的是plan ...
- Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包
Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包. 18 (flaskApi) [root@67 flaskDemo]# yum -y install n ...
- 像计算机科学家一样思考python-第3章 函数
在程序设计中,函数是指用于进行某种计算的一系列语句的有名称的组合.定义一个函数时,需要指定函数的名称并写下一系列程序语句.之后,就可以使用名称来“调用”这个函数 3.1函数调用 一个函数调用的例子 & ...
- python上下文管理,with语句
今天在网上看到一段代码,其中使用了with seam:初见不解其意,遂查询资料. 代码: #! /usr/bin/env python # -*- coding:utf-8 -*- import ti ...
- IncSecond:将一个TDateTime变量加减一定数量的秒数
http://tieba.baidu.com/p/1998083296 IncSecond:将一个TDateTime变量加减一定数量的秒数 声明:function IncSecond ( const ...
- javaweb学习总结(十)——HttpServletRequest对象(一) https://www.cnblogs.com/xdp-gacl/p/3798347.html
一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...
- uni-app-在开启小程序在微信开发工具打开时,打开失败,解决方法:手动打开
这是我自学ui-app的第一张记录内容,问题都是我在实际开发中遇到的问题 1.微信开发工具打开失败,提示是: 接着我的流程就是打开上面提到的链接,进入页面:https://developers.wei ...
- 你还没有真正理解的innodb_flush_log_at_trx_commit
关于innodb_flush_log_at_trx_commit的描述,看了mysql手册中的解释,感觉都不够清晰明了,下面试图以最简单直白的方式解释一下innodb_flush_log_at_trx ...