带你读论文系列之计算机视觉--DenseNet

带你读论文系列之计算机视觉–DenseNet

情若能自控,我定会按捺住我那颗吃货的心。

闲谈

今天听了师兄申请博士的经验。第一是感觉历程很心累,压力也很大;二是成功后很喜悦;三是成果很重要,其次是关系,努力和运气。漫长的时间等待与艰辛的的经历。对于现在的我来说,更多的是脚踏实地打好基础,不应该过于急于求成,慢慢来会更快。在一次次的选择后,我需要做到的就是减少自己的后悔。也许每一次的选择并不完美,也有利弊的取舍,收拾好心情又要重新出发。明天太阳🌞升起,又是美好的一天⛽️。

引言

论文Densely Connected Convolutional Networks

代码

本文是重新思考认识short path和feature reuse的意义,引入稠密连接思想。

DenseNet在ResNet的基础上(回顾ResNet🐂,ResNet 经典!!!),进一步扩展网络连接,对于网络的任意一层,该层前面所有层的feature map都是这层的输入,该层的feature map是后面所有层的输入。

摘要

  1. 残差连接使CNN更深、更强、更高效;

  2. 本文提出DenseNet,特点是前层作为后面所有层的连接;

  3. 通常L层有L个连接,DenseNet有L*(L+1)/2 ;

  4. 靠前的层作为靠后所有层的输入;

  5. DenseNet优点减轻梯度消失,增强特征传播,加强特征复用,减少权重参数;

  6. 在4个数据集上进行验证,表现SOTA。

如果将接近输入和输出的层之间短接,卷积神经网络可以更深、精度更高且高效。最后提出了密集卷积网络(DenseNet),它的每一层在前向反馈模式中都和后面的层有连接,与L层传统卷积神经网络有L个连接不同,DenseNet中每个层都和其之后的层有连接,因此L层的DenseNet有 L(L+1)/2 个连接关系。

在四个目标识别的基准测试集(CIFAR-10、CIFAR-100、SVHN 和 ImageNet)上评估了我们的结构,可以发现DenseNet在减少计算量的同时取得了更好的表现。

论文详情

稠密连接(Dense connectivity)

说明了生成的DenseNet的布局。在每一个block中,每一层的输出均会直接连接到后面所有层的输入。为了确保网络中各层之间的最大信息流,我们将所有层(具有匹配的特征图大小)直接相互连接。为了保持前馈性质,每一层从所有前面的层获得额外的输入,并将它自己的特征图传递给所有后续层。

ResNets和Highway Networks通过身份连接将信号从一层旁路到下一层。随机深度通过在训练期间随机删除层来缩短ResNet,以允许更好的信息和梯度流。

为了确保网络中各层之间的最大信息流,我们将所有层(具有匹配的特征图大小)直接相互连接。为了保持前馈性质,每一层从所有前面的层获得额外的输入,并将它自己的特征图传递给所有后续层。

最重要的是,与ResNet不同的是,我们在将特征传递到一个层之前,从不通过求和的方式将它们结合起来;相反,我们通过串联的方式来结合特征。

  1. 稠密连接可用更少参数获得更多特征图;
  2. 传统NN的层可看成一个状态,NN对状态进行修改或保留;
  3. ResNet通过恒等映射保留信息;
  4. ResNet中很多特征图作用很小;
  5. ResNet的状态(特征图)就像RNN网络一样;
  6. DenseNet不进行特征相加以及信息保留;
  7. DenseNet网络很窄。

Highway Network 与ResNet的成功均得益于By passing paths。

  1. 除了加深网络,还有一种加宽的方法来提升网络;
  2. 如GoogLenet ,加宽的ResNet。

在深度足够的情况下,ResNet可以提高其性能。FractalNet也在几个数据集上使用广泛的网络结构取得了有竞争力的结果。

  • DenseNet不同于其他网络去增加宽度和深度;
  • DenseNet利用特征复用,得到易训练且高效的网络。

DenseNet不是从极深或极广的架构中获取表征能力,而是通过特征重用来发挥网络的潜力,产生易于训练且参数效率高的浓缩模型。将不同层学到的特征图串联起来,增加了后续层输入的变化,提高了效率。这构成了DenseNet 和ResNet的一个主要区别。Inception networks也是将不同层的特征连接起来,与之相比,DenseNet更简单、更有效。

还有其他值得注意的网络结构创新,它们产生了有竞争力的结果。网络中的网络(NIN)结构将微型多层感知器纳入卷积层的过滤器,以提取更复杂的特征。在
Deeply Supervised Net-work(DSN)中,内部各层直接受到辅助分类器的监督,这可以加强早期各层所接收的梯度。梯形网络在自动编码器中引入了横向连接,在半监督学习任务中产生了令人印象深刻的精确度。深度融合网(DFN)被提出,通过结合不同基础网络的中间层来改善信息流。

  • shortcut connection的更容易优化;

  • 缺点是求和的形式会阻碍(impede)信息的流通;

  • CNN需要下采样但Denseblock中分辨率是不会变的

  • 在block之间进行特征图分辨率下降

  • 利用transition layer来执行

  • BN+11conv+22 池化

  1. 若每层计算后得到k个特征图,那么第l 层会有k0+k*(l-1)个特征
    图,因此k不能太大;
  2. DenseNet的每层就非常的窄,非常的薄,例如k=12;
  3. 这里的k就是超参数Growth Rat;
  4. k越小,结果越好;
  5. 从state的角度讲解DenseNet;

