DenseNet简介

DenseNet是CVPR2017的一篇oral paper,在获得更小的分类错误率的同时,网络模型的参数量也远小于之前的SOTA分类网络,如ResNets和Highway Networks等,并且由此获得了CVPR2017最佳论文奖。

DenseNet之前的ResNets(残差网络)的核心idea是建立前面层与后面层之间的跨层连接,而DenseNet与ResNets的区别在于DenseNet使用连结(concatenation)的连接方法,ResNets使用相加(summation)的连接方法。如下图左为ResNets--输出相加,右为DenseNet--在通道上连结:

idea来源

从LeNet5到VGG19再到ResNets和Highway Networks,卷积神将网络变得越来越深,甚至ResNets和Highway Networks已经超过100层的壁垒。

卷积神经网络不断加深,随之也带来了梯度消失和梯度爆炸问题。于是:

1、ResNets和Highway Networks通过identity connections实现跨层连接。

2、随机深度(Stochastic depth)通过在训练过程中随机删除层来缩短ResNets,以允许更好的信息和梯度流动。

3、FractalNets重复组合多个具有不同卷积块数量的并行层序列,以获得较大的深度,同时在网络中保持许多short paths。

这些方法的特性就是,他们都在early layers和later layers之间建立了short paths。

那么能否方法这一点(建立更为极端的short paths),从而实现更大的信息与梯度的流动。

于是就有了这种密集的连接模式(dense connectivity pattern),并且为了保持前馈特性,每一层都从所有之前的层获得额外的输入,并将其自己的特征映射传递到所有后续的层。

验证idea并讨论作用机制

为了验证这一idea,开始在CIFAR-10, CIFAR-100, SVHN,和ImageNet上开始实验,在性能上都得到较好的结果。

首先为在CIFAR-10及其数据增强后的数据集, CIFAR-100及其数据增强后的数据集以及SVHN数据集上进行试验,一下均为error rate比较。

然后在Imagenet数据集的验证集上进行了crop-1和crop-10上的top-1和top-5的error rate比较。

Better parameter efficiency

虽然在各数据集上均取得优异的结果,但有一点counter-intuitive effect-----这种连接方式竟然比传统卷积网络需要更少的参数→→(原因)这种连接方式不需要重复学习冗余的feature-maps→→(原因)DenseNet架构明确地区分了添加到网络中的信息和被保存的信息。

易于训练

除了更好的参数效率外,DenseNets的一个大优点是改进了整个网络的信息流和梯度,这使得它们易于训练。

隐式的深度监督

每一层都可以直接从损失函数和原始输入信号中访问梯度,从而导致一个隐式的深度监督,这有助于训练更深层次的网络架构。

具备正则化效果

密集连接具有正则化效应,这减少了对具有较小训练集大小的任务的过拟合。

DenseNets

ResNets vs DenseNets(连接方式)

由上图可看出,在ResNets中

x ℓ = H ℓ ( x ℓ- 1 ) + x ℓ- 1
而在DenseNets中
x ℓ = H ℓ ([ x 0 , x 1 , . . . , x ℓ- 1 ])

复合函数(非线性转换结构)

Hℓ(·)是指三个连续操作的复合函数,即batch normalization (BN) ,紧接着是激活函数 rectifified linear unit (ReLU) 和一个 3 × 3 convolution (Conv)

池化层

当特征图的大小变化时,即x0, x1, . . . , xℓ-1的size不一致时,连结的操作就不可用。然而卷积网络的一个重要组成部分是改变特征映射大小的降采样层。

为了便于在架构中进行降采样,将网络划分为多个密集连接的密集块,块之间的层称为过渡层,包含卷积和池化操作,实验中使用的过渡层包括批处理归一化层和1×1卷积层和2×2平均池化层。

主要作用是改变特征图尺寸和通道,减少后续计算量。

Growth rate(k-超参数)

如果每个函数Hℓ产生k个特征图,那么第ℓ层有k0+k×(ℓ-1)个输入特征图,其中k0是输入层中的通道数。

Growth rate可以调节每一层对最终能够获取信息(collective knowledge)的贡献度。最终的collective knowledge可以从网络的任何地方访问,求不需要每层都复制。

Bottleneck layers

引入1×1卷积作为瓶颈层,以减少输入特征图的数量,从而提高计算效率。

从而得到新版本的复合函数Hℓ:BN-ReLU-Conv(1×1)-BN-ReLU-Conv(3×3)

Compression

为了进一步提高模型的紧致性,减少通过过渡层上的特征映射的数量,即在过渡层设置一个压缩因子,减少由上一个密集块生成并打算传递到下一个密集块中的特征映射数量。

如果一个密集的块包含m个特征映射,我们让下面的过渡层生成θm输出特征映射,其中0<θ≤1被称为压缩因子。当θ=1时,跨过渡层的特征映射的数量保持不变。

结果讨论(部分内容--对应原文第五部分discussion)

Implicit Deep Supervision

DenseNets取得好的效果的原因之一:单个层通过较短的连接从损失函数中得到额外的监督。

DenseNets取得好的效果的原因之一:DenseNets在执行一种深度监督:位于网络顶部的单个分类器通过最多两个或三个过渡层对所有层提供直接监督。

