残差连接是什么?神经网络为什么能堆到上百层还不崩

网络越深,反而越笨?
直觉里,神经网络层数越多、容量越大,应该学得好。可早年实验很打脸:堆到几十层,训练误差不降反升,网络像「学傻了」。问题不在参数少,而在信息从第一层传到最后一层,一路被反复变换、稀释,等不到末尾就「失真」了。层数越深,这条链路越脆弱,模型反被自己的深度拖垮。
残差连接:给信息开一条「直通车」
残差连接的想法朴素到有点偷懒:与其让每层都从零学「完整变换」,不如让它只学「和上一层的差别」(残差),同时把上一层的输出原样抄一条线,直接加到这一层后面。换句话说,主干道照常走,旁边架一根旁路,让原始信号能「抄近道」直达深层。这样哪怕中间几层没学好,原始信息也丢不了。
一个比喻:走楼梯 vs 坐电梯
把深层网络想成一栋几十层的大楼。普通网络让你从 1 楼爬楼梯到顶,每层都得走好,任何一层堵了,后面全断。残差连接相当于在楼里加了几部直达电梯——你既能走楼梯逐层加工,也能坐电梯把 1 楼的信号直送顶楼。于是深处那层,既能拿到加工过的特征,也没丢失最原始的输入,信息不再「传着传着就没了」。
它怎么顺手救了「梯度消失」
前面讲过梯度消失:反向传播时误差信号一层层乘小数,传到前面趋近于零,前面的层就学不动。残差那条直通车,让梯度也能顺着旁路一路回传,不必非得层层衰减。等于给梯度也开了电梯,前面的层照样收到清晰的「该怎么改」的信号。一个改动,同时稳住了前向信息和后向梯度,四两拨千斤。
今天还有谁在用这招
ResNet 之后,残差几乎成了深层网络的标配。Transformer 里的跳跃连接、各类大模型的前馈块,都能看到它的影子。没有它,今天那些动辄上百层的网络根本训不稳。它证明了一件事:有时候不是加得越多越好,而是得让信息「流得通」——架构设计的关键,常在于给数据留好退路,而不是一味加深。
小结
残差连接用极简的一招化解了深层网络的困境:它不要求每层都从零学完整变换,而是让层只学「残差」,并给原始输入开一条直通车旁路。结果前向信息不再传到深处就失真,反向的梯度也顺着旁路回传、缓解了梯度消失。这招让网络敢堆到上百层还稳如老狗,成了 ResNet 之后几乎所有深层架构的标配。理解残差,你会明白一个工程真理:系统卡住时,往往不是加更多层,而是给信息留一条能直达的退路。下次见到「跳跃连接」「skip connection」,别懵——它就是在帮数据坐电梯。








