昨天学习了较为经典的DenseNet,今天来做一些总结,可能也会在以后的学习中经常用到。
1. DenseNet研究的背景
在DenseNet出现前,一般卷积神经网络提升效果的方向都是从深度和宽度出发,比如ResNet,其从深度出发,解决梯度消失的问题,要么宽,比如GoogleNet的Inception结构。
而DenseNet从特征出发,通过更好的利用特征来达到更好的效果和更少的参数。
2. DenseNet的优点
- 与ResNet类似,它也有解决梯度消失的问题
- 因为其每一层的结构,特征的传递性更强,更好的利用了特征
- 当数据集较少时,多过拟合有很好的帮助,抗过拟合能力强
- 减少参数量的同时,注重参数的使用,使得参数的利用率很高
3. DenseNet简答解析
其简单结构图如下图所示:
论文中提到,与传统的卷积神经网络想对比,在DenseNet中,L层的网络,会有L(L+1)/2个连接,就是说每一层的输入都是前面所有层的输出。这个可以从上图中清晰的看到。
4. FC-DenseNet
其网络结构如下:
在该网络中使用了Dense Block和Transition Up来代替了全卷积网络中的上采样操作,其中Transition Up使用转置卷积上采样特征图,然后与跳层的特征Concatenation一起成为新的Dense Block的输入。使用这种跳层解决Dense Block中特征损失的问题。
其中的Dense Block这个模块如下图所示。
其主要结构还是与DenseNet类似,最后第N层的layer层的输出与前面的输出整合起来,最后会得到n*k个特征图。
今天在学习这些优质的开源代码,自己也加油一下,争取以后能复现一下。