深度残差学习,通常称为ResNet,是一种于2015年提出的用于图像识别的深度学习架构。它在当年的ImageNet大规模视觉识别挑战赛(ILSVRC)中获胜,证明了具有数百层的网络可以被有效训练。其关键创新在于残差连接,它允许各层学习相对于其输入的残差函数,从而在非常深的神经网络中稳定训练和收敛。
残差连接的模式,定义为\(x \mapsto f(x) + x\),其中\(f\)是任意神经网络模块,在早期工作中已有使用,但ResNet的发表使其在前馈网络中广泛流行。这一模式现在出现在许多看似与ResNet无关的架构中,包括Transformer (architecture)模型如BERT和GPT,以及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\)矩阵。矩阵\(M\)通过反向传播训练,与任何其他模型参数一样。
信号传播
恒等映射的引入促进了前向和反向路径中的信号传播。在前向方向上,如果第\(\ell\)个残差块的输出是第\((\ell+1)\)个块的输入(假设块之间没有激活),那么下一个块的输入是\(x_{\ell+1} = F(x_\ell) + x_\ell\)。这种加性结构允许梯度在反向传播期间直接流过网络,缓解了困扰早期深度架构的梯度消失问题。
影响与遗产
ResNet在ILSVRC 2015上的成功标志着计算机视觉和人工智能领域的转折点。它使得训练具有数百层的网络成为可能,而此前由于训练精度的退化而不可行。残差连接此后已成为许多深度学习模型的标准组件,包括用于自然语言处理和生成式AI的模型。
该架构的影响超越了图像识别。残差连接是现代大型语言模型和其他基于序列的模型不可或缺的部分,它们有助于在多层中维持稳定的训练。学习残差而非完整变换的原则也启发了诸如U-Net和其他编码器-解码器设计等变体。
ResNet仍然是深度学习中的基础参考,其设计原则在课程中教授,并在机器学习领域的研究中广泛应用。残差连接的简单性和有效性使其成为该领域最持久的贡献之一。