这篇文章又一个比较清晰的bottleneck解释。

每个3×3卷积之前引入1×1卷积作为bottleneck,以减少输入特征图的数量,从而提高计算效率。

为了进一步提高模型的紧凑性,我们可以减少过渡层的特征图的数量。如果一个密集块包含m个特征图,我们让下面的过渡层生成bθmc输出特征图,其中0<θ≤1称为压缩因子。当θ=1时,跨过渡层的特征图数量保持不变。我们将θ<1的DenseNet称为DenseNet-C,我们在实验中设置θ=0.5。当同时使用θ<1的Bottleneck和过渡层时,我们将我们的模型称为DenseNet-BC。

在除ImageNet之外的所有数据集上,我们实验中使用的DenseNet具有三个密集块,每个块都有相同的层数。在进入第一个密集块之前,对输入图像执行具有16 个(或DenseNet-BC增长率的两倍)输出通道的卷积。对于内核大小为3×3的卷积层,输入的每一侧都填充了一个像素以保持特征图大小固定。我们使用1×1 卷积,然后是2×2平均池化作为两个连续密集块之间的过渡层。在最后一个密集块的末尾,进行全局平均池化,然后附加一个softmax 分类器。三个密集块中的特征图大小分别为32×32、16×16和8×8。我们用配置{L=40,k=12}、{L=100,k =12}和{L=100,k=24}对基本的DenseNet结构进行实验。对于DenseNet-BC,评估具有配置{L=100,k=12},{L=250,k=24}和{L=190,k=40}的网络。

在我们在ImageNet上的实验中,我们在224×224 输入图像上使用具有4个密集块的DenseNet-BC结构。初始卷积层包括2k个大小为7×7、步幅为2的卷积;所有其他层中特征图的数量也来自设置k。我们在ImageNet上使用的确切网络配置如下图所示:

DenseNet-121是指网络总共有121层:(6+12+24+16)*2 + 3(transition layer) + 1(7x7 Conv) + 1(Classification layer) = 121。

过渡层;
1×1卷积,然后是2×2平均池化。

实验

L表示网络深度,k为growth rate。蓝色字体表示最优结果,+表示对原数据集进行data augmentation。DenseNet相比ResNet取得更低的错误率,且参数更少。

讨论DenseNet的优点

结论:加B,加C更省参数。


同样精度时,densenet-bc仅用1/3参数。

同样精度,相差十几倍的参数量。

将输入进行连接的直接结果是,DenseNets每一层学到的特征图都可以被以后的任一层利用。该方式有助于网络特征的重复利用,也因此得到了更简化的模型。DenseNet-BC仅仅用了大概ResNets 1/3的参数量就获得了相近的准确率

三个dense block的热度图如下图所示:

在一个训练有素的密集网络中,卷积层的平均绝对滤波权重。像素(s)的颜色编码了连接卷积层和`密集区的权重的平均水平(按输入特征图的数量归一化)。由黑色矩形突出的三列对应于两个过渡层和分类层。第一行是连接到密集块输入层的权重。

可以得出以下结论

  1. 在同一个block中,所有层都将它的权重传递给其他层作为输入。这表明早期层提取的特征可以被同一个dense block下深层所利用;

  2. 过渡层的权重也可以传递给之前dense block的所有层,也就是说DenseNet的信息可以以很少的间接方式从第一层流向最后一层;

  3. 第二个和第三个dense block内的所有层分配最少的权重给过渡层的输出,表明过渡层输出很多冗余特征。这和DenseNet-BC强大的结果有关系;

  4. 尽管最后的分类器也使用通过整个dense block的权重,但似乎更关注最后的特征图,表明网络的最后也会产生一些高层次的特征。

总结

我们提出了一种新的卷积网络架构,我们称之为密集卷积网络(DenseNet )。它引入了具有相同特征图大小的任意两层之间的直接连接。我们展示了DenseNet。自然地扩展到数百层,同时没有表现出优化困难。

随着参数数量的增加,DenseNets倾向于在准确度上持续提高,而没有任何性能下降或过度拟合的迹象。在多个设置下,它在几个竞争激烈的数据集上取得了最先进的结果。此外,DenseNets需要更少的参数和更少的计算来实现最先进的性能。因为在我们的研究中我们采用了针对残差网络优化的超参数设置,我们相信可以通过更详细地调整超参数和学习率计划来进一步提高
DenseNets的准确性。

在遵循简单的连接规则的同时,DenseNets自然地集成了身份映射、深度监督和多样化深度的特性。它们允许在整个网络中重复使用特征,因此可以学习更紧凑,更准确的模型。由于其紧凑的内部表示和减少的特征冗余,DenseNets 可能是各种基于卷积特征的计算机视觉任务的良好特征提取器。在未来的工作中用DenseNets 研究这种特征转移。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进阶媛小吴

规则简单易懂,粗暴却完美!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值