目录
● Dense Block● DenseNet 结构
● DenseNet 的优势
● CIFAR & SVHN 小规模数据集结果
● ImageNet 大规模数据集结果
● 特征复用的进一步分析
Dense Block
在Standard ConvNet中,输入图像经过多次卷积,得到高层次特征。
在ResNet中,提出了恒等映射(identity mapping)来促进梯度传播,同时使用使用 element 级的加法。它可以看作是将状态从一个ResNet 模块传递到另一个ResNet 模块的算法。
在 DenseNet 中,每个层从前面的所有层获得额外的输入,并将自己的特征映射传递到后续的所有层,使用级联方式,每一层都在接受来自前几层的“集体知识(collective knowledge)”。
由于每个层从前面的所有层接收特征映射,所以网络可以更薄、更紧凑,即信道数可以更少。增长速率k是每个层的附加信道数。
因此,它具有较高的计算效率和存储效率。下图显示了前向传播中级联的概念:
DenseNet 结构
1. 基础 DenseNet 组成层
对于每个组成层使用 Pre-Activation Batch Norm (BN) 和 ReLU,然后用k通道的输出特征映射进行 3×3 卷积,例如,将x0、x1、x2、x3转换为x4。这是 Pre-Activation ResNet 的想法。
2. DenseNet-B (Bottleneck 层)
为了降低模型的复杂度和规模,在BN-ReLU-3×3 conv之前进行了BN-ReLU-1×1 conv.
3. 具有转换层(transition layer)的多Dense块
采用1×1 Conv和2×2平均池化作为相邻 dense block 之间的转换层。
特征映射大小在 dense block 中是相同的,因此它们可以很容易地连接在一起。