深度学习文章阅读5----Densely Connected Convolutional Networks
2018-01-23 21:26
519 查看
Introduction
如果输入输出间有更短的链接,CNN会变得更deeper、accurate和efficient。本文提出DenseNet(Dense Convolutional Network),它以前馈的方式将每一层连接到其他的所有层,也就是说,对于某一层,它前面所有层的特征映射都被作为它的输入,而它自己的特征映射被作为所有后续层的输入。DenseNet的优点:缓解消失梯度问题,加强特征传播,鼓励特征重用,大幅度减少参数数量。
Model
假定CNN的输入为单张图片x0,网络有L层,每层有非线性变化Hℓ(·),这里ℓ指的第l层,Hℓ(·)可以为BN,ReLU,下采样或是卷积的组合。1. ResNets
ResNet网络的第l层的输入较传统网络而言,多了skip-connection,表示如式(1):
<
4000
span style="color:#000000;">
但ResNet以求和的方式组合了identity function 和theoutput of Hℓ,这可能阻碍了网络中的information flow,由此引出了DenseNet。
2. Dense connectivity
Dense connectivity引入任一层到其后续所有层的直接连接,如图1所示。
图1一个5层的dense
block,growth rate k=4,每一层都将前面层的feature-maps作为输入
第l层接收先前所有层的feature-maps,其输入定义如(2)所示,这里[x0,
x1, . . . , xℓ-1]指0到l-1层feature-maps的级联,Hℓ(·)可定义为复合操作,可包括BN、ReLU和3*3的卷积。
3. pooling layers
如果feature-maps的大小发生变化,公式(2)就不可用,由此引入下采样,并将网络划分为多个密集连接的密集块,如图2所示。Dense
blocks之间的层为transition layers,来完成卷积和下采样操作,本实验中transition layers由一batch
normalization layer,1×1 convolutional layer和2×2 average pooling layer 组成。
图2有三个dense blocks的deepDenseNet
4. Growth rate
如果每个Hℓ操作能产生k个feature-maps,那个第l层有k0+
k × (ℓ - 1)个输入feature-maps,此处k0是指输入层的通道数。将k定义为网络的growth
rate,文中对growth rate的解释是:growth rate regulates how much new information each layercontributes to the global state。
5. Bottleneck layers
可以在3*3的卷积操作之前引入1*1的卷积,来减少输入的feature-maps的数量,由此我们得到了DenseNet-B,其中的Hℓ由:BN-ReLU-Conv(1×1)-BN-ReLU-Conv(3×3)构成。
6. Compression
我们在transitionlayers中进一步减少feature-maps的参数,如果一个dense
block有m个feature-maps,则紧随其后transition layer将产生⌊θm⌋
output feature-maps,其中0 <θ ≤1,θ被称为压缩因子。将θ <1时的网络定义为DenseNet-C,实验中我们设定θ
= 0.5,将同时含有Bottleneck layers和θ <1的网络定义为DenseNet-BC。
Experiment
1.数据集1)CIFAR10和CIFAR100:分别含有10和100个类别,训练集和测试集上分别有50000和10000张图片,并从训练集中抽出5000张图片作为验证集。
2)SVHN: 32*32 colored digit images,训练集中73257张图,测试集中26032张图,另外还有531131张图作为additional training,我们从训练集中抽取6000张图片作为验证集。
3)ImageNet:训练集中1.2million张图片,验证集中50000张图片,共1000个类别。
2. 实验
这里主要测试了深度L和growth rate k,部分结果见表1,详细结果主要见原文。
表1 error rate on CIFAR and SVHN
Conclusion
1.本文提出的DenseNets 和ResNets很像,只是将每层的输入,由公式(1)修改为公式(2),但这样seeminglysmall modification导致两个网络架构大不相同。
2. 文章写得很简洁,方法也清晰易懂,但网上有人表明随着模型层数的增多,网络占用的内存还是太多。
相关文章推荐
- 深度学习文章阅读2--3D Convolutional Neural Networks for Human Action Recognition
- 论文阅读-《Densely Connected Convolutional Networks》
- [深度学习] Very Deep Convolutional Networks for Large-Scale Image Recognition(VGGNet)阅读笔记
- 深度学习笔记(一)空间金字塔池化阅读笔记Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
- [深度学习论文阅读]Fully Convolutional Networks for Semantic Segmentation(FCN网络)
- 【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017
- 阅读《Densely Connected Convolutional Networks》的理解
- CVPR2017最佳论文 Densely Connected Convolutional Networks (DenseNets)阅读笔记
- 【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017
- 论文阅读:DENSELY CONNECTED CONVOLUTIONAL NETWORKS
- Densely Connected Convolutional Networks 论文阅读
- 深度学习笔记空间金字塔池化阅读笔记Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
- 【论文阅读笔记】Densely Connected Convolutional Networks
- [深度学习]Visualizing and Understanding Convolutional Networks阅读笔记
- 深度学习文章阅读3--Video-based emotion recognition using CNNRNN and C3D hybrid networks
- 网络模型--Densely Connected Convolutional Networks
- [深度学习论文笔记][Image Classification] ImageNet Classification with Deep Convolutional Neural Networks
- 网络模型--Densely Connected Convolutional Networks
- CVPR2017 最佳论文——Densely Connected Convolutional Networks
- 深度学习论文(八)---DeepLabV1-SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED C