精华内容
下载资源
问答
  • 几种常见卷积神经网络结构

    千次阅读 2020-08-25 17:03:56
    卷积神经网络 图像特征的提取与分类一直是计算机视觉领域的一个基础而重要的研究方向。卷积神经网络( Convolutional NeuralNetwork,CNN) 提供了一种端到端的学习模型,模型中的参数可以通过传统的梯度下降方法进行...

    卷积神经网络

    图像特征的提取与分类一直是计算机视觉领域的一个基础而重要的研究方向。卷积神经网络( Convolutional Neural Network,CNN) 提供了一种端到端的学习模型,模型中的参数可以通过传统的梯度下降方法进行训练,经过训练的卷积神经网络能够学习到图像中的特征,并且完成对图像特征的提取和分类。作为神经网络领域的一个重要研究分支,卷积神经网络的特点在于其每一层的特征都由上一层的局部区域通过共享权值的卷积核激励得到。这一特点使得卷积神经网络相比于其他神经网络方法更适合应用于图像特征的学习与表达。

    早期的卷积神经网络结构相对简单,如经典的Le Net-5 模型,主要应用在手写字符别、图像分类等一些相对单一的计算机视觉应用领域中。随着研究的不断深入,卷积神经网络的结构不断优化,其应用领域也逐渐得到延伸。例如,卷积神经网络与深信度网络( Deep Belief Network,DBN)相结合产生的卷积深信度网 络( Convolutional Deep Belief Network,CDBN)作为一种非监督的生成模型,在人脸特征提取得到广泛应用;Alex Net在海量图像分类领域取得了突破性的成果;基于区域特征提取的 R-CNN( Regions with CNN)在目标检测领域取得了成 功;全卷积网络( Fully Convolutional Network,FCN)]实现了端到端的图像语义分割,并且在准确率上大幅超越了传统的语义分割算法。近年来,卷积神经网络的结构研究仍然有着很高的热度,一些具有优秀性能的网络结构不断被提出。

    • 卷积神经网络的基本结构

    CNN的基本结构由输入层、卷积层(convolutional layer)、 池 化 层 (pooling layer)、全连接层及输出层构成。卷积层和池化层一般会取若干个,采用卷积层和池化层交替连接,即一个卷积层连接一个池化层,池化层后再连接一个卷积层,依此类推。由于卷积层中输出特征面的每个神经元与其输入进行局部连接 并通过对应的连接权值与局部输入进行加权求和再加上偏置值,得到该神经元输入值,该过程类似于卷积过程,CNN也由此而得名。

    在卷积神经网络中,输入图像通过多个卷积层和池化层进行特征提取,逐步由低层特征变为高层特征;高层特征再经过全连接层和输出层进行特征分类,产生一维向量,表示当前输入图像的类别。因此,根据每层的功能,卷积神经网络可以划分为两个部分: 由输入层、卷积层和池化层构成特征提取器,以及由全连接层和输出层构成分类器,结构如下图1所示。

    • 卷积神经网络的工作原理

    卷积神经网络的工作原理可以分为网络模型定义、网络训练以及网络的预测三个部分:

    1) 网络模型定义

    网络模型的定义需要根据具体应用的数据量以及数据本身的特点,设计网络深度、网络每一层的功能,以及设定网络中的超参数,如: λ、η 等。针对卷积神经网络的模型设计有不少的研究,比如模型深度方面、卷积的步长方面、激励函数方面等。此外,针对网络中的超参数选择,也存在一些有效的经验总结。但是,目前针对网络模型理论分析和量化研究相对还比较匮乏。

    2) 网络训练

    卷积神经网络可以通过残差的反向传播对网络中的参数进行训练。但是,网络训练中的过拟合以及梯度的消逝与爆炸等问题极大影响了训练的收敛性能。针对网络训练的问题,研究者们提出了一些改善方法。例如:可以使用高斯分布的随机初始化网络参数;利用经过预训练的网络参数进行初始化;对卷积神经网络不同层的参数进行相互独立同分布的初始化。根据近期的研究趋势,卷积神经网络的模型规模正在迅速增大,而更加复杂的网络模型也对相应的训练策略提出了更高的要求。

    3) 网络的推断预测

    卷积神经网络的预测过程就是通过对输入数据进行前向传导,在各个层次上输出特征图,最后利用全连接网络输出基于输入数据的条件概率分布的过程。近期的研究表明,经过前向传导的卷积神经网络高层特征具有很强的判别能力和泛化性能。这一研究成果对于扩展卷积神经网络的应用领域具有重要的意义。

    • 卷积神经网络的模型结构

    Lecun 等提出的 Le Net-5 模型采用了交替连接的卷积层和下采样层对输入图像进行前向传导,并且最终通过全连接层输出概率分布。这种结构是当前普遍采用的卷积神经网络结构的原型。Le Net-5 虽然在手写字符识别领域取得了成功,但是其存在的缺点也比较明显,包括:

    1. 难以寻找到合适的大型训练集对网络进行训练以适应更为复杂的应用需求。
    2. 过拟合题使得 Le Net-5 的泛化能力较弱。
    3. 网络的训练开销非常大,硬件性能支持的不足使得网络结构的研究非常困难。 以上三大制约卷积神经网络发展的重要因素在近期的研究中取得了突破性的进展是卷积神经网络成为一个新的研究热点的重要原因。并且,近期针对卷积神经网络的深度和结构优化方面的研究进一步提升了网络的数据拟合能力。针对 Le Net-5 的缺陷,Krizhevsky 等提出了Alex Net。Alex Net 有5层卷积网络,如下图2所示。网络有约65万个神经元以及6 000万个可训练参数,从网络规模上大大超越了Le Net-5。另外,Alex Net选择了大型图像分类数据库 Image Net作为训练数据集。Image Net 提供了1 000个类别共 120 万张图片进行训练,图片的数量和类别都大幅度超越了以往的数据集。在去过拟合方面,Alex Net 引了dropout,一定程度上减轻了网络过拟合问题。在硬件支持方面,Alex Net 使用了GPU进行训练,相比传统的CPU 运算,GPU 使网络的训练速度提高了十倍以上。Alex Net在 Image Net 的 2012 图像分类竞赛中夺得冠军,并且相比于第二名的方法在准确度上 取得了高出11% 的巨大优势。Alex Net 的成功使得卷积神经网络的研究再次引起了学术界的关注。

    图2  Alex Net 结构

    Simonyan 等在Alex Net 的基础上,针对卷积神经网络的深度进行了研究提出了VGG 网络。VGG 由3×3的卷积核构建而成,通过对比不同深度的网络在图像应用中的性能。Simonyan等证明了网络深度的提升有助于提高图像分类的准确度。然而,这种深度的增加并非没有限制,在恰当的网络深度基础上继续增加网络的层数,会带来训练差增大的网络退化问题。因此,VGG 的最佳网络深度被设定在了16~19 层,结构如下图3所示。

     

    图3  VGG结构

    针对深度络的退化问题,He 等分析认为如果网络中增加的每一个层次都能够得到优化的训练,那么误差是不应该会在网络深度加大的情况下提高的。因此,网络退化问题说明了深度网络中并不是每一个层次都得到了完善的训练。He 等提出了一种 Res Net 网络结构。Res Net 通过Short connections将低层的特征图 x 直接映射到高层的网络中,如下图4所示。假设原本网络的非线性映射为F( x),那么通过 short connection连接之后的映射关系就变为了 F( x) + x。He 等提出这一方法的依据是 F( x) + x 的优化相比 F(x)会更加容易。因为,从极端角度考虑如果x已经 是 一 个 优 化 的 映 射,那 么 short connection之间的网络映射经过训练后就会更趋近于0。这就意味着数据的前向传导可以在一定程度上通short connection 跳过一些没有经过完善训练的层次,从而提高网络的性能。实验证明,Res Net 虽然使用了和 VGG 同样大小的卷积核,但是网络退化问题的解决使其可以构建成为一个152层的网络,并且Res Net 相比VGG 有更低训练误差和更高的测试准确度。

    图4  残差块结构

    虽然 Res Net 在一定程度上解决了深层网络退化的问题,但是关于深层网络的研究仍然存在一些疑问:

    1. 如何判断深度网络中哪些层次未能得到完善的训练。
    2. 是什么原因导致深度网络中部分层次训练的不完善。
    3. 如何处理深层网络中训练不完善的层次。

    在卷积神经网络深度的研究以外,Szegedy 等更关注通过优化网络结构从而降低网络的复杂程度。他们提出了一种卷积神经网络的基本模块称为Inception。如图5所示,Inception 模块由1 × 1,3 × 3,5 × 5 的卷积核组成。小尺度卷积核的使用主要有两大优点: 1) 限制了整个网络中的训练参数数量,降低了网络的复杂度;2) 不同大小的卷积核在多尺度上针对同一图像或者特征图进行了特征提取。实验表明,使用 Inception 模块构建的GoogLe Net的训练参数数量只有Alex Net 的 1 /12,但是在 Image Net 上的图像分类准度却高出 Alex Net 大约 10% 。

    图5  Inception 模块

    卷积神经网络结构方面的研究是一个开放的问题,基于当前的研究状况,目前的研究主要形成了两大趋势:

    1. 增加卷积神经网络的深度。
    2. 优化卷积神经网络的结构,降低网络的复杂度。

    在卷积神经网络的深度研究方面,主要依赖于进一步分析深层次网络存在的潜在隐患( 如:网络退化) ,以解决深层网络的训练问题( 如: VGG、Res Net) 。而在优化网络结构方面,目前的研究趋势是进一步加强对于当前网络结构的理解和分析,以更简洁高效的网络结构取代当前的结构,进一步地降低网络复杂度并且提升网络的性能( 如:GoogLe Net、完全卷积网络) 。

    展开全文
  • 第一篇文章介绍了卷积神经网络的数据输入形式和权值的初始化:CNN)卷积神经网络(一) 第二篇文章介绍了卷积操作,常用的激活函数(CNN)卷积神经网络(二) 第三篇介绍了卷积神经网络的池化层,可视化理解以及用...
    1. Letnet
    2. Alexnet
    3. ZFnet
    4. VGG
    5. Googlenet
    6. Resnet: Deep Residual Learning Network
    7. fine-tune

    第一篇文章介绍了卷积神经网络的数据输入形式和权值的初始化:CNN)卷积神经网络(一) 第二篇文章介绍了卷积操作,常用的激活函数(CNN)卷积神经网络(二)
    第三篇介绍了卷积神经网络的池化层,可视化理解以及用数学的角度理解卷积操作:[(CNN)卷积神经网络(三)]
    第四篇介绍了dropout的三种不同理解方式:(CNN)卷积神经网络(四)dropout

    这一篇看一下常见的卷积神经网络

    1.Letnet

    这是一开始最简单的卷积神经网络,用来做手写数字识别的。
    这里写图片描述

    这是它的网络结构:
    这里写图片描述
    其实就是最经典的:

    [CONVPOOLCONVPOOLCONVFC]

    2.Alexnet

    这里写图片描述
    第一层卷积层用55个神经元,每次采样采用11X11的滑动窗口,然后得到55个feature map。
    它的top5的准确度超出第二10%。
    这里写图片描述

    3.ZFnet

    这里写图片描述
    ZFnet只是对前面的网络做了一些调整,改动不是很大。
    在第一层卷积层,只是把11X11的滑动窗口改为7X7,步长设为2。

    4.VGG

    这个是VGG-16的
    这里写图片描述
    能训练出一个16层的神经网络,真的很不容易,因为那时候梯度消失还没有得到比较好的解决。

    参数比较:
    这里写图片描述

    消耗内存计算:
    这里写图片描述
    总内存:24M*4bytes -=93MB/image
    总参数:138M parameters

    不要觉得自己有GPU就屌爆了,一次丢太多图片,你的服务器照样受不了。

    5.Googlenet

    这里写图片描述
    它把全连接层换成了小卷积,而且它只有5百万个参数。

    6.Resnet: Deep Residual Learning Network

    这里写图片描述
    resnet的网络深度比VGG还要深8倍,但是它比VGG好训练。
    由上图的中间图,你会发现这是平铺的网络,其实就是

    F(W1,F(W2,F(W3,F(W4,x))))
    这样层层嵌套的结构,这样在求梯度的时候非常容易导致梯度消失,所以就由人想出了下图这样的结构:
    这里写图片描述

    它相当于x这样的输入数据,和经过卷积之后的输出数据F(x)共同作为下一层的输入,让模型学习他们之间的残差,其实就是x和F(x)之间的差异,然后把这样的差异值叠加。

    与之前的差异:求偏导时由:

    F(W1,F(W2,F(W3,F(W4,x))))
    变成了F(x)+x。求偏导函数对于和函数比嵌套函数更好求嘛。

    7.fine-tune

    站在巨人的肩膀上来做自己的事情吧,这里有所有CNN的参数文件下载改改就可以用了。
    Model-Zoo

    展开全文
  • 一、经典卷积神经网络剖析 卷积神经网络中较位经典的网络有LeNet-5、AlexNet、VGG16等,下面分别进行介绍:    &...

    一、经典卷积神经网络剖析

    卷积神经网络中较位经典的网络有LeNet-5、AlexNet、VGG16等,下面分别进行介绍:

        LeNet-5这一神经网络模型是Yann LeCun 教授于1998年在论文 Gradient-based learning applied to document recognition 中提出的,其主要用于手写数字识别,并达到了很好的识别效果,其模型如下:
    leNet-5 卷积网络结构
        其网络结构不包括输入层(input layer), 则主要包含七层,即两组卷积+池化,之后是三层全连接层,具体网络层参数计算可依据如下公式进行计算:

    在这里插入图片描述

    其中,各字母的含义如下:

    O:输出图像的尺寸。   I:输入图像的尺寸。
    K:卷积层的核尺寸      N:核数量
    S:移动步长                 P :填充数

    网络层名称 输入 filter stride padding 输出 计算公式 参数量
    input 32x32x1 32x32x1
    conv1 32x32x1 5x5x6 1 0 28x28x6 (32-5+2*0)/1+1 = 28 (5*5+1)*6 = 156
    展开全文
  • 常见卷积神经网络总结:Densenet

    千次阅读 2019-03-29 20:43:28
    常见卷积神经网络总结DenseNet 最近时间没那么紧张了,准备把之前没看的论文总结一下, DenseNet DenseNet是CVPR2017的最佳论文,可见这篇论文还是很厉害的,DenseNet主要是借鉴了Resnet的思想,采取了一种全新的...

    常见卷积神经网络总结


    最近时间没那么紧张了,准备把之前没看的论文总结一下,

    DenseNet

    DenseNet是CVPR2017的最佳论文,可见这篇论文还是很厉害的,DenseNet主要是借鉴了Resnet的思想,采取了一种全新的网络连接方式,最近的卷积神经网络主要是从深度和宽度上进行思考的,加深宽度或者加深深度,但这篇文章另辟蹊径,采取了一种新的结构,取得了很好地效果。
    首先来看一下整个网络的结构,如下图所示,借鉴了Resnet的思想,Resnet是将输入和输出进行shortcut连接,而DenseNet可以看成是Resnet的极限形式,在同一个denseblock中,每一层的输入是之前所有层的输出。下图为Densenet中一个Denseblock的形状。
    在这里插入图片描述
    对比DenseNet和Resnet的公式,更有助于理解DenseNet:
    在这里插入图片描述
    在这里插入图片描述
    Resnet的输出是上一层的输出加上这一层非线性变换之后的输出,而DenseNet某一层的输入是0~l-1层的输出的concat。这里需要注意,Resnet是做的加法,而Densenet的输入是concat,channel的数量不变。并且,在Densenet中,非线性变换的顺序是BN,ReLu,卷积。
    Densenet的优点是网络更窄,参数少,每个卷积层输出的featuremap数都很小。另外这种连接方式使得特征和梯度的传递更加有效,网络也更加容易训练。由于全连接和紧密的连接,梯度可以轻易的从loss传递到任意一层,减轻了梯度消失的问题。另外这种denseconnection还有定的抑制过拟合的作用。
    下图是Densenet的结构图
    在这里插入图片描述
    Densenet分为多个denseblock,各个Denseblock内的featuremap的size统一,这样做concat不会用size问题。
    在这里插入图片描述
    Table1为网络的结构图,k为growth rate,表示每个denseblock中每层输出的feature map的个数,作者采用的k都比较小,可见Densenet的参数量并不是很大,根据denseblock的设计,每个层的输入是前面层输出的concat,所以输入的channel还是很大的。在每个3×3的卷积前面,都存在1×1的卷积操作,这就是bottleneck layer,目的是减少输入的feature map数量,既能降维减少参数计算量,又能融合各个通道的信息。另外,另一个增加参数的方式是在两个denseblock之间加了transition layer,该层的1×1的卷积输出channel默认是输入channel的一半。
    以Densenet169为例,包含32个层,每层的输入是之前层输出的concat,如果不做bottleneck,每层输出是32channel,concat之后最后的层输入都达到上千了,而1×1卷积将channel变为growth rate*4。在transition layer中,是放在两个denseblock之间的,因为上一个block的最后一层虽然只有32层输出,但是还会concat之前所有层的输出,所有channel数还是很大的,因此需要用1×1的卷积来降维,transition lay降维的比例reduction是0.5(默认)
    总结:Densenet的核心思想在于在不同层之间建立连接关系,充分利用了特征,同时减少了梯度消失的问题,另外利用bottleneck结构和transition layer以及较小的channel数以减少参数,参数减少,有效抑制了过拟合。

    展开全文
  • 深度学习总结:常见卷积神经网络2Inception v1Inception v2BN层Inception v3非对称卷积分解Inception v4总结  上一篇博客主要回顾了VGG和Resnet,这一篇主要回顾一下GoogLeNet系列。 Inception v1 Inception v1...
  • 深度学习总结:常见卷积神经网络(3)XceptionSeNetSE机制SE模块可以直接加入到现有网络中ResNextWide Residual Networks 之前两篇文章,主要回顾了主流的卷积神经网络,其中Alexnet,VGG,Resnet,Inception中的...
  • 深度学习总结:常见卷积神经网络(1)常见模型AlexnetLRN详解VGGResnetResidual unit 详解  学习机器学习和深度学习已经一年多了,之前一直都是用笔做记录,最近面临即将到来的春招和秋招,回过头复习之前的东西,...
  • 常用的几种卷积神经网络介绍 这是一篇基础理论的博客,基本手法是抄、删、改、查,毕竟介绍这几个基础网络的博文也挺多的,就算是自己的一个笔记吧,以后忘了多看看。主要是想介绍下常用的几种卷积神经网络卷积...
  • 自己随意搭建一个卷积神经网络模型经过调参后运行结果并没有那么好,此时了解一些常用的网络模型构造就很有必要,虽然模型结构看上去不难,但是通过手动实践后确实会更理解更透彻。 本文基于keras框架搭建Lenet、...
  • MNIST 数据集 class MNISTLoader(): def __init__(self): mnist = tf.keras.datasets.mnist (self.train_data, self.train_label), (self.test_data, self.test_label) = mnist.load_data() ...
  • 卷积神经网络概念与原理

    万次阅读 多人点赞 2016-09-05 10:00:27
    一、卷积神经网络的基本概念 受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向...
  • CNN笔记:通俗理解卷积神经网络

    万次阅读 多人点赞 2016-07-02 22:14:50
    通俗理解卷积神经网络(cs231n与5月dl班课程笔记) 1 前言 2012年我在北京组织过8期machine learning读书会,那时“机器学习”非常火,很多人都对其抱有巨大的热情。当我2013年再次来到北京时,有...
  • 文章目录卷积神经网络基础二维卷积层padding以及stride对特征图影响stridekernel参数LeNetLeNet结构图卷积神经网络进阶AlexNetVGGNiN(network in network)GoogleNet 卷积神经网络基础 本节我们介绍卷积神经网络的...
  • 卷积神经网络 1、卷积神经网络与简单的单层神经网络的比较 2、卷积神经网络的发展历史 3、卷积神经网络的结构分析 4、卷积网络API介绍 全连接神经网络的缺点: 1、参数太多,在cifar-10的数据集中,只有32*...
  • 深度学习 CNN卷积神经网络 LeNet-5详解

    万次阅读 多人点赞 2017-10-18 16:04:35
    卷积神经网络( Convolutional Neural Network, CNN): 是一种常见的深度学习架构,受生物自然视觉认知机制(动物视觉皮层细胞负责检测光学信号)启发而来,是一种特殊的多层前馈神经网络。它的人工神经元可以响应...
  • 十四、卷积神经网络(1):介绍卷积神经网络

    千次阅读 多人点赞 2017-09-30 12:10:32
    本篇博客介绍在图像分类中常常使用的卷积神经网络。首先由原始的全连接神经网络忽略了图像的空间结构入手,引出了具有空间结构的卷积神经网络;之后介绍卷积神经网络中的三个基本概念,即局部感受野、权值共享和池化...
  • 传统的机器学习方法已被更新和更强大的深度学习算法(例如卷积神经网络)取代。 但是,要真正理解和欣赏深度学习,我们必须知道为什么其他方法失败时它会成功。 在本文中,我们尝试通过对Fashion MNIST数据集应用各种...
  • 人工智能原理基于Python语言和TensorFlow张明 副教授 第六章卷积神经网络卷积神经网络卷积神经网络的模型架构卷积运算卷积常见层TensorFlow和图像模型训练模型评估多GPU的模型训练6.1卷积神经网络应用是深度学习技术...
  • 常见卷积神经网络模型

    千次阅读 2020-11-15 16:56:55
    文章目录一、LeNet二、AlexNet2.1 AlexNet的优点三:VGGNet3.1 VGG的特点...LeNet诞生于1994年,由深度学习三巨头之一的Yan LeCun提出,他也被称为卷积神经网络之父。        LeNe
  • 卷积神经网络与图像识别人工神经网络网络VS卷积神经网络卷积神经网络CNN卷积层卷积输出值的计算外围补充与多Filter新的激活函数-ReluPooling计算过拟合解决办法DropoutFC层实例探究 5.3. 卷积神经网络与图像识别 ...
  • 常见的五种神经网络(2)-卷积神经网络

    千次阅读 多人点赞 2019-09-04 07:52:18
    文章目录卷积的概念一维卷积二维卷积互相关常见的卷积核及特征常见的卷积核卷积核的特征卷积的变种卷积的数学性质交换性导数卷积神经网络用卷积代替全连接卷积层汇聚层全连接层典型的卷积网络结构参数学习误差项的...
  • 详解CNN卷积神经网络

    万次阅读 多人点赞 2018-01-11 09:55:14
    详解卷积神经网络(CNN) 详解卷积神经网络CNN概揽Layers used to build ConvNets 卷积层Convolutional layer池化层Pooling Layer全连接层Fully-connected layer 卷积神经网络架构 Layer PatternsLayer ...
  • CNN卷积神经网络

    万次阅读 多人点赞 2018-05-26 09:49:50
    四、常见的CNN卷积神经网络 一、BP神经网络回顾 人工全连接神经网络 (1)每相邻两层之间的每个神经元之间都是有边相连的 (2)当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,...
  • 卷积神经网络学习——第二部分:卷积神经网络训练的基本流程 一、序言二、训练流程1、数据集引入2、构建网络(1)四层卷积神经网络(2)两层全连接层网络 3、模型训练4、模型评估 三、总结 一、序言    本文承接第一...
  • 卷积神经网络CNN基本原理详解

    万次阅读 多人点赞 2018-03-13 00:01:24
    卷积神经网络(Convolutional Neural Network,简称CNN),是一种前馈神经网络,人工神经元可以响应周围单元,可以进行大型图像处理。卷积神经网络包括卷积层和池化层。
  • 卷积神经网络

    千次阅读 多人点赞 2019-07-04 23:30:48
      最近在研究DCGAN,需要卷积神经网络的相关知识,之前零零散散地看过一些卷积神经网络的相关博客,打算乘此机会好好做一个总结,也算是为后面的学习打下基础。   卷积神经网络主要用于图像方面的应用例如图像...
  • 例如心跳脉冲的检测(1维),目标检测、人脸识别(2维),3维场景重建、虚拟现实(3维)等,但是处理这些数据时往往需要巨大的内存需求(下面会详细的说明),普通的神经网络无法满足,因此卷积神经网络应运而生。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,669
精华内容 11,067
关键字:

常见的卷积神经网络