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 中的每一层都能接收到较强的梯度信号,参数可以有效更新,即使网络有上百层甚至上千层,也不会因为梯度消失而无法训练。

示例

相关推荐
是梦终空5 小时前
计算机源码274—基于深度学习的中医舌象智能识别与健康管理系统(源代码+数据库+12000字论文)
人工智能·python·深度学习·opencv·django·vue·springboot
weixin_4462608515 小时前
[特殊字符] 视觉Transformer (ViT) 原理及性能突破:从CNN到大规模自注意力机制的迁移
深度学习·cnn·transformer
小a彤16 小时前
GE 在 CANN 五层架构中的位置
人工智能·深度学习·transformer
碧海银沙音频科技研究院16 小时前
通话AEC与语音识别AEC的软硬回采链路
深度学习·算法·语音识别
放下华子我只抽RuiKe517 小时前
React 从入门到生产(四):自定义 Hook
前端·javascript·人工智能·深度学习·react.js·自然语言处理·前端框架
AI算法沐枫18 小时前
深度学习python代码处理科研测序数据
数据结构·人工智能·python·深度学习·决策树·机器学习·线性回归
初心未改HD19 小时前
深度学习之Attention注意力机制详解
人工智能·深度学习
code_pgf19 小时前
模态生成器:原理详解与推荐开源项目
人工智能·深度学习·开源
文歌子19 小时前
DeepEarth 深度解析:AI 如何理解地球的时空规律
深度学习