He Kaiming 团队使用residual networks一举拿下2015年ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation冠军。
ResNet结构的优势
- 训练深度网络收敛速度快(易训练)
- 加深网络层次,减少卷积层的kernel数量,可以将参数数量控制在较小范围
ResNet block
image.png上图描述了这样一种情况:对于普通结构的神经网络(未使用residual network structure),在某个迭代(训练)次数固定的情况下,更深的网络误识率反而更高。该现象包含了两条信息:
- 层次更深的网络的‘表达’能力包含了浅层网络的‘表达’能力,上述现象要么是深层网络训练过程出现梯度消失(爆炸),要么是迭代次数不足以使其收敛
- 随着网络深度的增加,普通结构的神经网络收敛的速度大幅度下降(指数级?)
image.png
上图就是一个residual block,曲线表示一个短路连接(shortcut connection)。上图中短路连接“跨过”两层神经元,当然可以是全连接层,也可以是卷积层,层数也自然可以增加,He等人测试后认为如果中间只隔一层,那么短路连接相当于一次线性变换,并不具备residual network对深层网络易训练、快速收敛的优势,因此: - short connection “跨过”的层数应
image.png
上图显示了两组层数相同,训练参数数量相同的普通CNN网络(左)和ResNet网络(右)在ImageNet数据集上迭代训练50万次的收敛情况。可以明显看出,34层的ResNet网络收敛速度更快(右图中34层的ResNet网络表现一直优于18层的网络,而左图则相反),表明相较于普通结构的网络,ResNet网络更易训练。
Shortcut Connection的连接策略
image.png上图显示了两种ResNet block情况下的Shortcut Connection,左图为输入(位置B)与中间卷积层及输出(位置C)通道数均相等的情况,右图显示输入通道数与中间卷积层通道数不同的情况(当然输出通道数也可以不同,在该图中设置为相同了而已),
1x1
卷积层的作用是实现通道数增减以适配输入、中间卷积层、输出层的通道数。
上图右输入与输出通道数相同,中间通道数减少,为一个Bottleneck Architecture ResNet Block
。
如果ResNet Block的输入、中间层、输出通道数不同,那么连接的方式有两种:
- zero padding shortcuts (直接将通道数较少的层使用全为零的feature map填充,使得通道数相等)
- 使用卷积层调整通道数(projection)
图片均来自参考文献[1]
Reference
[1] He, K. , Zhang, X. , Ren, S. , & Sun, J. . (2015). Deep residual learning for image recognition.
网友评论