卷积神经网络

十种卷积神经网络(CNN)框架的详细可视化分析 &迁移神经网络的实际使用(基于Keras)

本小妞迷上赌 提交于 2020-03-08 20:18:21
目录 1. 典型深度学习框架 1.1 概述 1.2 可视化解读十种CNN框架 1.2.1 LeNet-5(1998) 1.2.2 AlexNet(2012) 1.2.3 VGG16(2014) 1.2.4 Inception-v1(2014) 1.2.5 Inception-v3(2015) 2. 深度迁移学习攻略 应对过拟合 数据增强 十种卷积神经网络框架 1. 典型深度学习框架 1.1 概述 论文发表时间: Keras 可以使用的6种模型 现在已经不止6种: Keras Documentation “[m]ost of this progress is not just the result of more powerful hardware, larger datasets and bigger models, but mainly a consequence of new ideas, algorithms and improved network architectures.” (Szegedy et al, 2014) 1.2 可视化解读十种CNN框架 1.2.1 LeNet-5(1998) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308172729411.png?x-oss-process=image

10分钟看懂全卷积神经网络(FCN):语义分割深度模型先驱

雨燕双飞 提交于 2020-03-07 18:48:26
语义分割 简单地说,分割就是抠图。语义分割,就是按图像中物体表达的含义进行抠图。 现在ps已经集成很多自动分割的功能,相比旧版本软件,新软件提高了美工人员的抠图和美图的效率。 如果我们能在更复杂的环境下,完成自动分割图像进行分析,这将降低多少人工?这类场景我们很熟悉,比如现在快速发展的自动驾驶。 摄像头采集到车前景象,通过模型分析,我们可以自动筛选出地面、交通线、人行道、行人、建筑、树、还有其他基础设施。 相比传统的目标识别,语义分割它更强大。语义分割模型不仅可以识别简单的类别,而且还可以进行多目标、多类别、复杂目标以及分割目标。 比如图中我们可以看到路面和交通标识线有清晰的分割,路面和人行道也同样如此,甚至路灯和建筑也可以清楚地分离出来。 这项技术在医学上也同样作用巨大,我们可以识别病灶并将其与正常组织分割,大脑神经系统内我们可以分离出同一组功能的神经结构,这些如何依赖人工去完成,所需的时间至少为数小时,而交给机器,那么数秒钟即可完成。 因此依靠分离模型,我们可以把重复性的劳动交给它去完成,人工只需要对输出结果进行二次分析和筛选,大大加快了提取过程和分析精度。 通过上面的介绍和例子,我们可以总结下优秀的语义分割摸应该具有的几个特性: 分割出来的不同语义区域对某种性质如灰度、纹理而言具有相似性,区域内部比较平整相邻语义区域对分割所依据的性质有明显的差异

基于tensorflow-神经网络tensorboard

吃可爱长大的小学妹 提交于 2020-03-07 18:28:53
tensorboard是tensorflow自带的一个强大的可视化工具,使用tensorboard可以帮助我们构建模型,可视化”也叫做数据可视化。是关于数据之视觉表现形式的研究。这种数据的视觉表现形式被定义为一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量。数据进行摘要(summary)与处理,其次运行代码,可以生成了一个或多个事件文件(event files),最后启动TensorBoard的Web服务器。 这次是用上一次卷积神经网络的代码,对卷积神经网络进行可视化: 导入相关库与数据集: import tensorflow as tf from tensorflow . examples . tutorials . mnist import input_data 参数设置与构建模型 mnist = input_data . read_data_sets ( "MNIST_data" , one_hot = True ) #批次大小 batch_size = 100 #计算一共有多少个批次 n_batch = mnist . train . num_examples // batch_size #初始化权值 def weight_variable ( shape , name ) : initial = tf . truncated_normal ( shape

《GhostNet: More Features from Cheap Operations》笔记

拜拜、爱过 提交于 2020-03-06 19:38:19
GhostNet Introduction GhostNet是从模型设计方面精简卷积神经网络模型。 Motivation 卷积神经网络模型得到的特征中有许多特征是冗余的。比如下图是ResNet-50的第一个残差块得到的特征图,红色、绿色和蓝色框的特征图表现出非常高的相似性。同颜色的下一个特征图就像是上一个特征图的 镜像 (ghost)。而这些相似度高的特征图是由不同的卷积核参数计算得到的。作者的想法是,既然这些特征图相似,我们可以通过卷积只得到部分的特征图,再由得到的特征图经过简单的变换得到其他相似的特征图。这样做既可以减少卷积核,减少模型的参数量,也可以减少模型的运算量。 Approach Ghost Module 作者提出的镜像模块是基于卷积操作的。如同上面所说的,作者把原来的卷积层分成两步。第一步是卷积,只是输出的通道数减少了。假设原来的通道数是 n n n ,现在的通道数是 m ( m ≤ n ) m (m \le n) m ( m ≤ n ) ,得到的特征图用 Y ′ Y' Y ′ 表示。 第二步,用 Y ′ Y' Y ′ 生成其他特征图: y i j = Φ i , j ( y i ′ ) , ∀ i = 1 , ⋯   , m , j = 1 , ⋯   , s y_{ij} = \Phi_{i,j}(y'_i), \forall i = 1,\cdots,m, j

卷积神经网络(三):权值初始化方法之Xavier与MSRA

為{幸葍}努か 提交于 2020-03-05 20:25:03
基础知识 首先介绍一下Xavier等初始化方法比直接用高斯分布进行初始化W的优势所在: 一般的神经网络在前向传播时神经元输出值的方差会不断增大,而使用Xavier等方法理论上可以保证每层神经元输入输出方差一致。 这里先介绍一个方差相乘的公式,以便理解Xavier: Xavier 现在我们先来分析一层卷积: 其中ni表示输入个数。 根据概率统计知识我们有下面的方差公式: 特别的,当我们假设输入和权重都是0均值时(目前有了BN之后,这一点也较容易满足),上式可以简化为: 进一步假设输入x和权重w独立同分布,则有: 于是,为了保证 输入与输出方差一致 ,则应该有: 为什么要保证输入和输出的方差一致:如果不一致,则会造成方差越来越大(vary(y)>var(x)),或是越来越小(var(y) 为了保证前向传播和反向传播时每一层的方差一致,应 但是,实际当中输入与输出的个数往往不相等,于是为了均衡考量, 最终我们的权重方差应满足 : ——————————————————————————————————————— ——————————————————————————————————————— 学过概率统计的都知道 [a,b] 间的均匀分布的方差为: 因此, Xavier 初始化的实现就是下面的均匀分布 ——————————————————————————————————————————

cnn提取基本特征的例子

感情迁移 提交于 2020-03-05 18:14:10
<div class="text-title"> <h1> 原来CNN是这样提取图像特征的。。。 <span class="article-tag"> </span> </h1> <div class="article-info"> <span class="time" id="news-time" data-val="1542969000000">2018-11-23 18:30</span> <span data-role="original-link">来源:<a href="https://www.sohu.com/?spm=smpc.content.content.1.1583387992313onUFvkL" target="_blank" data-spm-data="1">计算机视觉life</a></span> </div> 原标题:原来CNN是这样提取图像特征的。。。 阅读本文8分钟就够了吧? 对于即将到来的人工智能时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的领域,会不会感觉马上就out了?作为机器学习的一个分支,深度学习同样需要计算机获得强大的学习能力,那么问题来了,我们究竟要计算机学习什么东西?答案当然是图像特征了。将一张图像看做是一个个像素值组成的矩阵,那么对图像的分析就是对矩阵的数字进行分析,而图像的特征

卷积神经网络的七条核心知识

只谈情不闲聊 提交于 2020-03-05 16:25:31
卷积神经网络由哪几部分组成 ?卷积神经网络在视觉上具有较大的应用,卷积神经网络分为卷积层、池化层和全连接层。 什么是卷积核,卷积核的作用是什么 ?其中卷积核是一种数字矩阵,不同的卷积核用来提取特征,不同的卷积核可以提取不同的特征,位于不同深度的卷积核提取的也不同。正是因为卷积核再图像内滑动提取特征的性质,一整张图像使用一个卷积核,使得卷积神经网络具有参数共享的特性,也就减少了计算量。 什么是卷积层?不同卷积层的作用是什么 ?标准神经网络的每层执行的是激活函数的输入输出操作,卷积神经网络的每层卷积层是执行卷积操作。一般来说卷积层的第一层可以提取不同方向的纹理,第二层可以提取颜色等信息,更深层次的神经网络可以提取不同性质的组合状态。 怎样解决卷积的过程中会使图像变小问题 ?可以通过padding的方法先扩充图像再卷积,这样使得输出图像大小保持不变。padding方法还可以解决卷积过程中边缘像素卷积次数少的问题。 什么是池化层?池化层的作用是什么 ?池化层在卷积层后面,可以使卷积后的特征得到强化。池化层分为两种,max pooling和average pooling,池化层的作用是将明显的特征进一步提取。 什么是全连接层 ?全连接层是卷积神经网络最后的部分,通常是全连接神经网络的结构,起到分类的作用。全连接层通常连接softmax分类器用来分类。 经典的卷积神经网络模型有哪些

卷积神经网络:卷积层和池化层

橙三吉。 提交于 2020-03-05 14:23:49
Mnist是针对小图像块处理的,这篇讲的是针对大图像进行处理的。两者在这的区别还是很明显的,小图像(如8*8,MINIST的28*28)可以采用全连接的方式(即输入层和隐含层直接相连)。但是大图像,这个将会变得很耗时:比如96*96的图像,若采用全连接方式,需要96*96个输入单元,然后如果要训练100个特征,只这一层就需要96*96*100个参数(W,b),训练时间将是前面的几百或者上万倍。所以这里用到了部分联通网络。对于图像来说,每个隐含单元仅仅连接输入图像的一小片相邻区域。 卷积层:   自然图像有其固有特性,也就是说,图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。   对于图像,当从一个大尺寸图像中随机选取一小块,比如说8x8作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个8x8样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,我们可以用从8x8样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。   看下面例子容易理解:   假设你已经从一个96x96的图像中学习到了它的一个8x8的样本所具有的特征,假设这是由有100个隐含单元的自编码完成的。为了得到卷积特征

小白也能入门的深度学习

不羁的心 提交于 2020-03-05 09:50:25
卷积神经网络是近年来深度学习能在计算机视觉领域取得突破性成果的基石。它也逐渐在被其他诸如自然语言处理、推荐系统和语音识别等领域广泛使用。 一、卷积神经网络简介 卷积神经网络的结构:卷积层、池化层、全连接层。全连接层通常作为网络的最后几层,其中的每个神经元都与上层中的所有神经元相连,所以称之为全连接层。全连接层之前是若干对卷积层与池化层,卷积层与池化层一一对应,且卷积层在前,池化层在后。本质上卷积层与池化层作用是将原始的数据中的特征进行抽象,全连接层则利用这些抽象出来的特征对样本数据进行分类,并未样本打上标签。 卷积层与池化层是卷积神经网络的核心部分。 卷积层:由若干特征图构成,特征图由卷积核对输入数据卷积后得到,卷积核可被看做是一种对特定特征非常敏感的探测器。卷积核对输入数据卷积的过程就是,实际就是尝试发现输入数据中某个特征的过程。特征图会记录卷积核在原输入数据不同部分的激活程度(特征越契合,激活程度越高)。每个卷积核负责识别一种特定特征,卷积后将产生一张对应该特征的特征图,卷积层通常由若干个卷积核与之对应。 池化层的价值在于缩减输入数据的规模,比如将特征图中若干个激活值合并为新特征图中的一个激活值。合并方法很多,比如最大值合并、平均值合并和随机合并,采用何种方法根据业务来定。 二、卷积层 卷积核的宽和高,以及卷积核的个数由人工预定义得到。卷积核对什么特征敏感

第三节,CNN案例-mnist手写数字识别

无人久伴 提交于 2020-03-04 15:53:43
卷积:神经网络不再是对每个像素做处理,而是对一小块区域的处理,这种做法加强了图像信息的连续性,使得神经网络看到的是一个图像,而非一个点,同时也加深了神经网络对图像的理解,卷积神经网络有一个批量过滤器,通过重复的收集图像的信息,每次收集的信息都是小块像素区域的信息,将信息整理,先得到边缘信息,再用边缘信息总结从更高层的信息结构,得到部分轮廓信息,最后得到完整的图像信息特征,最后将特征输入全连接层进行分类,得到分类结果。 卷积: 经过卷积以后,变为高度更高,长和宽更小的图像,进行多次卷积,就会获得深层特征。 1)256*256的输入(RGB为图像深度) 2)不断的利用卷积提取特征,压缩长和宽,增大深度,也就是深层信息越多。 3)分类 池化: 提高鲁棒性。 搭建简单的卷积神经网络进行mnist手写数字识别 网络模型: 两个卷积层,两个全连接层 输入[sample*28*28*1](灰度图) [ 28 * 28 *1 ] --> (32个卷积核,每个大小5*5*1,sample方式卷积) --> [ 28 * 28 * 32] --> (池化 2*2 ,步长2)--> [14 *14 *32] [ 14 * 14 *32] --> (64个卷积核,每个大小 5 * 5 * 32,sample方式卷积) --> [14 * 14 *64] --> (池化 2*2 ,步长2)--> [7 *