网络学习系列(五)DenseNet

要解决的问题:

作者认为,在resnet中正是由于短连接的使用才使网络可以变得很深,那么,能否使用短连接对网络做一定的改进使得网络可以更深?

相关信息:

1、加入跳跃连接,可以使网络在训练时获得更好的信息和梯度流,而且可以避免梯度消失的问题。

2、ResNet看上去加深了深度,实际上去掉其中的一些隐藏层,其结果并没有变差,经过分析,这说明在反向传播时有些层并没有导通。

2、使用一种密集连接网络,如下所示:

每一层的输入都是前面所有层的输出,同时,每一层的输出又是后面所有层的输入。这样一来,原本L层网络有L个连接,现在变为L*(L+1)/2个连接。这种密集的模式,反而减少了参数,这是由于传统的模型可以视为状态的传递,而这种模型每一层都接受了全局的信息,减少了信息的冗余。

网络设计:

1、密集块中每一层都是由Batch Normalization+Relu+3*3convolution组成,与残差网络不同,当连接不同层的特征图时并非采用sum的方式,而是采用了concat的方式,因此,在每一层的卷积时都要控制特征图的大小不变。不仅如此,每一层产生的特征图数目也是固定的,被称为growth rate,一般来说,这个数值应该设置的比较小。

2、整体结构如下图所示:

每一个密集块中间都有一个过渡层,因为卷积网络本身就需要一个下采样的过程,这是处理的需要。过渡层由一个BN层,一个1*1的卷积和一个2*2的池化组成。

3、为了提高计算效率,可以在每一个密集块之前加一层Bottleneck layers,即1*1的卷积来进行降维操作,同时也可以在过渡层加一个降维操作。

4、网络结构如下所示:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iostat命令 :报告系统CPU和IO相关统计信息。 iostat 第一行会输出 - 系统版本内信息 - 统计开...
    Brown_阅读 970评论 0 51
  • 文 / 长木云伊 前几天写过一篇关于大学如何学习的小文(传送门:大学如何学习),因为只是较概括的说了一下方向,细节...
    莫嗔堂堂主阅读 1,314评论 0 4
  • 无忧无虑无愁,有山有水有暇。 听风弹琴赏月,看书喝茶养花。
    奢诗阅读 212评论 0 0

友情链接更多精彩内容