ResNet,即残差神经网络,是一种深度学习架构,其中各层学习相对于其输入的残差函数。该架构于2015年为图像识别而开发,并赢得了当年的ImageNet大规模视觉识别挑战赛(ILSVRC)。该架构的显著特征是残差连接,这是一种将子网络的输入加到其输出上的设计,从而能够训练具有数百层深度的网络。这一设计已成为现代深度学习模型的基本构建块,包括Transformer架构以及AlphaGo Zero和AlphaFold等系统。
残差连接稳定了深度神经网络中的训练和收敛,解决了先前限制网络深度的梯度消失问题。其影响远超图像识别领域,出现在跨领域的神经网络中,从大型语言模型到强化学习系统。
数学原理
ResNet的核心思想是重新表述学习目标。在多层级网络中,考虑一个由堆叠层组成的子网络,它计算函数\(H(x;\alpha)\),其中\(x\)是输入,\(\alpha\)是参数。残差学习不是直接学习\(H\),而是使子网络学习\(F(x;\alpha) = H(x;\alpha) + x\)。最优输出\(H^\)通过学习残差\(H^ - x\)来实现,这通常更容易优化。
\(x\)的加法通过执行恒等映射的跳跃连接实现,该连接将子网络的输入直接连接到其输出。这个跳跃连接就是“残差连接”。具有此连接的子网络称为残差块,而深度残差网络由堆叠此类块构建而成。
残差连接
在残差块中,函数\(F\)通常由矩阵乘法与激活函数以及批归一化或层归一化等归一化操作交替组成。残差连接\(x + F(x)\)允许梯度在反向传播期间直接流过网络,缓解了深度网络难以训练的退化问题。
残差连接的概念有先例。例如,长短期记忆(LSTM)网络具有一个充当残差连接的记忆单元:\(c_{t+1} = c_t + F(x_t)\),其中\(c_t\)是单元状态,\(F\)处理输入\(x_t\)。带遗忘门的LSTM本质上充当高速公路网络,这是一种也使用门控跳跃连接的相关架构。
为了稳定极深网络中层输入的方差,建议按总层数\(L\)缩放残差连接,将\(x + f(x)\)替换为\(x/L + f(x)\)。这种归一化有助于在数百层中保持一致的信号幅度。
投影连接
当函数\(F\)改变输入的维度时,例如\(F: \mathbb{R}^n \to \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\)。这种递推关系允许信息直接流过网络,即使\(F\)产生较小值也能保留输入信号。
在反向传递中,损失相对于块输入的梯度包含一项,即通过恒等映射传递的相对于输出的梯度。这确保梯度在多层传播时不会消失,这是能够训练数百层网络的关键因素。
历史与影响
残差连接的设计在早期工作中已有使用,但2015年ResNet的发表使其在前馈网络中广泛流行。该架构由微软的研究人员开发,包括何恺明、张祥雨、任少卿和孙剑。他们的论文《深度残差学习用于图像识别》证明,残差网络可以训练到152层或更深的深度,并在ImageNet基准上取得了最先进的结果。
ResNet在ILSVRC 2015上的成功标志着机器学习的转折点。它表明极深网络不仅可行,而且性能更优,引发了深度架构研究的热潮。残差连接成为后续模型的标准组件,包括用于自然语言处理的Transformer,如BERT和GPT模型,以及AlphaGo Zero、AlphaStar和AlphaFold等系统。
变体与扩展
已开发出多种ResNet变体以提高性能或效率。预激活ResNet将激活函数移到权重层之前,改善了正则化并允许更深的网络。宽ResNet增加每个块中的通道数,用深度换取宽度,以更少的层实现更好的精度。ResNeXt引入了基数维度,在每个块内使用并行分支来增加表示能力而不增加深度。
其他扩展包括DenseNet,它以逐层前馈方式将每层连接到所有其他层,以及具有随机深度的ResNet,它在训练期间随机丢弃层以正则化网络。这些变体进一步推动了深度残差学习的可能性边界。
应用
ResNet已应用于图像识别之外的广泛任务,包括目标检测、语义分割和视频分析。它还用于医学影像、自动驾驶和人脸识别系统。该架构的多功能性和稳健性使其成为许多计算机视觉应用的默认选择。
此外,残差连接原理已被其他领域采用,如自然语言处理和强化学习。例如,Transformer模型依赖残差连接来训练用于语言理解和生成的深度网络,如OpenAI的GPT系列和Anthropic的模型。因此,ResNet的影响遍及人工智能领域。