核心要点

  • 核心是学残差 F(x)、输出 y=F(x)+x,让层只需学「相对恒等的微调」而非完整映射

  • 跳跃连接反向传播一条恒等梯度路径,缓解深层连乘导致的梯度消失

  • 主要解决的是退化问题:堆更深层时训练误差反而上升,残差让加层至少不变差

  • Bottleneck(1×1 降维→3×3→1×1 升维)大幅减参,使 ResNet-50/152 成为 CV 标准 backbone

简要回答

残差网络(ResNet, He et al. 2015)深度学习 里程碑,解决深层 CNN 难训练问题;

核心思想:学习残差 F(x) 而非直接映射 H(x),输出 y = F(x) + x(跳跃连接)

标准回答

残差网络(ResNet, He et al. 2015)深度学习 里程碑,解决深层 CNN 难训练问题。

核心思想:学习残差 F(x) 而非直接映射 H(x),输出 y = F(x) + x(跳跃连接)。

意义

  1. 梯度流动:反向时梯度有恒等路径,缓解 梯度消失
  2. 缓解退化:更深网络测试误差反而上升——残差使层可学「零映射」,不低于浅层
  3. 可扩展深度:ResNet-152 在 ImageNet 夺冠,催生 ResNeXt、DenseNet 等

Bottleneck 块(ResNet-50+):1×1 降维 → 3×3 卷积 → 1×1 升维,减参提效。

ResNet 成为检测、分割、预训练 backbone 标准;思想也影响 Transformer(Pre-LN + 残差)。详见 计算机视觉入门

常见误区

⚠️ 常见踩坑

只说「加了跳跃连接」却说不清 F(x)+x 公式;忽视 projection shortcut;把 ResNet 仅当「很深 CNN」不提退化问题。

追问

追问 1恒等映射时 F(x) 学什么?

若最优映射接近恒等,F(x)→0 即可,比直接学 H(x)=x 容易(权重→0)。若需变换,F 学残差部分。这是优化层面的归纳偏置。

追问 2ResNet 和 DenseNet 区别?

ResNet 用逐元素相加 F(x)+x 合并捷径与主路;DenseNet 则把前面所有层的特征在通道维上拼接(concat)后再喂给后续层。DenseNet 特征复用更充分、参数更省,但拼接使显存占用和通道数随深度增长,工程上 ResNet 更常用作 backbone。

追问 3通道数或分辨率不匹配时跳跃连接怎么办?

用 projection shortcut:在捷径上加一个 1×1 卷积(必要时带 stride)把 x 投影到与 F(x) 相同的通道数和空间尺寸,再相加。原论文称之为 option B;当维度一致时则用零参数的恒等捷径。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。

🛠️ AI 工具

  • Pytorch

    Meta 开源的深度学习框架,100K+ stars。以动态计算图和 Pythonic 风格著称,在学术界和工业界都有广泛应用,支持分布式训练、移动端部署和 ONNX 导出

  • Tensorflow

    全球最流行的机器学习框架之一,195K+ stars。Google 开源的端到端 ML 平台,支持 TensorFlow、Keras 等多种 API,覆盖深度学习、强化学习、移动端部署等全场景,是 AI 工程师的必备工具