TTiti的学习笔记
首页 / 综合实践 / 12_深度学习原理与经典论文路线/ResNet_示范答案与反例.md

ResNet 示范答案与反例:从 residual connection 到优化困难

综合实践 · 12_深度学习原理与经典论文路线/ResNet_示范答案与反例.md

ResNet 示范答案与反例:从 residual connection 到优化困难

使用原则

这份文件只用于校准,不可以直接复制进 paper_notes/02_resnet.mddaily_logs/Day08_学习记录.mdDay14_学习记录.md结业证据档案.md。合格证据必须包含你自己对论文图表的理解、你运行 notebook 得到的 shape、以及你对 toy demo 边界的说明。

1. ResNet 想解决什么问题

不合格写法

ResNet 是为了解决过拟合。
  • ResNet 论文关注的核心现象不是普通意义上的 overfitting。
  • 没有解释 degradation problem。
  • 没有说明“更深的网络训练误差反而更高”为什么是优化问题线索。
  • 问题:

可接受示范

ResNet 主要想解决深层网络变深之后反而更难优化的问题。论文中强调的 degradation problem 指的是:当网络层数增加到一定程度后,训练误差和测试误差都可能变差,这不只是过拟合,因为过拟合通常表现为训练误差低、测试误差高。ResNet 通过 residual learning 和 shortcut connection,让很深的网络更容易学到接近 identity mapping 的变换,从而缓解优化困难。

你必须自己补

  • 我对论文 Figure 2 的理解:
  • 我能说清 overfitting 和 degradation problem 的区别:
  • 我仍然不确定的地方:

2. F(x)+x 到底是什么意思

不合格写法

ResNet 就是把输入加到输出上。
  • 只描述了操作,没有解释为什么这样做。
  • 没有区分 residual branch 和 shortcut branch。
  • 没有说明 F(x)x 的 shape 必须一致才能相加。
  • 问题:

可接受示范

在 residual block 中,x 是进入这个 block 的输入,F(x) 是经过若干层卷积、归一化和激活后学到的 residual function。输出写成 F(x)+x,意思是模型不必直接学习一个完整映射 H(x),而是学习相对于输入 x 的残差变化。如果某一层暂时不需要改变表示,模型可以让 F(x) 接近 0,这样输出接近 x,比强迫多层网络直接学 identity mapping 更容易优化。

你必须自己补

  • notebook 中输入 x 的 shape:
  • residual 分支 F(x) 的 shape:
  • 相加前我检查了什么:

3. identity shortcut 和 projection shortcut

不合格写法

shortcut 就是跳过一些层。
  • 没说 identity shortcut 和 projection shortcut 的区别。
  • 没说什么时候不能直接相加。
  • 没说 projection shortcut 为什么常用 1x1 convolution。
  • 问题:

可接受示范

identity shortcut 是直接把输入 x 加到 residual branch 的输出上,前提是两边 shape 一致。如果 block 改变了 channel 数或 spatial size,xF(x) 不能直接相加,这时需要 projection shortcut,例如用 1x1 convolution 把 x 投影到匹配的 shape。1x1 convolution 的作用不是提取大范围空间模式,而是调整 channel 维度和必要的 stride。

你必须自己补

  • 一个 shape 不一致的例子:
  • projection shortcut 修改了哪个维度:
  • 我能解释 1x1 convolution 的哪一部分,哪一部分还不懂:

4. ResNet 和普通深层 CNN 的差异

不合格写法

ResNet 比普通 CNN 更高级。
  • “高级”不是专业表达。
  • 没有说结构差异。
  • 没有说这个差异对训练有什么影响。
  • 问题:

可接受示范

普通深层 CNN 通常把多层变换串联起来,希望每一组层直接学习目标映射。ResNet 在这些层旁边增加 shortcut path,让 block 学 residual function,并把输入直接传到后面。这个设计改变了优化路径:深层网络可以更容易保留已有表示,也更容易训练到至少不比浅层网络差的解。

你必须自己补

  • 我能画出的普通 block:
  • 我能画出的 residual block:
  • 两者在 forward 过程中的差别:

5. notebook 复现了什么,没有复现什么

不合格写法

notebook 复现了 ResNet。
  • toy residual block 不能等同于完整 ResNet 论文复现。
  • 没有区分 block 机制、网络堆叠、ImageNet 实验。
  • 没有说明自己检查了哪些 shape 或输出。
  • 问题:

可接受示范

这个 notebook 复现的是 ResNet 的教学型核心机制:一个 residual block 如何接收输入 x,如何计算 residual branch,如何在 shape 一致时做 F(x)+x,以及 shape 不一致时如何用 projection shortcut 对齐。它没有复现完整 ResNet-34/50 架构、ImageNet 训练、论文中的对比实验、超参数设置和大规模评估。因此我只能说它帮助我理解 residual block,不能说完整复现了 ResNet 论文结果。

你必须自己补

  • 我实际看到的输入 shape:
  • identity shortcut 输出 shape:
  • projection shortcut 输出 shape:
  • 没有复现的至少 3 个部分:

6. 能放进组会的 90 秒版本

下面是结构示例,不是可复制答案:


ResNet 关注的是深层网络变深以后更难优化的问题。论文中的 degradation problem 不是普通过拟合,因为它可能同时表现为训练误差和测试误差变差。ResNet 的核心设计是 residual block:不直接让几层网络学习完整映射 H(x),而是学习残差 F(x),最后输出 F(x)+x。这样如果某些层暂时不需要改变表示,可以让 F(x) 接近 0,使 block 接近 identity mapping。我的 notebook 只复现了 residual block、identity shortcut 和 projection shortcut 的 shape 对齐,没有复现完整 ImageNet 实验。

  • 你对 degradation problem 的一句话解释。
  • 一个实际 notebook shape。
  • 一个你准备向老师或同学追问的问题。
  • 你需要改成自己的版本,并补入:

7. 给 AI 的检查提示词


请检查我对 ResNet 的论文笔记和 3 分钟口头稿是否像真实理解,而不是复制概念。

要求:

1. 判断我是否区分了 degradation problem 和 overfitting。

2. 检查我是否说清了 F(x)、x、F(x)+x、identity shortcut、projection shortcut。

3. 检查我是否把 toy residual block 误说成完整 ResNet 论文复现。

4. 指出最空泛的 3 句话,并追问我 3 个问题。

5. 不要直接替我写最终答案,只给修改建议和必须补充的证据。



我的内容:

【粘贴 ResNet 工作纸、paper_notes/02_resnet.md 或口头稿】