2025年ResNET50结构(resnet50结构图详解)

ResNET50结构(resnet50结构图详解)如图所示 resnet50 网络从 input gt stage0 gt stage1 gt stage2 gt stage3 gt stage4 gt output stage0 比较简单 输入由 3 224 224 经过 64 个大小为 7 7

大家好,我是讯享网,很高兴认识大家。




讯享网

如图所示,resnet50网络从input->stage0->stage1->stage2->stage3->stage4->output

stage0比较简单,输入由(3,224,224)经过64个大小为(7,7)、步长为2的卷积核,

此时输出通道数为64(卷积层输出的特征图数目等于卷积核的数量 )。

接着经过BN层(Batch Normalization),批量归一化层是一种常用于深度神经网络中的正则化技术,BN层可以加速神经网络的训练过程,可以使得网络中的梯度在反向传播过程中更加稳定。RELU是激活函数。

最后经过最大池化层,其中kernel大小为3×3,步长为2。最后输出的尺寸为224/2/2=56。

总体来说,经过stage0,形状由(3,224,224)->(64,56,56)。

BINK1、BINK2的结构 :

BINK2:

BINK2有两个参数:C,W

C:代表输入通道数。W:代表输入尺寸。

BINK2左侧经过三个卷积快(包括BN,RELU),设其输出为F(x),将F和x相加再经过Relu激活函数得到BINK2的输出。至于为什么将F和x相加后再输出后面将会介绍。 

BINK1:

BINK1有四个参数:C,W,C1,S。

S:代表卷积层中的步长,当S为1时,输入尺寸和输出尺寸相同,代表没有进行下采样。

C1:代表卷积层输出的特征图数目,即输出通道数。

C:代表输入通道数。C和C1相等说明左侧1×1的卷积层没有减少通道数,后三个stage中C=2*C1说明左侧1×1的卷积层减少了通道数。

W:代表输入尺寸,即长和宽。

BINK1相对于BINK2是输入通道和输出通道不一致的情况,BINK1右侧先经过一个卷积层,改变其输出通道数,设其输出为G(x),G函数起到了和左侧输出通道数匹配的作用,这样将F和G相加再经过Relu激活函数得到BINK1的输出。

理解了BINK1和BINK2的结构,后面的stage自然就明白,剩下就不用我讲啦。 

左图所示便是残差结构。 

所谓的残差结构是在正常网络的结构中,增加一个分支结构,这样网络的输出便不再是,而是。

ResNet50中在残差结构中引入了Bottleneck结构(瓶颈层),目的是降低参数的数目(多个小尺寸卷积代替一个大尺寸卷积)。

1、直接使用 3x3 的卷积核。256 维的输入直接经过一个 3×3×256 的卷积层,输出一个256维的 feature map,那么参数量为:256×3×3×256 = 。

2、先经过 1x1 的卷积核,再经过 3x3 卷积核,最后经过一个 1x1 卷积核。 256 维的输入先经过一个 1×1×64 的卷积层,再经过一个 3x3x64 的卷积层,最后经过 1x1x256 的卷积层,则总参数量为:256×1×1×64 + 64×3×3×64 + 64×1×1×256 = 69632

通过对比,可以看出第二种的参数量远少于第一种的参数量。

 随着网络层数的增加,梯度将以指数的形式缩减,无限接近于0。  

数学推导式如下: 

引用:

 

欢迎留言交流,转载请标明出处。

小讯
上一篇 2025-05-10 21:44
下一篇 2025-04-21 15:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/198269.html