ResNet 模型 =========== 切换语言: :doc:`../en/ResNetModels` 残差卷积模型应该继续保留在当前模型文档主线上,而不只是作为旧版遗留说明。它本质上 就是这个项目在 CNN 路线上的自然深层扩展,尤其是在硬件约束已经明显放松之后,更不 应该被边缘化。 为什么 ResNet 应该在这里 ++++++++++++++++++++++++ 项目已经有普通 CNN 基线,而 ResNet 正是卷积路线继续往前推进的最经典方式: - 仍然以卷积作为局部模式抽取核心; - 把网络明显加深; - 通过 skip connection 稳定训练并改善梯度传播。 残差形式本身是什么 +++++++++++++++++++ 残差块最核心的思想,是学习“修正项”而不是完整替代映射: .. math:: y = F(x; W) + x 这里 :math:`x` 是块输入,:math:`F(x; W)` 是学习到的残差分支。恒等 shortcut 为 信息流和梯度流提供了直接路径,这也是更深卷积网络仍然容易训练的关键。 它和早期资源限制的关系 ++++++++++++++++++++++ 早期环境里,如果显存只有 8GB,更深的残差卷积模型往往不如轻量 CNN 方便优先推进。 在那种条件下,先保留更轻的卷积基线是很现实的工程选择。 但在现在显存已经大幅放宽的条件下,这个限制明显不再关键。因此,ResNet 更适合作为 一条重新纳入评估的活跃路线,而不是只停留在旧版图示里。 ResNet18 和 ResNet34 的位置 +++++++++++++++++++++++++++++ 旧版文档里已经出现过 ResNet18、ResNet34 这类残差结构。在当前文档体系中,它们应当 被理解为: - 普通 CNN 基线的更深层替代方案; - 从历史卷积路线过渡到后续混合模型、Transformer 模型的重要桥梁; - 在新硬件条件下完全值得重新纳入比较实验的模型家族。 残差连接到底增加了什么 ++++++++++++++++++++++ 和普通 CNN 堆叠相比,残差网络主要带来: - 在更深层数下更容易优化; - 更强的层次化特征抽取能力; - 在构建高层抽象时更好保留低层局部特征。 如果写得更具体,一个残差块可以近似表示为: .. math:: F(x; W) = \mathrm{Conv}_2(\sigma(\mathrm{BN}(\mathrm{Conv}_1(x)))) 当特征维度变化时,shortcut 则变成投影形式: .. math:: y = F(x; W) + W_s x 其中 :math:`W_s` 表示跳连路径上的投影。这样的结构使模型能够在保留 motif 级证据的同时, 逐层叠加更高层上下文抽象。 为什么它对基因组序列建模仍然重要 +++++++++++++++++++++++++++++++++ 对调控 DNA 任务来说,更深的卷积网络在这些场景下仍然有吸引力: - 需要逐层组合 motif; - 需要把局部模式汇聚成更宽范围的序列特征; - 希望继续留在卷积归纳偏置家族中,而不是直接跳到注意力或状态空间形式。 从基因组建模角度看,这天然对应一种层次结构: - 前层负责检测 motif 级别信号; - 中层负责把 motif 组合成局部调控模块; - 深层负责在不抹掉早期证据路径的前提下汇总更大范围上下文。 文档中的定位 +++++++++++++++++++++++++++++ 本页明确把 ResNet 留在当前模型地图里。即便当前主注册表中心仍然是 ``M1-M14``, ResNet 也应该被视为项目预期中的一条正式分支,而不是过时脚注。 计算复杂度与适用范围 +++++++++++++++++++++ - 时间复杂度:单层仍然基本随序列长度线性增长,但由于网络更深,整体常数项明显高于普通 CNN。 - 显存特征:比浅层 CNN 更高,因为更深的残差堆叠需要保留更多中间特征图。 - 适用范围:适合在序列窗口仍可控的情况下,强化从局部 motif 到更高层上下文的层次组合能力。 .. image:: ../img/div.png