论文笔记:DenseNet详细内容

DenseNet

在学习论文Fully Convolutional DenseNets for Polyp Segmentation in Colonoscopy时对Densenet进行一些总结:

ResNet与DenseNet的区别:

  • 相比ResNet,DenseNet提出了一个更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入

  • ResNet是每个层与前面的某层(一般是2~3层)短路连接在一起,连接方式是通过元素级相加(element-wise addition);而在DenseNet中,每个层都会与前面所有层在channel维度上连接(concat)在一起(channel-wise concatetation)

  • 对于一个L层网络,DenseNet共包含L(L+1)/2个连接,相比ResNet来说,这是一个密集连接,而且DenseNet是直接concat来自不同层的特征图,这可以实现特征重用(feature reuse),减少计算,提高效率,这点是两者主要的区别

    • ResNet

在这里插入图片描述

  • DenseNet

在这里插入图片描述

  • 公式表示:

    ResNet: 增加了来自上一层输入的identity函数
    x l = H l ( x l − 1 ) x_l = H_l(x_l-1) xl=Hl(xl1)
    DenseNet:会连接前面所有层作为输入
    x l = H l ( [ x 0 , x 1 , . . . , x l − 1 ] ) x_l = H_l([x_0,x_1,...,x_{l-1}]) xl=Hl([x0,x1,...,xl1])

​ 其中,上面的 H(代表是非线性转化函数(non-liear transformation),它是一个组合操作,其可能包括一系列的BN(Batch Normalization),RELU,Pooling以及Conv操作。

CNN网络一般要经过Pooling或者stride>1的Conv来降低特征图的大小,而DenseNet的密集连接方式需要特征图大小保持一致。为了解决这个问题,DenseNet网络中使用DenseBlock+Transition的结构,其中DenseBlock是包含很多层的模块,每个层的特征图大小相同,层与层之间采用密集连接方式。而Transition模块是连接两个相邻的DenseBlock,并且通过Pooling使特征图大小降低。

在DenseBlock中,各个层的特征图大小一致,可以在channel维度上连接。DenseBlock中的非线性组合函数 H 采用的是BN+ReLU+3x3 Conv的结构。与ResNet不同,所有DenseBlock中各个层卷积之后均输出 K 个特征图,即得到的特征图的channel数为 K ,或者说采用 K 个卷积核。k在DenseNet网络中称为growth rate,是一个超参数.在上面提到的论文中k=12,可得到较好的性能。假定输入层的特征图的channel数为X0,那么第n层输入的channel数为X0+(n-1)*k

在这里插入图片描述

由于后面层的输入会非常大,DenseBlock内部可以采用bottleneck层来减少计算量,主要是原有的结构中增加1x1 Conv,即BN+ReLU+1x1 Conv+BN+ReLU+3x3 Conv,称为DenseNet-B结构。其中1x1 Conv得到 4K 个特征图它起到的作用是降低特征数量,从而提升计算效率。

在这里插入图片描述
对于Transition层,它主要是连接两个相邻的DenseBlock,并且降低特征图大小。Transition层包括一个1x1的卷积和2x2的AvgPooling,结构为BN+ReLU+1x1 Conv+2x2 AvgPooling。另外,Transition层可以起到压缩模型的作用。假定Transition的上接DenseBlock得到的特征图channels数为 m ,Transition层可以产生 [θ m] 个特征(通过卷积层),其中 θ在0-1之间, 是压缩系数(compression rate)。当 θ=1 时,特征个数经过Transition层没有变化,即无压缩,而当压缩系数小于1时,这种结构称为DenseNet-C.对于使用bottleneck层的DenseBlock结构和压缩系数小于1的Transition组合结构称为DenseNet-BC

在本篇论文中介绍了将pruned densenet和 traditional densenet 构造全卷积网络

TDB:

在这里插入图片描述
PDB:

如果使用TDB, feature map的数量会随着分辨率的增大而快速增长。如果使用PDB, feature map的数量会随着分辨率的增大而缓慢增长。

两者构造的全卷积网络:
在这里插入图片描述

在每次TDB后加入了Skip方法,弥补了在卷积过程中的损失,从而得到相同分辨率的feature map

层数不同,分割效果不同,当n=6时,分割效果最好

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值