1、Short Paths 深度神经网络重要问题——输入数据消失(forward)和梯度消失(backward)
HighWayNet和ResNet也提出相关问题解决办法:ResNets和Highway Networks通过身份连接将信号从一层分流到下一层。随机深度通过在训练过程中随机降低层数来缩短ResNets,以允许更好的信息和梯度流。
网络层y=f(x) 更新参数w
正常网络结构 z=g(f(x))=g(y)
ResNet残差结构
残差结构 z`=g(f(x))+f(x)=g(y)+y =z+y
FractalNets在保持网络中多条短路径的同时,反复组合多个具有不同卷积块数量的并行层序列,获得较大的标准深度。
本文中的捷径连接,增强信息流动以及梯度反向传播,在本文中short paths大量使用。
Short Paths
尽管这些不同的方法在网络拓扑和训练过程上各不相同,但它们都有一个关键特征:它们创建了从早期层到后期层的短路径。
2、特征复用-增强模型表征能力
输出的score map由多级特征图共同生成
优点: 1.各连接之间的feature map大小不一致
2.参数量增多
3.提高分类精度
4.无需额外计算,可得到底层、中层和高层的特征来进行分类,使模型更鲁棒
3、Dense connectivity
稠密连接:一个Block中,每一层的输入包含前面所有层的特征图,每一层的输出均会直接连接到后面所有层的输出
对L层的Block,有L*(L+1)/2个连接
优点:较少参数获得更多特征、复用低级特征、梯度更容易向前传播
其中,中间Composite function将BN层、ReLR层、3*3卷积层组成一对操作
x->conv->BN->ReLU =》 [x0,x1,x2]->BN->ReLU->conv
最后的transition layer:将BN层、1*1卷积层、2*2池化层组成一对操作,降低特征图分辨率,用于dense block之间 每个dense block内部特征图一致
Growth rate:控制特征图的数量,用超参数k来衡量dense block中控制的特征图数量,第l层有k0+k(l-1)个输入的feature maps,在具体的卷积操作中就是卷积核的个数
Bottleneck layers-瓶颈层,降低特征图通道数,减少计算量
Bottleneck layers
Compression-压缩率,在transition layer处使用一定卷积核压缩特征图通道数 压缩率θ,通常为0.5
4、DenseNet网络结构
三大模块:头部卷积、Dense Block堆叠、全连接输出分类
一个Bottleneck layers有两层,对DenseNet-100,三个Dense Block 堆叠:,每个Dense Block中有16个Bottleneck layers进行堆叠,总层数=1+(32+1)+(32+1)+(32)+1=100层
网络结构
5、总结
将捷径连接与特征复用思想相结合同时借鉴级联结构思想,设计稠密连接结构
针对稠密连接,提出DenseNet-BC形式分别在block内部和transition部分采用1*1卷积进行参数量的控制,使模型紧凑