标准回答
残差网络(ResNet, He et al. 2015) 是 深度学习 里程碑,解决深层 CNN 难训练问题。
核心思想:学习残差 F(x) 而非直接映射 H(x),输出 y = F(x) + x(跳跃连接)。
意义:
- 梯度流动:反向时梯度有恒等路径,缓解 梯度消失
- 缓解退化:更深网络测试误差反而上升——残差使层可学「零映射」,不低于浅层
- 可扩展深度: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 学残差部分。这是优化层面的归纳偏置。
追问 2:ResNet 和 DenseNet 区别?
ResNet 用逐元素相加 F(x)+x 合并捷径与主路;DenseNet 则把前面所有层的特征在通道维上拼接(concat)后再喂给后续层。DenseNet 特征复用更充分、参数更省,但拼接使显存占用和通道数随深度增长,工程上 ResNet 更常用作 backbone。
追问 3:通道数或分辨率不匹配时跳跃连接怎么办?
用 projection shortcut:在捷径上加一个 1×1 卷积(必要时带 stride)把 x 投影到与 F(x) 相同的通道数和空间尺寸,再相加。原论文称之为 option B;当维度一致时则用零参数的恒等捷径。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
📰 AI 资讯
🛠️ AI 工具
- Pytorch
Meta 开源的深度学习框架,100K+ stars。以动态计算图和 Pythonic 风格著称,在学术界和工业界都有广泛应用,支持分布式训练、移动端部署和 ONNX 导出
- Tensorflow
全球最流行的机器学习框架之一,195K+ stars。Google 开源的端到端 ML 平台,支持 TensorFlow、Keras 等多种 API,覆盖深度学习、强化学习、移动端部署等全场景,是 AI 工程师的必备工具