1. ResNet为什么改变了深度学习格局
2015年,何凯明团队提出的ResNet在ImageNet竞赛中以152层的深度震惊了整个计算机视觉领域。这个数字不仅远超当时冠军VGG的19层,更打破了"网络越深效果越好"的认知边界。但ResNet的革命性远不止于此——它用简单的数学公式解决了困扰学界多年的梯度消失难题。
想象你正在搭建一个20层的乐高模型。传统网络就像用普通积木块堆叠,每增加一层都可能导致整体结构更不稳定。而ResNet的创新就像在积木块之间添加了固定支架(残差连接),即使堆到100层也能保持稳定。实验数据表明,34层的ResNet在ImageNet上的top-5错误率比18层版本降低了3.5%,这直接验证了残差结构的有效性。
2. 残差连接的核心数学原理
残差块的秘密藏在它的数学表达式中:H(x) = F(x) + x。这个看似简单的公式蕴含着三个关键设计思想:
- 恒等映射:x直接传递到输出,确保最差情况下性能不会退化
- 残差学习:网络只需学习F(x) = H(x) - x的差值,比直接学习H(x)更简单
- 梯度高速公路:反向传播时梯度可以无损通过恒等路径
用PyTorch实现基础残差块只要20行代码:
class BasicBlock(nn.Module):
def __init__(self, in_channels, out_channels, stride=1):
super().__init__()
self.conv1 = nn.Conv2d(in_channels, out_channels, 3, stride, padding=1)
self.bn1 = nn.BatchNorm2d(out_channels)
self.conv2 = nn.Conv2d(out_channels, out_channels, 3

1万+

被折叠的 条评论
为什么被折叠?



