论文阅读:ResNet

一、对网络的理解

1、网络加深之后,性能不升反降,作者在论文中对比了两种网络一种是plain net 一种即是本文提出的和plain net配置层数(34层) 参数一样的ResNet,作者猜想plain net 训练错误率更高的原因可能是因为这种深网络具有指数级低的收敛速度,且作者排除了是前向和后向传播时梯度消失或爆炸的原因,因为网络中加入了BN层;所以深网络难以训练,学起来很困难,现有的训练方法难以让网络继续学习。

2、作者提出了ResNet,结构图如下图:
在这里插入图片描述

比如:网络本来想学习H,现在有这个shorcut connection之后,网络只需要学习H-x=F,这就是Residual学习,有了这种结构之后,网络学习起来比之前很容易,而且最差就是F=0,这样性能也是和原有的性能一样高,不会出现网络降级之后网络出现降级问题。

3、resnet虽然深,但网络复杂度没有VGG高,根据FLOPS指标,而且参数量也比vgg少

4、x和F的feature map尺寸要相同,论文中的说法是通道数相同。
(注:ResNet的一个重要设计原则是:当feature map大小降低一半时,feature map的数量增加一倍,这保持了网络层的复杂度。)

5、vgg中用pool池化操作来减小feature map的尺寸,而plain net和resnet中是用卷积中的stride和zero padding,所以相对于plain net来说并没有多余的参数

6、 ResNet的另一个角度理解:

relu函数本质上是非线性滤波,如果是冗余信息的话,经过relu之后,可以将特征维度减少,但网络中浅层特征的冗余信息很少,如果此时经过relu的话,会造成信息丢失,所以resnet里的x是线性层,并不经过relu层,而F是relu非线性层,有了x之后,F中的冗余信息更多,所以relu只有,并不会丢失信息,所以此时的深网络可以在原有的基础上在一点点的学到东西,继续提高性能。

7、论文附录里贴了一些为打竞赛 而用的一些训练技巧:

Box refinement:
参考了【6】S. Gidaris and N. Komodakis. Object detection via a multi-region &
semantic segmentation-aware cnn model. In ICCV, 2015.

Global context:
利用了全局信息,有可能是roi pooling时从spp里找到一个和此时的roi大小差不多的整图也送进网络,让其得到目标周围的信息,分类效果会更好,例如乒乓球的例子,如果roi里只有乒乓球,那判断起来有点困难,但如果其附近出现了一个乒乓球拍或者台子,那么就可以确定这是乒乓球了。
(注:理解的不是很准确,后面看完SPPnet之后再补充。)

Multi-scale testing:

Using validation data:
将数据集中的val的一部分也拿来训练

Ensemble:
模型集成,用多个网络测试,训练时分开训练,然后根据每个网络的结果进行投票,得分高的为最终结果。

8、何凯明大佬说:ResNet正是有了这样的Skip Connection,梯度能畅通无阻地通过各个Res blocks,者何凯明说到,唯一影响深度的就是内存不足,因此只要内存足够,上千层的残差网络也都能实现。

二、论文中给出的数据

1、三种网络结构
在这里插入图片描述

2、训练时的错误率
在这里插入图片描述
3、各种网络性能对比
在这里插入图片描述
4、加了训练技巧之后的目标检测性能对比(附录里的)
在这里插入图片描述

5、Imagenet上的目标定位性能对比(附录里的)
在这里插入图片描述

三、论文启示句摘抄

1、深->>性能下降
When deeper networks are able to start converging, a
degradation problem has been exposed: with the network
depth increasing, accuracy gets saturated (which might be
unsurprising) and then degrades rapidly. Unexpectedly,
such degradation is not caused by overfitting, and adding
more layers to a suitably deep model leads to higher training error, as reported in [11, 42] and thoroughly verified by
our experiments.

2、映射
Instead of hoping each few stacked layers directly fit a
desired underlying mapping, we explicitly let these layers fit a residual mapping.

3、网络设计
The convolutional layers mostly have 3×3 filters and
follow two simple design rules: (i) for the same output
feature map size, the layers have the same number of filters; and (ii) if the feature map size is halved, the number of filters is doubled so as to preserve the time complexity per layer. We perform downsampling directly by
convolutional layers that have a stride of 2.

4、解空间
We have observed the degradation problem - the
34-layer plain net has higher training error throughout the
whole training procedure, even though the solution space
of the 18-layer plain network is a subspace of that of the
34-layer one

5、更深的网络有更小的响应
These results support our basic motivation (Sec.3.1) that the residual functions might
be generally closer to zero than the non-residual functions.
We also notice that the deeper ResNet has smaller magnitudes of responses, as evidenced by the comparisons among
ResNet-20, 56, and 110 in Fig. 7

6、BN层固定参数
For the usage of BN layers, after pre-training, we compute the BN statistics (means and variances) for each layer
on the ImageNet training set. Then the BN layers are fixed
during fine-tuning for object detection. As such, the BN
layers become linear activations with constant offsets and
scales, and BN statistics are not updated by fine-tuning. We
fix the BN layers mainly for reducing memory consumption
in Faster R-CNN training

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值