Densely Connected Convolutional Networks
摘要:
最近的工作显示了,神经网络通过最近的层作为输入连接到后层,然后通过更深的层数,能够更有准确率,而且更有效率的收敛(即收敛更快),本文Densenet,就是通过前层的所有特征图作为后面每一层的输入,传统神经网络如果有L层就会有L层连接,但是Densenet会有L(L+1)/2个连接,Densenet会有几个
优点:1.减弱梯度消失2加强特征传播3鼓励特征重复利用4和持续的减少参数
成果:Densenet在目标识别的任务上(CIFAR-10,CIFAR-100, SVHN, and ImageNet),Densenet对于目前的大多数state of art的结果更进一步的提升,而且减少了参数量。
问题:1.为什么可以减弱梯度消失2加强特征传播和特征重复利用的作用在哪里
答:减弱梯度消失,是因为前面层直接跟后面Loss相连接(看一看什么是深度监督?)
代码:github:https://github.com/liuzhuang13/DenseNet.
介绍:
这篇文章的作者列出了这么几篇文章:ResNets [11] and Highway Networks [34],Stochastic depth [13],FractalNets [17],
作者总结出了一个规律:就是在这些文章都是用前层的特征作为输入给后层的shot connection的方式 (灵感来源:发现共性)
问题:
作者反直觉的感觉就是:1.Densenet参数比较少(为什么?)2.传统的卷积神经网络,从前层到后层,会有一些状态的改变,会保留下来一些信息,同时也会丢掉一些信息(不是很理解?)3.Resnet通过相加的方式保留了一些信息,但是Resnet会有很多冗余的信息(为什么冗余?),而且每一层都有自己的参数,所以参数量大(Densenet每层没有自己的参数吗?)4.Densenet直接区分加入到网络中的信息和需要保留的信息(怎么区分的?)5.Densenet非常的窄,加入一部分特征到收集网络,另一部分特征保持不变(收集网络是什么?,保持不变是什么意思?)
每层都可以直接访问损失函数和原始输入信号的梯度,从而导致隐含的深层监督(什么叫直接访问损失和原始输入信号梯度,深度监督是什么?)
相关工作:
highway network使用跳跃连接(bypass-ing paths)和门神经元使得训练深层网络不是很难(bypass-ing paths是训练深层网络的关键点)
resnet也是使用了bypass-ing paths
stochastic depth可以训练1202层神经网络:stochastic depth应该是随机停掉一些层的训练,(这个证明了并不是所有的层都是必要的)
resnet会有冗余(??)
我们的论文部分受到这一观察的启发。 具有预激活的ResNets还有助于训练具有> 1000层的最先进网络(什么叫预激活)
An orthogonal的使网络更深的方法是使用skip connection,增加网络的宽度可以提升网络的表现(使用更宽的宽度为什么可以增加深度?)
Densenet并不是用特别深或者特别宽的网络,而是,融合不同层的特征给后面的层,可以增加输入的不变性,(但是为什么可以提高训练的效率?)(Densenet与googlenet的区别在哪里)
介绍了一些现有的网络:NIN,深度监督(DSN),Ladder network, DFNs augmentation of networks with pathways
DenseNets
第一段主要是讲resnet的特点:
1.通过跳跃连接层来进行连接,ResNets的一个优点是梯度可以直接通过身份函数从后面的层流到更早的层(为什么后层梯度直接传到前层是一个优点?什么是身份函数)
2.然而,H`的标识函数和输出通过求和组合,这可能阻碍网络中的信息流。(求和为什么会阻碍网络中的信息流)
Dense connectivity.