CVPR2017最佳论文 Densely Connected Convolutional Networks (DenseNets)阅读笔记

CVPR2017最佳论文 Densely Connected Convolutional Networks (DenseNets)阅读笔记

原文:Densely Connected Convolutional Networks
作者:Gao Huang, Zhuang Liu, Kilian Q. Weinberger, Laurens van der Maaten
下载地址:https://arxiv.org/abs/1608.06993

1 简介

  • 近几年的深度学习模型中,CNN一直是绝对主导地位。Resnet、GoogLeNet、VGG等优秀的网络都是基于CNN搭建的。然而,深层的CNN一直以来都存在一个问题:数据在多层传播后很可能会逐渐消失。Resnet通过“skip connection”结构一定程度上在促进了数据在层间的流通,但接近输出的网络层还是没有充分获得网络前面的特征图。
  • 作者提出的DenseNets,在前向传播基础上,网络每一层都能接受到它前面所有层的特征图,并且数据聚合采用的是拼接而非Resnet中的相加。网络模型如下图所示:
    CVPR2017最佳论文 Densely Connected Convolutional Networks (DenseNets)阅读笔记_第1张图片
  • 这种连接方式有一个很大的优点。前向传播时,深层网络能获得浅层的信息,而反向传播时,浅层网络能获得深层的梯度信息。这样最大程度地促进了数据在网络间的流动。
  • 另外,这种结构存在着大量的特征复用。因此只需要很少的参数,就可以达到state-of-the-art的效果。主要是体现在特征图的通道数上,相比VGG、ResNet的几百个通道,DenseNet可能只需要12、24个左右。

2 模型搭建

  • 关键词:
    • Dense Block:作者将许多个卷积网络分成3~4个部分,这些部分叫做dense block,概念有些像残差网络的残差块。每个block中,都执行密集连接,block的输出再通过池化降低特征图尺寸。
      CVPR2017最佳论文 Densely Connected Convolutional Networks (DenseNets)阅读笔记_第2张图片
    • Growth rate:由于网络采用拼接(Concatenate)的操作,通道数会逐层增加。作者在设计网络时固定了每个卷积层的输出通道数,因此每层增加的通道数一样的,Growth rate指的就是网络每层增加的通道数。用k表示。
    • Bottleneck:该网络是为了解决输入特征图层数太多的问题。它先进行BN、ReLU,再用一个1*1的卷积把输入通道变成相对小的一个固定值(作者设置为4k),之后再通过BN-ReLU-Conv3*3输出。也就是说,上图block每个黑点都是BN-ReLU-Conv1*1-BN-ReLU-Conv3*3的结构,其中Conv1*1的输出通道为4k,Conv3*3的输出通道为k。有该结构的网络叫做DenseNet-B
    • Compreession:在两个Dense block中出现,为了压缩通道数。假设一个Dense block的输出是m,设置一个压缩值 θ ,用conv1*1将dense block的输出压缩成 θm 个通道。一般来说 θ 设置成0.5。Compresion在上图中被表示为block之间的那个“convolution”(前面一样还有BN-RELU)。如果使用了bottleneck和compression,网络就称作DenseNet-BC

用于CIFAR、SVHN

  • CIFAR10,CIFAR100、SVHN这三个数据集中,图像的大小只有32*32。作者只用3个Dense block,输出尺寸分别为32*32,16*16,8*8,另外没有bottleneck。作者设置了两种网络,分别为40层和100层,对应的growth rate分别为12和24。另外作者还是用了bottleneck来尝试,配置为:{L=100,k=12},{L=250,k=24},{L=190,k=40}
    CVPR2017最佳论文 Densely Connected Convolutional Networks (DenseNets)阅读笔记_第3张图片

用于Imagenet

  • 大致和上面相同,作者使用4个dense block,让图像最终尺寸变成经典的7*7。最开始的卷积尺寸为7*7,步长为2,将3通道的图像转换成2k通道的特征图。具体配置如下图。
    CVPR2017最佳论文 Densely Connected Convolutional Networks (DenseNets)阅读笔记_第4张图片

3 实验

  • 比较值得注意的就是下面的实验结果了。这是一个错误率-计算量的函数图。可以发现,在达成相同准确率的情况下,DenseNet所需的参数和浮点操作数远小于ResNet。这也是DenseNet的强大之处。
    CVPR2017最佳论文 Densely Connected Convolutional Networks (DenseNets)阅读笔记_第5张图片

你可能感兴趣的:(深度学习)