ResNet介绍

简介

ResNet(残差网络,Residual Network)是由何恺明、张祥雨、任少卿和孙剑等人于2015年提出的一种深度卷积神经网络架构,其核心创新是残差连接(或称跳跃连接,shortcut connection),通过引入恒等映射路径,使网络能够学习输入与输出之间的残差(即F(x)=H(x)+x,从而有效缓解了深度网络中的梯度消失和网络退化问题,使得训练上百层甚至上千层的神经网络成为可能。

残差块(残差函数F(x) )

输入x:输入特征图(feature map),进入残差块。通常来自前一层的输出。

主路径(Main Path):F(x)包含两个"weight layer"(即卷积层),中间夹着 ReLU 激活函数。这个路径负责学习输入与目标之间的"残差"变换。

输出为F(x),表示希望学习到的"变化量"。

捷径连接(Shortcut Connection):输入x 直接通过一条"跳跃"路径传递到加法操作。标注为 "identity",意思是不做任何变换,直接将原始输入传入。这条路径的作用是实现恒等映射,防止信息丢失。

加法操作(⊕)将主路径的输出F(x) 与捷径路径的输入x 进行元素级相加(element-wise addition)。得到的结果是:F(x)+x

经过加法后,再经过一次 ReLU 激活函数,作为该残差块的输出,传递给下一层。

为什么这样设计?

(1)在极深的网络中,随着层数增加,训练误差可能上升,即"网络退化"。

(2)残差连接允许网络轻松地"跳过"某些层,保持原始信息流动。

(3)使得训练数百甚至上千层的网络成为可能。

原理

在 ResNet 提出之前,人们发现随着网络层数增加训练误差反而上升(不是过拟合,而是连训练集都拟合不好);这种现象称为 "退化问题",不同于梯度消失/爆炸(那些可通过 BatchNorm、初始化等缓解)。

例如:一个 56 层的 plain network(普通卷积堆叠)比 20 层的性能更差,尽管它理论上具有更强的表达能力。

当网络很深时,直接学习目标映射 H(x) (如从输入到输出的复杂函数)变得极其困难。优化器很难找到合适的参数使得多层非线性变换恰好等于理想映射。

ResNet 不再让网络直接拟合目标映射H(x) ,而是让它拟合残差函数:H(x)=x+F(x) ⇒ F(x)=H(x)−x。如果最优映射接近恒等映射(即H(x)≈x ),那么残差F(x)≈0 。学习一个接近零的函数,比学习一个复杂的恒等映射要容易得多

恒等捷径连接(Identity Shortcut)

残差块通过 加法操作 将输入x 直接传递到输出端。这形成了一个"信息高速公路",即使中间的权重层全为零,输出仍为x 。

因此,网络永远不会比浅层网络表现更差------最坏情况就是残差部分学成零,退化为恒等映射。

梯度传播稳定(缓解梯度消失问题)

在普通的深度神经网络中,信息要一层一层地向前传递(前向传播),误差也要一层一层地向后传递(反向传播)。当网络非常深时,每一层的梯度都要乘以前面所有层的导数。如果这些导数普遍小于 1(比如因为激活函数饱和或权重初始化不当),那么梯度就会像"雪球越滚越小",传到前面几层时几乎变成零------这就是梯度消失。结果就是:浅层几乎学不到东西,整个网络难以训练。

而 ResNet 引入了一个巧妙的设计:让输入信号可以直接"跳过"中间的层,通过一条捷径(shortcut)直接加到输出上。在反向传播时,这个设计带来一个关键好处:误差信号在回传时,不仅可以走中间那些复杂的卷积层路径,还可以直接通过这条捷径原路返回。

换句话说,即使中间的卷积层因为太深而导致它们的梯度变得非常微弱,总有一条"高速公路"能让梯度几乎无损地传回前面的层 。因此,ResNet 中的每一层都能接收到较强的梯度信号,参数可以有效更新,即使网络有上百层甚至上千层,也不会因为梯度消失而无法训练。

示例

相关推荐
骇城迷影3 小时前
Makemore 核心面试题大汇总
人工智能·pytorch·python·深度学习·线性回归
2401_836235863 小时前
中安未来行驶证识别:以OCR智能力量,重构车辆证件数字化效率
人工智能·深度学习·ocr
Yaozh、3 小时前
【神经网络中的Dropout随机失活问题】
人工智能·深度学习·神经网络
mailangduoduo3 小时前
零基础教学连接远程服务器部署项目——VScode版本
服务器·pytorch·vscode·深度学习·ssh·gpu算力
Pyeako3 小时前
深度学习--卷积神经网络(下)
人工智能·python·深度学习·卷积神经网络·数据增强·保存最优模型·数据预处理dataset
风指引着方向4 小时前
动态形状算子支持:CANN ops-nn 的灵活推理方案
人工智能·深度学习·神经网络
魔乐社区4 小时前
MindSpeed LLM适配Qwen3-Coder-Next并上线魔乐社区,训练推理教程请查收
人工智能·深度学习·机器学习
ccLianLian4 小时前
计算机基础·cs336·损失函数,优化器,调度器,数据处理和模型加载保存
人工智能·深度学习·计算机视觉·transformer
聆风吟º5 小时前
CANN runtime 性能优化:异构计算下运行时组件的效率提升与资源利用策略
人工智能·深度学习·神经网络·cann