Deep Residual Learning for Image Recognition (ResNet_v1)
Identity Mappings in Deep Residual Networks (ResNet_v2)
ResNet一系列网络模型及其在ImageNet上的训练代码,我在TF-slim提供的代码的基础上进行了一些修改
https://github.com/Lithogenous/TF-ImageNet
ResNet是Kaiming et al.在2015年提出的一个模型,并且在ImageNet COCO等比赛中获得了不错的成绩,在第一版本ResNet的基础之上,又有一些改进,于是有了后面两篇ResNet_v2 和 ResNext
ResNet结构的核心在于残差单元,根据相关工作,该结构受到了 VLAD 及 highway networks 等思想的启发。作者发现,随着网络深度的增加,其识别的准确度开始变得饱和,因此提出了残差网络的想法来解决该问题。
假设基础的期望映射是H(x),我们将堆叠的非线性层拟合另一个映射F(x):=H(x)−x,所以原始的映射被重写为F(x) + x,所以我们可以得到网络的基础结构,该结构依然可以使用具有反向传播的SGD进行训练:
对于堆叠的函数F有不同的形式,作者对于浅层的网络(18,34层)采用了左边的结构,而对于较深的结构则采用了右边的结构,值得注意的是,在V1中,每个bottleneck的网络结构是Conv -> BN -> ReLu。
具体不同层数网络的结构如下:
如上所示,按照上表对bottleneck堆叠可以得到最终的网络。
ResNet_v2与v1的最大区别就是v2的bn和relu是在卷积之后使用的,区别如下图所示: