DenseNet: Densely connected convolutional network

贡献和总结

1. 使用dense block(3到4个左右), 每个dense里面的每一层和其余任意层都连接, 前面的作为输入, 输出到之后所有的.

2. 1X1卷积可以用来改变每一层的输入层数

 

1 introduction

设计灵感来自DCNN中信息在长距离传输中可能会丢失.

dense block

结构是每一层都很其余的层连接: 当前层的输入串联之前所有层的输出特征图, 然后输出特征图串联到之后所有层上.

参数少, 因为非常窄, 比如每层12个滤波器. 最后一层连接了所有的特征图. 可以使得在少量数据集上防止过拟合

不像ResNet中的特征图求和(ResNet串联特征图了???), 而是串联特征图

 

2 Related work

没有适应非常深或者宽的结构, 而是通过特征重复利用, 生成密度模型

HighwayNet: Training very deep networks

NIN(Network in network): 滤波器中包含微多层感知

DSN(Deeply supervised nets): 内部层由辅助分类器监督, 可以加强低层的梯度感知

LadderNet: 在半监督学习任务上, 引入横向连接到encoder中, Semi-supervised learning with ladder

networks, Deconstructing the ladder network architecture

DFN(Deeply-fused nets): 通过对不同基础网络的中间层进行组合,提出了一种基于深度融合网(DFNS)的信息流模型

Augmenting supervised neural networks with unsupervised objectives for large-scale image classification

 

3 DenseNet

L: 总的层数

x0: 原图

lth: 第l层

Hl(.): 非线性转化(BN, ReLU, pool, conv)

xl: l层的输出

k: 每层输出的大小

Dense connectivity

Hl=BN+ReLU+3X3Conv

 

Pooling layer

dense block 之间是BN+1X1conv+2X2average pooling

 

Growth rate

DenseNet和别的网络的不同是, k可以是很小, 比如k=12, 其中k就是Growth rate

 

Bottleneck layers

因为有些输入的太多层, 所以可以用1X1来改变Hl

则Hl = BN-ReLU-Conv1X1-BN-ReLU-Conv3X3

可以让1X1conv生成4k特征图

 

DenseNet-BC

为了压缩, 使每一层的输出 = floor(θm) 0<θ<=1

本文θ=0.5

 

Implementation Details

除了使用ImageNet之外的数据集, 使用三个dense block. 每一个层次数量相同. 在第一个之前, 一个输出为16或者2k(denseNet-BC)的conv处理原始图像, size3X3, 具体细节看图

 

在ImageNet中, 使用4个dense blocks 输入224X224.

 

 

4 Experiments

 

5 Discussion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TWSF

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值