zoukankan      html  css  js  c++  java
  • Going deeper with convolutions(GoogLeNet、Inception)

    从LeNet-5开始,cnn就有了标准的结构:stacked convolutional layers are followed by one or more fully-connected layers。对于Imagenet这种大的数据集,趋势是增加层数和层的大小,用dropout解决过拟合。

    1×1卷积核在Inception中大量使用,两个作用:dimension reduction and rectified linear activation(即增加非线性)(维度降低减少参数;并增加模型深度,提升模型表征能力;促进不同层之间的信息交流)

    提升深度神经网络的最直接方式是increasing their size,这个size包含两个方面含义,depth和width。但这个方式也有两个主要的缺点:

    1.bigger size就会有更多的参数,容易造成过拟合,特别是在训练数据有限的情况下。

    2.使用大量的计算资源

    最基本解决这两个问题的方式是将全连接改为稀疏连接。

    Inception的主要思想是在卷积网络中找到一个局部最优稀疏结构,然后稀疏地重复这个结构。

    对于naive版本的Inception,因为所有的卷积核都在上一层的所有输出上来做,那5×5的卷积核所需的计算量就太大了(参数太多)。当pooling单元加入之后这个问题更加明显:输出滤波器的数量等于前一步中滤波器的数量(这句话就说明了多通道的池化在每个通道进行池化,经过池化后并不会改变通道数量),pooling层的输出和卷积层的输出融合会导致输出数量逐步增长。即使这个架构可能包含了最优的稀疏结构,还是会非常没有效率,导致计算没经过几步就崩溃。因而,可以采用NIN中的方法对上一层的输出进行合并(使用1×1卷积核进行特征降维)。这样就衍生出了真正可用的Inception。

    Inception网络符合直觉:visual information should be processed at various scales and then aggregated so that th next stage can abstract features from different scals simultaneously

    特征降维:192个feature map可以理解为192维的特征,使用1x1把192个feature map转化为96个feature map,相当于进行特征降维

    https://baijiahao.baidu.com/po/feed/share?wfr=spider&for=pc&context=%7B%22sourceFrom%22%3A%22bjh%22%2C%22nid%22%3A%22news_3570975145242505168%22%7D

    1*1如何降低参数数量http://www.jianshu.com/p/ba51f8c6e348

  • 相关阅读:
    vue点击元素变色兄弟元素不变色
    获取今天昨天本月的时间段
    java.io.InputStream -- 1.8 初识,应用场景待更新
    java.io.FilterInputStream
    java.io.FileInputStream
    java.io.ByteArrayInputStream -- 1.8
    JavaBeans -- 1.8
    mysql 导出和导入数据
    tp5 数据库迁移工具 migrate&seed
    tp5模型一对一关联hasOne
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/6692865.html
Copyright © 2011-2022 走看看