ResNet && DenseNet(原理篇)

这篇博客讲现在很流行的两种网络模型,ResNetDenseNet,其实可以把DenseNet看做是ResNet的特例 文章地址: [1]Deep Residual Learning for Image Recognition,CVPR2015 [2]Densely Connected Convolutional Networks,CVPR2016

本篇博客不讲论文的内容,只讲主要思想和我自己的理解,细节问题请自行看论文

Introduction

When it comes to neural network design, the trend in the past few years has pointed in one direction: deeper. 但是问题是:

Is learning better networks as easy as stacking more layers ??

让我们看看在ImageNet上分类winner的网络的深度:

是不是我们通过简单的stack的方式把网络的深度增加就可以提高performance?? 答案是NO,存在两个原因

  • vanishing/exploding gradients
  • degradation problem

Residual

其实思想很简单:

Instead of hoping each few stacked layers directly fit a desired underlying mapping, we explicitly let these layers fit a residual mapping. Formally, denoting the desired underlying mapping as H(x),we let the stacked nonlinear layers fit another mapping of F(x): H(x)-x. The original mapping is recast into F(x)+x.

那么学习到的F(x)就是残差.

Shortcut Connections

思想起源于HighWay Nets,shortcut的好处是:

a few intermediate layers are directly connected to auxiliary classifiers for addressing vanishing/exploding gradients.

通过shortcut的方式(Residual)进行stack的nets(ResNet),可以在加深layers上获得更好的效果

对比在ImageNet上的效果:

再来个表格对比,更加明显:

DenseNet

一个词概括网络的结构特点就是Dense,一句话概括的话:

For each layer, the feature maps of all preceding layers are treated as separate inputs whereas its own feature maps are passed on as inputs to all subsequent layers.

结构如下所示:

和ResNet相比,最大的区别在于:

Never combine features through summation before they are passed into a layer, instead we provide them all as separate inputs.

对于此网络来说,很明显number of connections适合depth成平方的关系,所以问题是当depth很大的时候是不是已经无法训练了?? 作者是这么说的:

Although the number of connections grows quadratically with depth, the topology encourages heavy feature reuse.

对比ResNet来说:

Prior work has shown that there is great redundancy within the feature maps of the individual layers in ResNets. In DenseNets, all layers have direct access to every feature map from all preceding layers, which means that there is no need to re-learn redundant feature maps. Consequently, DenseNet layers are very narrow (on the order of 12 feature maps per layer) and only add a small set of feature maps to the “collective knowledge” of the whole network.

在Cifar 10等上做分类的网络模型是:

结果:

Conclusion

其实无论是ResNet还是DenseNet,核心的思想都是HighWay Nets的思想: 就是skip connection,对于某些的输入不加选择的让其进入之后的layer(skip),从而实现信息流的整合,避免了信息在层间传递的丢失和梯度消失的问题(还抑制了某些噪声的产生).

下篇说下使用Tensorflow做具体实现

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【干货】卷积神经网络中的四种基本组件

【导读】当今,卷积神经网络在图像识别等领域取得巨大的成功,那么是什么使其高效而快速呢?本文整理John Olafenwa的一篇博文,主要介绍了卷积神经网络采用的...

6306
来自专栏闪电gogogo的专栏

压缩感知重构算法之压缩采样匹配追踪(CoSaMP)

压缩采样匹配追踪(CompressiveSampling MP)是D. Needell继ROMP之后提出的又一个具有较大影响力的重构算法。CoSaMP也是对OM...

30910
来自专栏我的python

char-rnn 语言模型

项目GitHub地址:https://github.com/ClownW/Char-RNN-Pytorch

3546
来自专栏人工智能头条

递归神经网络不可思议的有效性(上)

2554
来自专栏懒人开发

(3.1)James Stewart Calculus 5th Edition:Derivatives of Polynomials and Exponential Functions

这里y = 2x 是 和 y = e^x 相切 如果 斜率为2,则对应横坐标值为a, 点为(a,e^a) 就是: **e^a = 2 ** => **...

953
来自专栏PPV课数据科学社区

机器学习系列:(三)特征提取与处理

特征提取与处理 上一章案例中的解释变量都是数值,比如匹萨的直接。而很多机器学习问题需要研究的对象可能是分类变量、文字甚至图像。本章,我们介绍提取这些变量特征的方...

4978
来自专栏人工智能LeadAI

TF使用例子-LSTM实现序列标注

本文主要改写了一下"Sequence Tagging with Tensorflow"(https://link.jianshu.com?t=https://g...

6918
来自专栏大数据挖掘DT机器学习

机器学习算法-决策树C4.5练习

决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应...

3666
来自专栏深度学习入门与实践

机器学习基础与实践(二)----数据转换

本博客所有内容以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,并且是非商业用途,谢谢! 系列目录: 1 第一部分 模型的评估与数据处理 ...

2046
来自专栏杨熹的专栏

Machine Learning Notes-Decision Trees-Udacity

什么是 Decision Tree? Decision Tree 可以把 Input 映射到离散的 Labels。对每个节点上的 Attribute 提问...

3676

扫码关注云+社区