ResNet及其改进

时间:2024-03-31 22:22:52

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进行训练:

ResNet及其改进

 

 

ResNet及其改进

        对于堆叠的函数F有不同的形式,作者对于浅层的网络(18,34层)采用了左边的结构,而对于较深的结构则采用了右边的结构,值得注意的是,在V1中,每个bottleneck的网络结构是Conv -> BN -> ReLu。

具体不同层数网络的结构如下:

ResNet及其改进

如上所示,按照上表对bottleneck堆叠可以得到最终的网络。

 

 

ResNet_v2与v1的最大区别就是v2的bn和relu是在卷积之后使用的,区别如下图所示: