很久没写过AI相关的东西了,今天继续,今天写下残差网络。
1. 残差网络的背景
神经网络的深度长期以来被认为是提升模型性能的关键因素之一。理论上,网络越深,能够学习到的特征就越复杂、越抽象,模型的表达能力也就越强。然而,在实际应用中,当网络深度达到一定程度后,模型的性能不仅没有提升,反而出现了明显的下降。
ResNet的创新之处在于引入了残差学习的概念。核心思想是:与其让堆叠的非线性层直接拟合目标映射H(x),不如让它们拟合残差函数F(x) = H(x)-x,而原始映射则变为H(x) = F(x)+x。这一看似简单的改变,却解决了深度神经网络训练中的根本性问题。
简单说就是现在拟合是原数据和神经元结果之间的区别
2. 残差网络的结构与实现
2.1. 最简单的残差块结构
残差网络的基本构建单元是残差块(Residual Block)。一个标准的残差块包含两条路径: