美文网首页
CondenseNet 算法 简单分析

CondenseNet 算法 简单分析

作者: 教训小磊 | 来源:发表于2020-04-17 15:50 被阅读0次

    CondenseNet 论文:https://arxiv.org/abs/1711.09224

    代码:https://github.com/ShichenLiu/CondenseNet

    CondenseNet  是基于DenseNet所出现的一些问题而提出的一个版本:

    问题:

    1.DenseNet 冗余度高,实际运行占用现存较多。

    DenseNet 通过稠密连接的方式,将网络的早期特征输入到后续所有层中,有效地提高了特征的重用率,同时也增加了训练过程中梯度的流动,但是并不是所有早期特征对后续层都有帮助,所以很难去判断早期的哪些特征是真正有用的。这就造成了DenseNet网络连接比较冗余,同时在实际训练和推理时占用显存较大。

    2.1x1卷积加入传统的分组方法,对模型的精度影响较大。

    在1x1卷积中采用传统的分组卷积方法后,模型的精度会有较大程度的下降,即便加入shuffe操作,效果也不会改善很多,原因是一般1x1卷积层的作用是对前面层的输出特征做通道上的融合,如果加入分组,那么融合的输入就减少了许多,因此输出的多样性就得不到保证。

    创新点:

    1.采用可学习的分组卷积

    可学习分组卷积就是在训练过程中采用剪枝操作,传统意义上的剪枝操作都是模型训练完以后进行的。本文的剪枝操作是分阶段进行的,最终会得到原来连接数的\frac{1}{G} ,这个G为分组卷积的组数。本文的剪枝操作本质上就是权重L1正则化的过程。

    2.全稠密连接

    DenseNet的稠密连接只在相应的block中进行,而本文作者将不同的block之间的特征也进行相连,做concatenate操作,对于特征图尺寸不同的问题,则通过pooling操作下采样。

    3.采用指数增长率

    DenseNet 中级联的增长率是固定的的,即不管哪一个block的增长率都是k,而在一些研究中发现,对于深层网络来说,高水平特征对模型的效果影响更大,所以通过增加后面层的通道数的方式提升网络性能。

    领悟

    1.对 分组卷积的计算流程更加清晰,同时通过公式计算知道分组卷积在减少模型计算量上的作用;

    2.学习了解L1,L2正则化的相关知识;

    3。对于DenseNet的优缺点更加明白。

    相关文章

      网友评论

          本文标题:CondenseNet 算法 简单分析

          本文链接:https://www.haomeiwen.com/subject/zgoevhtx.html