八、DenseNet论文总结

八、DenseNet

论文导读

Densely Connected Convolutional Networks(稠密连接的卷积神经网络)

意义:重新思考认识short path和feature reuse的意义,引入稠密连接思想;

  • 相关研究:

    1、Short Paths

    解决深度神经网络中存在信息流通不畅的问题——输入数据消失以及梯度消失;

    例子:ResNet中的跳连结构;

    2、多级特征复用

    多级特征复用可增加模型表征能力,也就是输出的score map由多级特征共同决定;

    优点:无需额外计算,可得到低层、中层和高层的特征来进行分类,使模型更鲁棒;

论文概要

1、稠密连接(Dense connectivity)

在这里插入图片描述

说明:在每一个block中,每一层的输出均会直接连接到后面所有层的输入;

优点:

  • 用较少的参数获得更多的特征,减少参数量明显,模型大小可以达到ResNet的十分之一;
  • 低级特征得以复用,特征更丰富;
  • 更强的梯度流动,跳连结构更多,梯度更容易向前传播;

2、DenseNet结构图

在这里插入图片描述

从图中可知,有121、169、201、264四种官方给出的网络深度,和ResNet同为层次较深的模型,参数量远小于ResNet;

头部卷积:采用7x7卷积核进行快速的下采样,这里思考是否有更有的方式;

Dense Block:主要是稠密连接的思想,浅层的特征会加入到深层的特征中;

Transition Layer:使用1x1卷积压缩一半,池化降采样;

3、Growth rate

稠密连接的方式,使得特征图通道随着网络层的加深不断增多,因此要控制特征图数量,Growth rate超参数就是用来控制卷积层中的卷积核个数;

4、Bottleneck layers——DenseN-B

瓶颈层来降低特征图通道数,减少后续卷积的计算量,主要形式类似ResNet中使用1x1卷积核降低通道数;

5、网络结构:

整体可分为三大块,头部卷积、Dense Block堆叠、全连接输出分类概率;

6、分析每一层特征重要性

在这里插入图片描述

结论:

(1)网络层的权重分布在各个特征图上,不仅关注上一层的特征图,还关注前面所有层的特征图;

(2)block3中看到的分类输出层对靠后的特征更加关注,可能是靠后的层得到的高级特征,更具有分辨力;

论文总结

  • 关键点&创新点

    1、将捷径连接与特征复用思想结合,同时借鉴级联机构思想,设计出稠密连接结构;

    2、针对稠密连接,提出DenseNet-BC形式分别在block内部和transition部分采用1x1卷积进行参数量控制,使模型紧凑;

  • 启发点

    1、信息流通不顺畅时,普遍采用捷径连接来处理;

    2、多采用捷径连接,便于信息流通、梯度传递,可使模型便于训练;

    3、稠密连接在小数据集上起到正则作用,有种说法是DenseNet适合小数据集;

    4、不同层处理得到的特征进行拼接,可丰富下一层网络输入特征的多样性,以及提高效率;

    5、多级特征融合时,要在卷积层之前执行BN-ReLU,否则多个层级输出时执行BN,会导致特征的尺度不一致;

    6、3x3卷积之前通过1x1卷积减少特征图通道的操作称为Bottleneck layer;

    7、DenseNet的训练极其消耗存储空间,因为需要保留大量的特征图,用于反向传播计算;

  • 缺陷:训练时消耗大量存储空间

    计算图:用来描述运算的有向无环图;

    在DenseNet训练过程中需要用到的计算图较多,消耗的存储空间较大;

    关于深度学习中显存的占用,可参考以下文章:https://zhuanlan.zhihu.com/p/31558973

论文代码

模型结构图

在这里插入图片描述

上图中,基础模块主要由三部分定义:DenseBlock、Denselayer、Transition

在DenseBlock中,每个Denselayer都会进行拼接,如下图所示:

在这里插入图片描述

def forward(self, init_features):
    features = [init_features]
    for name, layer in self.items():
		new_features = layer(features)
         features.append(new_features)
    return torch.cat(features, 1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值