【Network Architecture】Densely Connected Convolutional Networks 论文解析

0. Paper link

1. Overview

??文章开篇提到了如果在靠近输入与输出的层之间存在短连接(shorter connections),可以训练更深、更准确、更有效的卷积网络,DenseNet利用了这个性质,每层都与之前所有的层进行连接,即之前所有层的feature map都作为这一层的输入。DenseNet有减少梯度消失,增强特征传递,鼓励特征重利用同时极大的减少了参数的数量。在很多任务上达到了state-of-the-art.

??另外DenseNet并不是像ResNet那样在传入下一层之前把特征进行相加,如同GoogLeNet一样他把feature进行融合,因此\(l^{th}\)有\(l\)个输入包括前面所有的卷积块(convolutional blocks), 另外虽然叫DenseNet,但是他比传统的卷及网络需要更少的参数,因为他没有必要重新学习多余的特征图(stochastic ResNet证明ResNet其实有很多没有用的层数),DenseNet层很窄(例如每一层有12个滤波器),仅仅增加小数量的特征图到网络的“集体知识”(collective knowledge),并且保持这些特征图不变——最后的分类器基于网络中的所有特征图进行预测。

??除了具有更好的参数利用率,DenseNets还有一个优点是它改善了网络中信息和梯度的传递,这就让网络更容易训练。每一层都可以直接利用损失函数的梯度以及最开始的输入信息,相当于是一种隐形的深度监督(implicit deep supervision)。这有助于训练更深的网络。此外,作者还发现稠密连接有正则化的作用,在更少训练集的任务中可以降低过拟合。

??文章构建了如图上图的“dense block”每一个block内部feature size是相同的, 在中间的transition layer进行feature size的改变与传递。同时还设置了growth rate来调节网络的size。

??感觉DenseNet充分的利用了feature之间的fusing,其实在看完ResNet的时候,我就这种想法,为什么ResNet大多数shortcut只是跨过2-3层呢,作者提到实验这些效果最好,他实验的range是多少呢?为什么不能多跨过几个,让模型fuse的更多呢,当时觉得硬性规定shortcut的范围并不是很好,感觉至少要学习一个参数去学习具体应该多少,每一层都去学习一个参数或许更好。而DenseNet则直接把所有的feature融合在一起,达到了一个所有feature作为一个“大feature”,结合GoogLeNet的一些思想,这个模型的提出并不难理解的,难得往往是第一个提出来的思想,比如AlexNet,现在也忘不了第一次见到ResNet的兴奋感与新奇感,也让我爱上了算法,找到了当初ACM的感觉(废话说多了)。

2. DenseNet Architecture

??设\(H_{l}(·)\)为一个非线性转化(transformation),\(H_{l}(·)\)可以是BN层,ReLU,poolinghuozhe Conv的一个组合function,设一共有\(L\)层,\(l^{th}\)层的输出为\(x_{l}\)

2.1 Analogy to ResNet

??ResNet的形式如下:

\[
X_{l} = H_{l}(X_{l-1}) + X_{l-1}
\]

很显然他是把\(l-1\)层的输出与残差映射的值相加起来,作者提到这可能影响到信息在网络中的流动。

??DenseNet的形式如下:

\[
X_l = H_l([X_0, X_1, .....X_{l-1}])
\]

即\(l\)层的输入是0到\(l-1\)层的输出串联起来,实际操作中会把前\(l-1\)层的输入放进一个单独的张量中(tensor)

2.2 Composite function

??在DenseNet中,定义\(H_{l}(·)\)为一个BN层后面接着ReLU层和一个3 × 3卷积的复合型函数

2.3 Dense block and Transition layer

??很容易发现如果某一层的前\(l-1\)层的向量size不同,就无法拼接起来,因此受GoogLeNet的启发,把densely connected的部分组成一个dense block,在两个dense block中间引入transition layer,用来卷积与池化。在文章实验中transition layer包括一个BN层和1 × 1卷积层在紧接着一个2×2 average pooling layer。

2.4 Growth rate

??如果\(H_l\)产生\(k\)个feature maps, 那么\(l^{th}\)有 \(k_0 + k×(l-1)\)层input feature maps,其中\(k_0\)是输入层的channels,DenseNet的一个很好的优点就是DenseNet可以变得很窄,比如\(k = 12\),把\(k\)作为一个超参数,叫做\(growth\ rate\),文章实验证明了很小的\(k\)也可以获得很多state-of-the-art的结果。

??作者把这一部分进行了解析,每一层都接收之前所有层的feature,相当于获得了“集体知识(collective knowledge)”,作者提出把feature maps看做一个网络的总体阶段(global state),每一层贡献自己k个feature maps给这个阶段,growth rate决定了每层贡献多少新的信息给global state。

2.5 Bottleneck layers

??尽管每层只产生k个feature maps,但是把之前所有层都加起来还是很多的,因此引入一个1 × 1的\(bottleneck layers\)在每个3 × 3卷积之前来减少输入的feature maps,文章中给出了非常适合DenseNet的bottleneck layer: BN-ReLU-Conv(1 × 1)-BN-ReLU-Conv(3 × 3),把这种形式的\(H_l\)表示为DenseNet-B,在实验中,让每个1 × 1 卷积产生4k个feature maps。

2.6 Compression

??如果一个dense block 包含m个feature maps, 让紧接着的transition layer 产生\([\theta m]\)个 output feature-maps,其中\(0< \theta \leq 1\)代表压缩因子(compression factor),把\(\theta < 1\)的DenseNet看作DenseNet-C,把同时带有bottleneck layer与compression factor < 1的DenseNet称为DenseNet-BC.

2.7 Global Network Architecture

??一个整体的结构图:

??网络参数:(注意Conv代表BN-ReLU-Conv)

3. Experiments

??DenseNet在CIFAR与SVHN数据集上与各种主流网络的参数与错误率对比:

??DenseNet在ImageNet 验证集上1-crop / 10-crop对比:

??DenseNet在ImageNet 验证集上与ResNet控制变量对比:

??DenseNet在C10+ 验证集上与ResNet控制变量对比:

4. Discussion

??隐含的深度监督(implicit deep supervision)。稠密卷积网络可以提升准确率的一个解释是,由于更短的连接,每一层都可以从损失函数中获得监督信息。可以将DenseNets理解为一种“深度监督”(deep supervision)。深度监督的好处已经在之前的深度监督网络(DSN)中说明,该网络在每一隐含层都加了分类器,迫使中间层也学习判断特征(discriminative features)。

??DensNets和深度监督网络相似:网络最后的分类器通过最多两个或三个过渡层为所有层都提供监督信息。然而,DenseNets的损失函数值和梯度不是很复杂,这是因为所有层之间共享了损失函数。

??遵循这个简单的连接规则,DenseNets可以很自然的将自身映射(identity mappings)、深度监督(deep supervision)和深度多样化(diversified depth)结合在一起。

原文地址:https://www.cnblogs.com/kk17/p/9876080.html

时间: 2024-09-28 20:15:08

【Network Architecture】Densely Connected Convolutional Networks 论文解析的相关文章

Paper | Densely Connected Convolutional Networks

目录 论文:Densely Connected Convolutional Networks,CVPR 2017 摘要 Recent work has shown that convolutional networks can be substantially deeper, more accurate, and efficient to train if they contain shorter connections between layers close to the input and

论文笔记 Densely Connected Convolutional Networks

首先我们从宏观的角度理解一下这篇论文做了什么.这篇论文引入了一个"Dense Block",该模块的的组成如下图所示(要点就是,Input输入到后续的每一层,每一层都输入到后续层) 在实际应用的时候,如果我们将"Dense Block"作为一个building block,那么可以按照如下的方式构建深度网络结构(是不是一下子就理解了这篇文章做了什么?).  下面我们来分析一下这个"Dense Block"的一些特点 "Dense Blo

【Network Architecture】Feature Pyramid Networks for Object Detection(FPN)论文解析(转)

目录 0. 前言 1. 博客一 2.. 博客二 0. 前言 ??这篇论文提出了一种新的特征融合方式来解决多尺度问题, 感觉挺有创新性的, 如果需要与其他网络进行拼接,还是需要再回到原文看一下细节.这里转了两篇比较好的博客作为备忘. 1. 博客一 这篇论文是CVPR2017年的文章,采用特征金字塔做目标检测,有许多亮点,特来分享. 论文:feature pyramid networks for object detection 论文链接:https://arxiv.org/abs/1612.031

目标检测论文阅读:Deformable Convolutional Networks

https://blog.csdn.net/qq_21949357/article/details/80538255 这篇论文其实读起来还是比较难懂的,主要是细节部分很需要推敲,尤其是deformable的卷积如何实现的一步上,在写这篇博客之前,我也查阅了很多其他人的分享或者去github找代码,当然也不敢说完全了解了这种特殊的卷积--仅仅做一点自己的阅读心得与体会吧.这是一篇很有意义的工作,但是和深度学习很多论文一样,在读完之后内心也不免有着种种疑云. Deformable Convoluti

[论文理解] Learning Efficient Convolutional Networks through Network Slimming

Learning Efficient Convolutional Networks through Network Slimming 简介 这是我看的第一篇模型压缩方面的论文,应该也算比较出名的一篇吧,因为很早就对模型压缩比较感兴趣,所以抽了个时间看了一篇,代码也自己实现了一下,觉得还是挺容易的.这篇文章就模型压缩问题提出了一种剪枝针对BN层的剪枝方法,作者通过利用BN层的权重来评估输入channel的score,通过对score进行threshold过滤到score低的channel,在连接的

Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)

摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有效的推理和学习产生相应尺寸的输出.我们定义并指定全卷积网络的空间,解释它们在空间范围内dense prediction任务(预测每个像素所属的类别)和获取与先验模型联系的应用.我们改编当前的分类网络(AlexNet [22] ,the VGG net [34] , and GoogLeNet [35] )到完

Very Deep Convolutional Networks for Large-Scale Image Recognition—VGG论文翻译

Very Deep Convolutional Networks for Large-Scale Image Recognition Karen Simonyan∗ & Andrew Zisserman+ Visual Geometry Group, Department of Engineering Science, University of Oxford {karen,az}@robots.ox.ac.uk 摘要 在这项工作中,我们研究了在大规模的图像识别环境下卷积网络的深度对识别的准确率

论文阅读笔记:Fully Convolutional Networks for Semantic Segmentation

这是CVPR 2015拿到best paper候选的论文. 论文下载地址:Fully Convolutional Networks for Semantic Segmentation 尊重原创,转载请注明:http://blog.csdn.net/tangwei2014 1.概览&主要贡献 提出了一种end-to-end的做semantic segmentation的方法,简称FCN. 如下图所示,直接拿segmentation 的 ground truth作为监督信息,训练一个端到端的网络,让

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 这篇论文

由Andrew Zisserman 教授主导的 VGG 的 ILSVRC 的大赛中的卷积神经网络取得了很好的成绩,这篇文章详细说明了网络相关事宜. 文章主要干了点什么事呢?它就是在在用卷积神经网络下,在采用小的卷积核与小的移动步长的情况下,探索一下网络的深度对目标识别率的影响. 网络的大体结构 网络的输入为224*224的RGB图片,后面跟卷积层,卷积核的大小基本都为3*3有最小的可以保留图片空间分瓣率的卷积核,步长为1个像素,偶尔会有1*1的卷积核,这就相当于加入了一个非线性变换而已.再往后接