文章名称:《Densely Connected Convolutional Networks》
论文链接:https://arxiv.org/abs/1608.06993
代码链接:https://github.com/liuzhuang13/DenseNet
这篇文章厉害了,继He Kaiming的ResNet(2015)之后,又一篇让人惊艳的文章。毕竟是CVPR2017的best paper,含金量可想而知。目前而言,一般网络无非是通过deeper,亦或者是wider来增强网络性能,而这篇文章则主要在feature上做文章,很有意思。
在上一篇文章中,传送门:【深度学习】入门理解ResNet和他的小姨子们–ResNet
我简单介绍了ResNet, 通过shortcut连接可以有效使得网络更加deeper,且不会出现像plainNet那样的degradation现象出现。那么在这篇文章中,先看看DenseNet究竟有什么优点
1)有效减轻梯度弥散问题
2)增强特征传播
3)鼓励特征复用
4)更少的参数量
在近些年中,深度网络逐渐往deeper的方向走,但是deeper会带来特征在正向传播中的消失和梯度在反向传播中的弥散。近来的工作也开始处理这些相关问题。
比如ResNet和HighwayNet通过identity connection使得signal进行流动。Stochastic depth则通过类似于dropout的方法对ResNet进行随机失活。FractalNets重复结合多个平行层序列组合以获得较大的标称深度,并同时在网络中保留着不少的short paths。其实他们都有一个关键的特性就是创造short cut来连接layer与layer之间。
作者在这篇文章依然保持着ShortCut,然而却做了一个疯狂的举动—把所有layers都连接起来了。也就是下图这个样子。
然而跟ResNet不同的是,在作者的DenseNet中,作者并不准备通过summation来连接layers,而是通过concatenating将这些features进行连接起来。
引自原文为:
In this paper, we propose an architecture that distills this insight into a simple connectivity pattern: to ensure maximum information flow between layers in the network, we connect all layers (with matching feature-map sizes) directly with each other
这么设计其实有个反直觉的好处,那就是参数量可以减少。原因是因为每个layer其实都相当于一个state,signal经过这个layer则改变这个state并将其传播到下一个state。ResNet显式的保存了上一个layer的state并传给了下一个layer可以有效改善网络的accuracy。这意味着一些feature可以被重复利用。但是今年来的一些ResNet变体则发现随机drop掉一些resblock并不会降低多少accuracy,这意味着一些Resblock并没有学习到多少有用的东西,而主要通过shortCut将上一个state进行传递而已。
还一个好处就是信息可以多方向的往下传,而梯度则可以多方向的反向传,这会使得整个网络更加容易训练。
ResNet结构
先回顾一下residual block的结构

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/38495.html