然而,由于所有层之间使用相同的损失函数,因此损失函数和梯度的复杂性大大降低。

----深度监督----

deeply-supervised nets (DSN):在每个隐藏层上都有分类器,强制中间层学习鉴别特征。

Feature Reuse.

如上图代表具有40层,三个密集块以及Growth rate为12的DenseNets。

每一列像素点的数量表示连接数。

1.所有层都将其权重分散在同一块内的许多输入上。这表明,由非常早期的层提取的特征确实被贯穿同一密集块的深层直接使用。

2.过渡层的权重也将它们的权重分布到之前的密集块内的所有层上,表明信息从DenseNets的第一层流到最后一层。

3.第二和第三密集块内的层一致地为过渡层的输出分配最小的权重,这表明过渡层输出许多冗余特征(平均权重较低)。这与DenseNet-BC(既使用Bottleneck layers也使用Compression)的强大结果是一致的,其中这些输出恰好是被压缩的。

4.虽然最后的分类层,如图所示,也使用了整个密集块的权重,但似乎有集中于最终的特征图,这表明在网络后期可能产生了一些更高级的特征。

结论:

1、引入了任意两层之间的直接连接,且证明了DenseNets可轻易扩展到百层以上

2、随着参数数量的增加,DenseNets倾向于产生一致的精度提高,而没有任何性能下降或过拟合的迹象

3、DenseNets需要更少的参数和更少的计算即可实现最先进的性能

4、DenseNets自然地集成了身份映射、深度监督和多样化深度的属性

5、允许在整个网络中重用特征,因此可以学习更紧凑,得到更精确的模型

DenseNet论文解读相关推荐

  1. Densenet论文解读 深度学习领域论文分析博主

    深度学习领域论文分析博主 博客链接: https://my.csdn.net/u014380165 其中一篇文章: DenseNet算法详解: https://blog.csdn.net/u01438 ...

  2. Densely Connected Convolutional Networks(论文解读三)

    目录 DenseNet:论文解读 1. Abstract 2. Related work 2.1 通过级联来加深网络 2.2 通过 shortcut 连接来加深网络 2.3 通过加宽网络来使网络更深 ...

  3. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

  4. RepVGG:极简架构,SOTA性能,论文解读

    ** RepVGG:极简架构,SOTA性能,论文解读 ** 更新:RepVGG的更深版本达到了83.55%正确率!PyTorch代码和模型已经在GitHub上放出.DingXiaoH/RepVGG 2 ...

  5. Paper:论文解读《Adaptive Gradient Methods With Dynamic Bound Of Learning Rate》中国本科生提出AdaBound的神经网络优化算法

    Paper:论文解读-<Adaptive Gradient Methods With Dynamic Bound Of Learning Rate>中国本科生(学霸)提出AdaBound的 ...

  6. 论文解读 | 基于递归联合注意力的句子匹配模型

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  7. bsp模型适用于图计算_【论文解读】目标检测之RFBnet模型

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明 ...

  8. 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)

    本文分享自华为云社区<论文解读:基于局部特征保留的图卷积神经网络架构(LPD-GCN)>,原文作者:PG13 . 近些年,很多研究者开发了许多基于图卷积网络的方法用于图级表示学习和分类应用 ...

  9. 论文解读 Receptive Field Block Net for Accurate and Fast Object Detection

    其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造. 书的购买链接 书的勘误,优化,源代码资源 PDF全 ...

最新文章

  1. JFrame中使用jpanel来布局
  2. Linux df -h查看磁盘使用情况
  3. web系统架构设计中需要知道的点(前端篇)
  4. e300氛围灯哪里调节_让快乐来得更简单!体验新宝骏E300/E300 PLUS
  5. NYOJ 214 最长上升子序列nlogn
  6. 计算机 仿真 流体力学剪切应力,基于影像的计算流体力学在冠状动脉疾病中的研究进展...
  7. 完全删除conime.exe 程序。。。
  8. python程序设计基础课后答案-Python语言程序设计基础(第2版)嵩天课后答案
  9. 肩外展固定支架的规格参数介绍和使用方法
  10. dci odbc mysql_人大金仓-
  11. swift学习之旅之 iOS Flurry使用
  12. 学习金字塔——谈谈对学习的一点理解
  13. 安卓多人聊天室服务端
  14. 正则表达式(三)正则的捕获
  15. QQ空间中的日志在不同用户的主页显示不同QQ号方法
  16. Android项目,library中根据资源id获取资源
  17. 数据类型和运算符答案
  18. 简单的web工程接收消息text--微信企业号
  19. 机器视觉测量拟合中级篇,halcon实战,measure测量助手
  20. CPU 的物理核与逻辑核

热门文章

  1. MySQL日期函数计算年龄
  2. 2022-2027年中国品牌连锁酒店行业发展前景及投资战略咨询报告
  3. 微信小程序开发解决按钮大小问题
  4. 修改Win7下计算器为默认16进制
  5. PhantomJS绿色版 v2.1.1
  6. 教你如何用python制作三角形模拟器 python项目小发明 【安安教具】-【数学】-【三角形】模拟器
  7. Nuke中的各类结点及使用方法
  8. 手撸一个在线学习在线教育小程序
  9. PM必备 | 4种基本素质和8大管理技能
  10. “飞思卡尔”杯智能车设计与实践