ResNet 架构解析与 CIFAR - 10 数据集训练实践
1. ResNet 基础概念
ResNet(残差网络)是深度学习领域的重要架构,其核心在于引入了残差模块,有效解决了深度神经网络训练中的梯度消失和梯度爆炸问题。在构建残差模块时,常使用“瓶颈”(bottleneck)技术。该技术先通过 1x1 卷积减少通道数,再用 3x3 卷积进行特征提取,最后用 1x1 卷积增加通道数,这种结构能在减少计算量的同时保持模型的表达能力。例如,当我们指定 residual_module(K = 128) 时,意味着最终的卷积层将学习 128 个滤波器,而前两个卷积层将学习 128/4 = 32 个滤波器。
在训练 ResNet 时,尤其是对于层数大于 50 的网络,通常使用带有瓶颈的残差模块变体,而非原始版本。
2. 重新思考残差模块
2016 年,He 等人发表了关于残差模块的第二篇论文,对卷积层、激活层和批量归一化层在残差模块内的顺序进行了理论和实证研究。原始的带有瓶颈的残差模块结构为:输入(ReLU 激活图),然后依次经过 (CONV => BN => RELU) * 2 => CONV => BN,最后将输出与原始输入相加并应用最终的 ReLU 激活。
而研究发现,一种更优的层顺序能够获得更高的准确率,即“预激活”(pre - activation)方法。在预激活版本的残差模块中,移除了模块底部的 ReLU,并重新排列批量归一化和激活层,使其位于卷积层之前。具体来说,使用 (BN => RELU => CONV) * 3(假设使用瓶颈结构),残差模块的输出是相加操作的结
超级会员免费看
订阅专栏 解锁全文
15

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



