ResNet 网络结构与残差连接介绍

本文详细解析了ResNet网络中的残差连接原理,包括实线与虚线连接的区别,以及为何在不同深度的结构中采用特殊虚线连接来处理形状变化。了解ResNet-34中虚线残差块如何实现跨层维度调整,提升网络训练效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ResNet是神经网络中非常著名的网络结构,其中引入了残差连接和批标准化(BN层,Batch Normalization),使得网络深度能够达到百层甚至千层(但上千层的网络效果并不好),实现优良的网络效果。

参考视频:ResNet网络结构,BN以及迁移学习详解

1、 残差连接( Residual)

残差连接如图:

这里有两个细节:

(1)F(x)与x是直接相加的,而不是在某个维度拼接;所以F(x)与x的shape完全相同。

(2)残差块的输出结果是在 F(x)+x 之后再加relu激活函数,而不是对 F(x) 进行激活函数之后再加x.

2、 不同深度的ResNet结构

在这里插入图片描述

不同深度(层数)的ResNet结构如上图所示,每个网络均有5个卷积块,每个卷积块里面包含数量不同的残差块。

可以发现resnet-18和resnet-34中的残差块(res1)中都是有两个3x3的卷积,但更深层的网络中的残差块(res2)是有2个1x1的卷积和一个3x3的卷积。这是因为1x1的卷积可以减少参数量,使得res2的参数量远少于res1的参数量,这样就可以减缓深层网络参数量太大导致难以训练的问题。

3、 两种不同的残差连接

从论文中可以看到resnet-34网络结构的一部分:

这三个残差块对应1.2的表格中的conv2_x的最后一个残差块和conv3_x的前两个残差块,可以发现conv3_x的第一个残差块的残差连接是虚线,这是为什么呢?

实线的残差连接就是正常的直接相加,如图所示:

虚线表示在侧边分支加了一个 1*1 卷积核的卷积操作,图中虚线连接的残差块结构如下:

从1.2的表格中可以看到,resnet-34经过 conv2_x 的输出shape是 [56,56,64],但 conv3_x 中tensor的shape是 [28,28,128]。我们知道,一般的残差连接中卷积操作之后的NCHW都不变(所以卷积的步长和padding都是1),这样才可以直接相加。所以conv2_x 中所有tensor的shape都是[56,56,64],conv3_x 中所有tensor的shape都是 [28,28,128]。

那么问题来了,如何从conv2_x过渡到conv3_x呢?

这就是虚线形式的残差连接实现的功能了。

从上面的图可以看到,虚线连接的残差块结构有一个1x1卷积的分支,总共有三个卷积,并且其中两个卷积的步长是2,而不是一般残差块中的stride=1。步长为2就可以将 conv2_x 中大小为56的H和W缩小为28,三个卷积的channel=128可以将 conv2_x 输出的 channel=64的tensor拓展为 channel=128。这样就实现了从conv2_x([56,56,64]) 到conv3_x( [28,28,128])的过渡了,这就是虚线残差块的作用。

所以在从conv3_x开始的每一个卷积块中,第一个残差块都是特殊的虚线残差块,因为要完成shape转换的功能。

残差连接(也称为跳跃连接或skip connections),通常是在深层神经网络中用于解决梯度消失、提高优化效率以及促进信息流动的一种机制。它们在以下几个场景下尤其重要并发挥关键作用: ### 1. 网络加深时保持性能 当我们将卷积神经网络(CNN)等模型变得更加深入以捕捉更复杂的数据模式时,如果仅依赖传统的堆叠式全连接层或普通卷积层,则容易遭遇“退化”问题——即随着层数增多,准确率不再提升甚至开始下降。此时添加残差连接可以帮助维持乃至增强更深模型的表现力。 #### 典型例子: - **ResNet**:这是最早明确提出使用残差块的著名论文之一。“身份映射”的思想允许网络学习增量式的改变而非完全重新构建整个特征表示;因此即便有几十上百层也能较好地收敛且不会造成严重的过拟合风险。 ### 2. 加速训练过程 由于前馈路径上存在直通通道使得误差能更快回传至底层,从而减少了因长程依存带来的不稳定性和缓慢的学习速率。这意味着含有适当跳连的设计可以在较少迭代次数内达到满意结果,并且更容易找到全局最优解空间中的点位而不是困于局部极小值附近徘徊不前。 ### 3. 改善信息传播 特别是在生成对抗网络(GANs)或者自动编码器(Autoencoders)这类需要精确重建输入的任务里,从编码阶段直接将部分原始数据不经处理就传递给解码端有助于保留更多细粒度细节而不至于丢失过多有用的信息量。同时也有助于稳定生成质量减少模糊不清的情况发生几率。 总结起来,在涉及到深度较大的CNN架构或者其他类型的深度学习框架并且关注快速稳定的训练体验以及良好泛化的前提条件下,合理运用残差连接是非常有益处的选择。它不仅促进了跨层之间高效沟通还间接提升了最终预测能力水平。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ctrl A_ctrl C_ctrl V

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值