ResNet结构分析

本文主要分析残差网络(ResNet)及其变种的结构。残差网络在论文Deep Residual Learning for Image Recognition中被提出。论文连接:https://arxiv.org/pdf/1512.03385.pdfweb

1. Building block和Bottleneck结构
首先resnet由building block或bottleneck组成。building block的结构以下:
网络

这里写图片描述

building block结构包含一个残差支路和short-cut支路,比传统的卷积结构多了一个short-cut支路,用于传递低层的信息使得网络可以训练地很深。
bottleneck的结构以下:
这里写图片描述

bottleneck先经过一个1x1的卷积减小通道数,使得中间卷积的通道数减小为1/4;中间的普通卷积作完卷积后输出通道数等于输入通道数;第三个卷积用于增长(恢复)通道数,使得bottleneck的输出通道数等于bottleneck的输入通道数。这两个1x1卷积有效地较少了卷积的参数个数和计算量。
不一样数量的building block或bottleneck组成了不一样的resnet:
这里写图片描述

从上图能够看到,ResNet共有5组卷积。第一组卷积的输入大小是224x224,第五组卷积的输出大小是7x7,缩小了32(2^5)倍。每次缩小2倍,总共缩小5次,且每次都是在每组卷积的第一层上使stride为2。

实际使用中,不少网络几乎原封不动地使用resnet中的卷积层结构,上图中的resnet-50和resnet-101的在各类任务重是很常见的。为了提升应用能力,上面中卷积层的个数有必要记下来。上图中第一栏layer name分为5组,feature map的通道数依次乘2。因为上下组的卷积层通道数不一样(相似于VGG网络通道数的特色),使得短路链接不能直接相加,故须要在后四组链接上一组的第一个卷积层的短路链接通路添加投影卷积。app

2. ResNet与Batch Normalization
因为ResNet的结构有别于传统的卷积结构,使得信号的前向传播和梯度的反向传播变得更复杂。为了稳定训练时信号的前向传播和梯度的反向传播,从ResNet开始,网络广泛使用Batch Normalization。ide

3. ResNet-V2
固然,上面的ResNet的结构并不是就是完美的了,所以有些论文中对resnet的结构略微进行了修改(仍属于resnet结构)。修改存在两方面,一方面是修改building block自己的结构,另外一种是修改上面各组卷积层的数量搭配。
何凯明在论文Identity Mappings in Deep Residual Networks中修改了残差块的结构,结构以下图:
svg

这里写图片描述

新结构将relu移到残差支路,有利于信号的前向传播和梯度的反向传播,这篇文章的数学表示是比较漂亮的,论文下载地址: https://arxiv.org/abs/1603.05027
虽然ResNet-V2彷佛有以上优势,但在各类任务中较少用来用做backbone网络。

4. SphereFaceNet
SpherefaceNet也是一个修改ResNet结构的实际例子,残差块结构比较接近上面的ResNet-V2。它也将building block中relu从加号后放到了残差支路,使得训练的收敛速度加快。并且,它还修改了各组卷积层的卷积层个数,固然,它的每组卷积层个数和通道数的变化趋势仍是跟上表中的安排比较一致的:都是倒数第二组卷积层最多且通道数随组递增。sphereface的结构以下表:
性能

这里写图片描述

5. ResNeXt
出自论文“Aggregated Residual Transformations for Deep Neural Networks”,主要是将残差块的中间的3x3卷积层变成group卷积,同时扩大了3x3卷积的输入输出通道数,使得在与对应的ResNet网络的计算量和参数个数相近的同时提升网络的性能。值得一提的是,ResNeXt与经常使用的ResNet对应的层数彻底相同,都是50、10一、152层。ResNeXt已经被不少网络用来看成backbone,例如Mask RCNN中除了使用ResNet,也尝试使用了ResNeXt-101和ResNeXt-152。ui

References
1. He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: CVPR. (2016)
2. He, K., Zhang, X., Ren, S., Sun, J.: Identity Mappings in Deep Residual Networks. In: ECCV (2016)
3. W. Liu, Y. Wen, Z. Yu, M. Li, B. Raj, L. Song.: SphereFace: Deep Hypersphere Embedding for Face Recognition. In: CVPR (2017)orm