残差连接是深度学习领域中一种重要的网络设计技术,它有助于构建更深的神经网络模型,并在图像识别、自然语言处理等领域取得了显著应用。本文将介绍残差连接的背景、原理、数学推导及其在实际模型中的实现。

深度网络的挑战

在神经网络的发展过程中,增加网络层数通常能提升模型的表达能力。然而,当网络层数超过一定深度时,会出现梯度消失或梯度爆炸的问题。这些问题源于反向传播过程中梯度的连续乘积,导致梯度值趋近于零或无穷大,从而使训练难以收敛。

例如,在一个由多层全连接层组成的网络中,每一层的输出可以表示为 y=f(x)y = f(x)y=f(x),其中 fff 是非线性激活函数和权重矩阵的组合。随着层数的增加,梯度计算涉及多个 Jacobian 矩阵的乘积,这容易导致数值不稳定。

残差连接的原理

残差连接通过引入捷径连接(shortcut connection)来缓解上述问题。其核心思想是将输入直接加到网络层的输出上,形成残差块(residual block)。一个基本的残差块可以描述为:

y=F(x,{Wi})+x \mathbf{y} = \mathcal{F}(\mathbf{x}, \{\mathbf{W}_i\}) + \mathbf{x} y=F(x,{Wi})+x

其中,x\mathbf{x}x是输入,F\mathcal{F}F表示残差函数,通常由几层卷积或全连接层组成,Wi\mathbf{W}_iWi 是对应的权重。如果输入和输出的维度不匹配,可以通过一个线性变换(如1×1卷积)来调整 $\mathbf{x} $的维度。

图1:基本残差块结构示意图
(图片占位:残差块的经典结构图,左侧输入 x 经过几层卷积得到 F(x)\mathcal{F}(x)F(x),然后与原始 x 相加得到输出 y

在残差块中,网络不再直接学习目标映射 H(x)\mathcal{H}(x)H(x),而是学习残差 ( \mathcal{F}(\mathbf{x}) = H(\mathbf{x}) - \mathbf{x} )。这使得优化过程更易于处理,因为如果残差为零,块就退化为恒等映射。

梯度流动的数学推导

为了理解残差连接如何改善梯度流动,我们考虑反向传播过程中的梯度计算。假设网络由多个残差块堆叠而成,从第 lll层到第LLL层的输出关系可以递归表示为:

xL=xl+∑i=lL−1F(xi,Wi) \mathbf{x}_{L} = \mathbf{x}_{l} + \sum_{i=l}^{L-1} \mathcal{F}(\mathbf{x}_{i}, \mathbf{W}_{i}) xL=xl+i=lL1F(xi,Wi)

现在,考虑损失函数L\mathcal{L}L相对于 xl\mathbf{x}_{l}xl的梯度:

∂L∂xl=∂L∂xL⋅∂xL∂xl=∂L∂xL(1+∂∂xl∑i=lL−1F(xi,Wi)) \frac{\partial \mathcal{L}}{\partial \mathbf{x}_{l}} = \frac{\partial \mathcal{L}}{\partial \mathbf{x}_{L}} \cdot \frac{\partial \mathbf{x}_{L}}{\partial \mathbf{x}_{l}} = \frac{\partial \mathcal{L}}{\partial \mathbf{x}_{L}} \left( 1 + \frac{\partial}{\partial \mathbf{x}_{l}} \sum_{i=l}^{L-1} \mathcal{F}(\mathbf{x}_{i}, \mathbf{W}_{i}) \right) xlL=xLLxlxL=xLL(1+xli=lL1F(xi,Wi))

这里的 111来自捷径连接,确保即使残差部分的梯度趋近于零,梯度也能通过捷径直接传播。这避免了梯度完全消失,因为总梯度至少包含一个恒等项。

进一步地,残差部分的梯度项可以展开为链式规则的乘积,但捷径的存在提供了额外的路径,使得整体梯度更稳定。

图1:残差连接的梯度传播路径示意图
在这里插入图片描述

在ResNet中的应用

残差连接最著名的应用是ResNet(Residual Network)架构,由He et al. 在2015年提出。ResNet通过堆叠多个残差块构建了深度达数百层的网络,并在ImageNet分类任务中表现出色。

一个典型的ResNet块包括两个或三个卷积层,中间插入批归一化(Batch Normalization)和ReLU激活。

图2:ResNet基本构建块对比
ResNet 34-layer plain vs residual 对比,包含基本残差块细节
ResNet基本构建块对比:左 plain block,右 residual block

在实践中,残差连接不仅用于卷积网络,还扩展到Transformer模型中的层归一化和残差路径,帮助训练更深的序列模型。

结论

残差连接通过修改网络的映射形式和梯度传播路径,显著提升了深度网络的训练效率和性能。它已成为现代深度学习架构的基础组件,并在各种任务中得到验证。理解其原理有助于设计更有效的模型。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