• Densely Connected Convolutional Networks 论文阅读


    毕设终于告一段落,传统方法的视觉做得我整个人都很奔溃,终于结束,可以看些搁置很久的一些论文了,嘤嘤嘤

    Densely Connected Convolutional Networks 其实很早就出来了,cvpr 2017 best paper

    觉得读论文前,还是把dense net的整个网络结构放到http://ethereon.github.io/netscope/#/editor 上面可视化看一下,会更加容易理解,总体这篇论文很好理解

    上图是一个5层的dense block,每个dense block的growth rate k=4

    论文开头给出了densnet的几个优点:

    1、Our proposed DenseNet architecture explicitly differentiates between information that is added to the network and information that is preserved.DenseNet layers are very narrow (e.g., 12 filters per layer),adding only a small set of feature-maps to the “collective knowledge” of the network and keep the remaining featuremaps
    unchanged—and the final classifier makes a decision based on all feature-maps in the network

    densnet 网络结构参数少,每个block里面的filter也比较少,而我们在使用alexnet,通常filter都是上百的,而这里的filter 12、24、16 等,所以非常narrow

    2、one big advantage of DenseNets is their improved flow of information and gradients throughout the network, which makes them easy to train.

    densenet网络从上图中可以看出,每层都和后面的层相连,(第一幅图没有画出来每个block中的层之间的连接,觉得应该结合第一个图和第二个图,才算完整,因为第二个图每个block后面的输入是前面所有层concat一起的结果,相当于图一显示的那样。。。。在可视化工具里面看,最明显了,而且还能看到每一层的实际大小)有利于信息和梯度在整个网络中的传递。

    3、we also observe that dense connections have a regularizing effect, which reduces overfitting on tasks with smaller training set sizes.

    同时densenet网络也有正则化的作用,在小数据集上训练也能减少过拟合的风险

    densenet中是将前面几层concat一起,而resnet是求和,论文中提到这种求和会影响信息在网络中的传递

     

     transition layers:

    这层就是连接两个block之间的层,由BN层,1x1 卷积层和2x2的avg pooling层构成,如下图所示

    Growth rate:

    也就是每个block里面的层数,如图一中,每个block里面有4层,所以growth rate=4

    Botttleneck layers:

    It has been noted in [36, 11] that a 1X1 convolution can be introduced as bottleneck layer before each 3X3 convolution to reduce the number of input feature-maps, and thus to improve computational efficiency.

     是指每一层中在3X3卷积核前面有个1X1的卷积核,作用是减少输入feature-map的数量,如下图所示,512的数量变成了128个

    Compression:

    If a dense block contains m feature-maps, we let the following transition layer generate  [θm] output featuremaps,where 0<θ <=1referred to as the compression factor.

    让transition layer压缩block输出的feature map数量。

  • 相关阅读:
    使用一行Python代码从图像读取文本
    FastAI 简介
    OpenCV-Python 轮廓:更多属性 | 二十四
    Numpy和OpenCV中的图像几何变换
    从云计算到边缘计算
    OpenCV-Python 轮廓属性 | 二十三
    c# GetType()和typeof()的区别
    C# 子类父类方法同名,三种处理方式
    C# string 与 String的区别
    decimal
  • 原文地址:https://www.cnblogs.com/wuxiangli/p/8257764.html
Copyright © 2020-2023  润新知