《Densely Connected Convolutional Networks》论文心得

《Densely Connected Convolutional Networks》论文心得

作者及其所在团队在国内外相关领域所处水平:

黄高:美国康奈尔大学计算机系博士后主要研究领域为深度神经网络的结构设计与优化算法,以及深度学习在计算机视觉与自然语言理解中的应用。目前已发表学术论文20余篇,被引用次数达1000余次;其中一篇综述论文被中国科学技术信息研究所评选为2015年全国百篇最具国际影响学术论文;会议论文“Densely ConnectedConvolutional Networks”获得国际计算机视觉*会议CVPR的最佳论文奖。
个人主页:http://www.gaohuang.net/

刘壮:清华大学姚班本科生,以共同第一作者身份发表的大会论文Densely Connected Convolutional Networks(《密集连接的卷积神经网络》)获得了会议最佳论文奖。

Laurens van der Maaten:Facebook人工智能研究院研究员FAIR 的研究人员在众多国际*会议中得到了认可,比如在 ACL、EMNLP、CVPR、ECCV 中得到了最佳论文奖,在 ECCV、ICML 和 NeurIPS 得到了时间检验奖项。

Kilian Q. Weinberger:康奈尔大学教授,团队主页:http://www.cs.cornell.edu/~kilian/research/multitasklearning/multitasklearning.html

问题解决:

在一定程度上缓解了梯度消失的问题,加强了特征传播,使得网络变得更深,采用更少的计算达到更高的性能。

论文贡献:

论文提出了一种能够在加深网络的同时缓解梯度消失的策略,并且能够在加深网络同时加强特征的传播以及尽可能的减少参数量,使得更深、准确率更高的网络成为了可能。

论文思想基础:

1:保证最大的信息量在所有层之间进行传递。

2:将所有层的信息进行共享。

3:明确区分添加的网络的信息和保存的信息。

4:让每一层可以直接访问来自损失函数和原始输入信号的梯度,产生隐式深度监督。

5:采用密集化连接以达到正则化效应。

论文工作:

1.将所有层进行连接以确保最大的信息量在所有层之间进行传递,但区别于resnet,在特征被传递到层之前不采用求和的方式。

2.将前面所有层所有额外的输入并且将特征映射到后面所有层。

网络细节:

《Densely Connected Convolutional Networks》论文心得

x0为输入,(.)为非线性变换,第l层的输出为xL。

传统网络:第L-1层的输出是第L层的输入xL=HL(x(L-1))

Resnets连接: xL=HL(x(L-1))+x(L-1)

Densenet连接: xL=HL([x0,x1,…,x(L-1)])

feature map: 每个HL输出 k个feature map,,那么第l层的feature map输入就为k0 +k *(L-1)。

原Dense block结构: 包含多个子结构,由多个BN-RELU-3✖3的卷积操作构成。

Transition Layer: 在两个Dense block之间采用transition Layer进行连接,起到了降维,减小计算量的作用。其中含有一个参数θ(0≤θ≤1),其表示原通道数缩小的倍率,例如为0.5时被输出传递到下一个Dense Block时通道的数量会被缩减一半。当传递特征图大小相同的Denseblock时,采用1×1卷积的连接方式;当传递特征图大小不同的Dense block时,采用1×1卷积后跟随池化层的连接方式。

Growth rate: k个feature maps个数,并且较小的k能得到很好的结果。

原DenseNet网络结构:

《Densely Connected Convolutional Networks》论文心得

DenseNet网络进阶结构:

DenseNet-B:仅加入bottleneck layers,Dense block转换为BN-RELU-1✖1和BN-RELU-3✖3,1✖1的卷积作为bottleneck layer(线性瓶颈层)起到了降维,减小计算量的作用。。

DenseNet-C:仅加入transition layers,在Dense block之间加入BN+ReLU+1x1 Conv,特征图大小变化时为BN+ReLU+1x1 Conv+2x2 AvgPooling

DenseNet-BC:同时加入bottleneck and transition layers,Dense block转换为BN-RELU-1✖1和BN-RELU-3✖3同时在Dense block之间加入BN+ReLU+1x1 Conv,特征图大小变化时为BN+ReLU+1x1 Conv+2x2 AvgPooling

训练策略:

CIFAR-10:batch:64,epochs:300,开始的学习率为0.1,衰减策略为轮数的50%和75%分别除以10。

SVHMV:batch:64,epochs:40,开始的学习率为0.1,衰减策略为轮数的50%和75%分别除以10。

ImageNet:bacthsize:256,epochs:90,学习率也是以0.1开始,到30轮和60轮的时候衰减10倍,采用dropout的方式,丢失率为20%。

程序源码:

https://github.com/liuzhuang13/DenseNet

训练集及测试集:

ImageNet:http://www.image-net.org/

CIFAR-10:http://www.cs.toronto.edu/~kriz/cifar.html

SVHN:http://ufldl.stanford.edu/housenumbers/

未来改进:

1.占用显存过大。

2.深度仍然不能太大。