深度学习总结(三)ResNet

ResNet残差网络

1、核心组件:(加了直连)

Plain net: 可以拟合出任意目标映射H(x);

Residual net: 

 可以拟合出任意目标映射F(x),H(x) = F(x) + x

 F(x)是残差映射,相对于identity来说;

 当H(x)最优映射接近identity时,很容易捕捉到小的扰动;

                              深度学习总结(三)ResNet

解释:上图左边为普通结构,也就是H(x) = F(x); 右边为残差块,在原始卷积结果上,加了一个直连,使得映射 H(x) = F(x) + x;

为什么这样做:可避免梯度消失,如对H(x) = F(x) + x求导,H'(x) = F'(x) + 1 也就是无论F'(x) 有多小,H'(x)都会大于1;

 

也可表示为:

               深度学习总结(三)ResNet

2、设计:

全是3*3卷积核;

卷积步长2取代池化;

用BN;

取消了:Max池化;全链接;Dropout;

 

                                            深度学习总结(三)ResNet

上图分解后:

      深度学习总结(三)ResNet

虚线的直连部分为尺寸降维(步长为2),通道升维(64 -> 128)

3、改进:

更深的网络:根据Bootleneck优化残差映射网络;

原始:3*3*256*256 -> 3*3*256*256

优化:1*1*256*64 -> 3*3*64*64 -> 1*1*64*256;

                          深度学习总结(三)ResNet

                 深度学习总结(三)ResNet