Microsoft的ResNet赢得了ILSVRC 2015 和COCO 2015的冠军。

它是为了解决在深度神经网络中,随着深度的加深,training error会增大。

ResNet解析:Deep Residual Learning for Image Recognition

这显然不是因为overfitting,因为overfitting的表现是在train set上表现很好,test set上表现变差。

它的基本模块结构如下:

ResNet解析:Deep Residual Learning for Image Recognition

定义公式是:

ResNet解析:Deep Residual Learning for Image Recognition

这里,x,y分别代表每一层的输入与输出。ResNet解析:Deep Residual Learning for Image Recognition代表残差,需要在训练过程中学习得到。

上面公式中,x和F的尺寸必须相同。若不相同,则使用下面的公式:

ResNet解析:Deep Residual Learning for Image Recognition

这里Ws和x做卷积。

这里的F通常包含两到三层,当然也可以包含更多的层。比如两层,ResNet解析:Deep Residual Learning for Image RecognitionResNet解析:Deep Residual Learning for Image Recognition代表RELU激励函数。当F只包含一层时,就退化会一个线性层了,ResNet解析:Deep Residual Learning for Image Recognition,这样就没什么意义了。

下图是VGG-19和34-layer plain,34-layer residual网络的对比。

ResNet解析:Deep Residual Learning for Image Recognition

和VGGNet相比,ResNet网络更深,但是参数却少得多。

在ImageNet挑战中使用的方案如下:

1. 图像随机缩放,短边在[256,480]之间随机采样。

2. 从原图像或其翻转的图像随机裁剪224x224大小。

3. 每个像素减去均值。

4. 标准颜色增强。

5. batch normalization。

6. SGD, minbatch=256.

7. learning rate=0.1,当error不在减小时,除以10。

8. 训练600000次。

9. weight decay=0.0001。

10. momentun=0.9。

11. 卷积时设置stride=2,使特征尺寸减小。

ResNet解析:Deep Residual Learning for Image Recognition

上图中用[]括起来的就是一个building blocks。

训练错误率如下图:

ResNet解析:Deep Residual Learning for Image Recognition

top-1错误率:

ResNet解析:Deep Residual Learning for Image Recognition

ResNet解析:Deep Residual Learning for Image Recognition

ResNet解析:Deep Residual Learning for Image Recognition

ResNet解析:Deep Residual Learning for Image Recognition

plain网络表示没有残差引入,只是网络的层层堆叠。

前面提到,一个building block通常含两层或者三层结构。

ResNet解析:Deep Residual Learning for Image Recognition

这里两层的结构主要用在ResNet-34网络中,而三层的结构主要用在ResNet-50/101/152网络中。1x1的卷积用来改变特征的深度,减小计算量。

相关文章:

猜你喜欢
相关资源
相似解决方案