1 abstract

将层改为residual functions,模型更容易优化

模型越深越好,是VGG的8倍。模型复杂度比VGG更低

是2015年ImageNet 的1st

深度是获胜的关键

2 indroduction

模型的深度丰富了模型的features

深模型的问题:梯度消失或爆炸,难找到最优值,现有方案:normalized initlalization ,intermediate

更深: 精度无法进一步提高,损失值比浅层更大

3 解决: 优化F(X) 比优化F(x) +x 的难度更高

+x的部分:

identify function

跳跃一层或者多层layers

不增加parameters

不增加复杂度计算

容易实现

让损失值和预测精度都随着深度更好。

总共152层,复杂程度比VGG更低。

3.1 多层layers=H(x),约等于a residual function==F(x)=H(x)-x=F(x)+x

 

3.2 identity maping by shortcut

shortcut block的流程:y=F(x,{wi})+x, 其中ResNet:Deep Residual for Image Recognition

plain block  没有x,在深度,参数,成本没有差别

pooling 的因素会改变input,output的维数,用Ws 来补齐x 需要的维度

ResNet:Deep Residual for Image Recognition

F(x,{w}) 中的layer 可以是FC,也可以是Conv layers

3.3  network 结构

普通版:大量连续相同的conv layer,input和output 的shape 相同,当feature map 减半,filter 的数量就翻倍。普通版的filter 更少,计算复杂度更低,运算量更少(VGG 18%)

Resnet: 增加了 shortcout connection,维度不同的时候用Ws 补齐(padding with Zeros)1*1 的convolution

3.4 代码实现:

数据处理: rescale: 最短边从S=randomized[256,480] 之间抽样,得到更多的图; 224*224 修剪; 翻转;所有样本的像素减去均值; 标准颜色扩充处理。

conv layer: BN **

sgd,lr=0.1 ,当error 不降的时候,降10倍,60万iteration,weight decay =0.0001 momentum =0.9,没有drouout

4.1 ImageNet classification

plain network :

x2 是代表2个block

stride=2 让模型缩小一半

BN 避免了梯度小时,也没有影响预测精度,但是深模型的training error 很高。可能是很低的convergence rate 造成的,

RseNet: ResNet converge faster 在反向传递中产生效果,zero padding

Bottleneck 的设计目的: 加速计算;1*1 conv ,3*3 conv,1*1 conv;先缩小,再放大还原;相比于两个3*3 的conv 并没有增加计算量,bottleneck +identity short cut 很完美;

50层的layer ResNet :

换成了bottleneck block

101 和152 的layer: 增加了bottleneck block 的数量,复杂性大幅度低于VGG16-19.没有degradation。预测精度大幅度提高,

 

5 why Resnet works

梯度消失或爆炸导致反向传递的时候很难更新

Resnet 梯度消失时,返回自己,可以进行参数更新。相同颜色的shape一致。

ResNet:Deep Residual for Image Recognition

参考: https://www.bilibili.com/video/av16274698

https://www.bilibili.com/video/av16275481

https://www.bilibili.com/video/av16284825

https://www.bilibili.com/video/av16186719?from=search&seid=11680144772516069001

 

 

相关文章: