论文阅读:DENSELY CONNECTED CONVOLUTIONAL NETWORKS

来源:互联网 发布:java 项目 编辑:程序博客网 时间:2024/06/13 09:19

概述

作者观察到目前的深度网络有一个重要的特点是shorted connected,认为能够训练极深的网络很可能就是由于这个原因。 于是作者提出了Densely connected convolutional network, 该网络和ResNet类似,采用了短路链接。但是不同的是,在接收前层的feature maps时,ResNet采用了summation,而DenseNet采用的则是concated layer。作者认为这一小的改变影响了网络的feature reuse 方式。 Dense 体现在任何一层都能访问到前面各层的feature maps, 而且,任何一层的输入都能到达后续的各层(尽管Dense Block间需要经过transition layer(1*1的卷积+2*2的average pooling)访问)。

网络结构

一个Dense Patch 的结构:
这里写图片描述

整个网络的结构:
这里写图片描述

其中,DenseNet 包含3个Dense Blocks, Dense Block内部的每一个节点代表BN+ReLU+CONV,每个卷积层都是3*3*m的filter, 其中m 被称为growth rate. 若每个Dense Block有12层,输入到该block的feature map数为16,m=12, 则第一个Dense Block所有输出的concat起来的feature map 数是 16+12*12=160,transition layer是一个1*1的卷积,num_out 数保持和输入一致。这样,第二、三个的输出feature map 数分别是 160+12*12=304, 304+12*12=448.

若建立一个40层的DenseNet,除去第一个卷积层,两个transition layers, 1个Innerproduct layer, 每个Block的层数是(40-4)/3=12. 文中还提到100层的,则Block中的层数是(100-4)/3=32。

Experiments

在Cifar 10, Cifar 100, cifar 10+,cifar 100+, SVHN上取得了很好的效果。
从Accuracy, Capacity, Parameter effectiveness, Overfitting 四个方面进行说明。
首先Accuracy说DenseNet超过了state-of-art methods—–>之后Capacity说随着深度和growth rate的增加,效果也有提升——> 再者Parameter effectiveness说跟其他算法比相似参数效果较好—–> 最后,说因为参数少,所以不易过拟合。

分析

这篇文章最吸引我的是如何通过实验对该网络结构进行分析。
三个方面:parameter effectiveness(与ResNet相比能更有效的利用parameters, 说达到相同的accuray, 只需要ResNet大约一半的parameters)—-> implicity supervision(和DSN相比)—–>feature reuse(验证两方面:一是是不是后面的层都能用到前面各层的输出,二是使用前m层的feature map是不是足够的。用每层的每个channel上的filter的L2 norm表示对之前层的reuse程度。).

0 0
原创粉丝点击