DenseNet的主要思想
目前的网络结构要么是增加了网络的宽度(GoogLeNet),要么是增加了网络的深度(Resnet)。但是DenseNet另辟蹊径,他是从特征上入手。网络结构非常小巧,但是效果却非常的惊人!
一些有用的链接
论文:Densely Connected Convolutional Networks
论文链接:https://arxiv.org/pdf/1608.06993.pdf
代码的github链接:https://github.com/liuzhuang13/DenseNet
MXNet版本代码(有ImageNet预训练模型): https://github.com/miraclewkf/DenseNet
DenseNet 的核心
DenseNet 的核心是Dense block。这个东西我用一句话概括一下就是每一层的输入来自前面所有层的输出。
在传统的神经网络中,如果你有N层,那么就有N个连接。但是在DenseNet中,会有 L ∗ ( L + 1 ) / 2 L*(L+1)/2 L∗(L+1)/2个连接。下面看一下Dense block的图示:
文章中同样也用公式说明了DenseNet和ResNet的区别:
首先看一下ResNet的公式:
X l = H l ( X l − 1 ) + X l − 1 X_l = H_l(X_{l-1})+X_{l-1} Xl=Hl(X