残差神经网络,亦称残差网络或ResNet,是一种深度学习架构,其中各层参照其输入来学习残差函数。该架构于2015年为图像识别而开发,并在同年的ImageNet大规模视觉识别挑战赛(ILSVRC)中夺冠。其关键创新在于残差连接,这是一种将子网络的输入与其输出相加的架构设计,从而使得数百层的网络训练成为可能。
残差连接稳定了深度神经网络的训练与收敛过程,使其成为现代架构中的常见设计,例如Transformer (architecture)模型(如BERT和GPT系列,包括ChatGPT),以及AlphaGo Zero、AlphaStar和AlphaFold等系统。其影响超越了图像识别领域,广泛渗透至深度学习的各个应用方向。
残差的数学原理
在多層神经网络中,考虑一个由堆叠层组成的子网络(例如2层或3层)。设\(H(x; \alpha)\)表示该子网络,其中\(x\)为输入,\(\alpha\)为参数集。若\(H^\)为期望的最优输出,残差学习通过将\(x\)直接加到输出上,使得最优学习目标变为\(H^ - x\),即相对于\(x\)的“残差”。这一加法操作通过跳跃连接实现,该连接执行恒等映射,将子网络的输入直接连接到其输出。此连接后来被称为“残差连接”。
函数\(F(x; \alpha) = H(x; \alpha) + x\)通常由矩阵乘法与激活函数及归一化操作(如批归一化或层归一化)交错构成。这样的子网络被称为“残差块”,而深度残差网络则由多个残差块堆叠而成。
长短期记忆网络(LSTM)具有一种记忆机制,可视为残差连接的体现。在无遗忘门的LSTM中,输入\(x_t\)经函数\(F\)处理后与记忆单元\(c_t\)相加,得到\(c_{t+1} = c_t + F(x_t)\)。而带遗忘门的LSTM实质上类似于高速公路网络。
为稳定层输入的方差,建议将残差连接\(x + f(x)\)替换为\(x/L + f(x)\),其中\(L\)为残差层的总数。
投影连接
当函数\(F\)的映射维度从\(\mathbb{R}^n\)变为\(\mathbb{R}^m\)且\(n \neq m\)时,表达式\(F(x) + x\)无法直接相加。为解决此问题,可采用投影连接:\(y = F(x) + P(x)\),其中\(P\)通常为线性投影,定义为\(P(x) = Mx\),\(M\)为\(m \times n\)矩阵。该矩阵与其他参数一样,通过反向传播进行训练。
信号传播
恒等映射的引入促进了前向和反向路径中的信号传播。在前向传播中,若第\(\ell\)个残差块的输出作为第\((\ell+1)\)个残差块的输入(且块间无激活函数),则下一个输入为\(x_{\ell+1} = F(x_\ell) + x_\ell\)。这种加性结构使得梯度能够直接流过网络,从而缓解了早期深层网络中困扰已久的梯度消失问题。
历史与发展
残差连接的设计理念在ResNet之前已有先例,例如LSTM网络和高速公路网络。然而,2015年发表的ResNet论文(作者为Kaiming He、Xiangyu Zhang、Shaoqing Ren和Jian Sun)将其推广至前馈网络,并在ILSVRC 2015中取得顶尖成果,使该架构广为人知。
影响
ResNet的成功证明了极深网络可以有效训练,从而引领了神经网络设计的变革。残差连接成为后续架构(包括Transformer (architecture)模型,用于大语言模型如BERT和GPT)的标准组件。此外,AlphaGo Zero和AlphaFold等系统也采用了残差块,展示了该设计的广泛适用性。
变体与扩展
研究者提出了多种残差网络的变体。预激活ResNet将批归一化和激活函数移至权重层之前,改善了训练效果。宽ResNet通过增加宽度而非深度,以更少的层数获得更好性能。DenseNet则让每一层与后续所有层直接连接,进一步拓展了残差思想。ResNeXt引入基数(cardinality)概念,将卷积拆分为并行路径,凸显了残差概念的灵活性。
实践考量
在实际实现中,残差连接通常通过跳跃连接完成,当维度不匹配时可加入投影以调整形状。批归一化常被应用于残差块内部。激活函数(如ReLU)的选择会影响训练动态。残差连接还支持使用更高的学习率,并降低了对初始化的敏感性,从而保持信号方差的稳定。
遗产与未来方向
残差网络已成为深度学习领域的基石性概念,深刻影响了学术研究与工业应用。其设计原则已融入现代框架与硬件优化中。截至2020年代初,残差连接仍是众多架构(包括生成式AI和人工智能系统)的默认选择。学习残差的思想也启发了机器学习理论及其他领域的进一步发展。