zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python视觉深度学习系列教程 第三卷 第7章 在ImageNet上训练ResNet

Python训练教程学习 系列 深度 视觉 ResNet
2023-09-14 09:01:35 时间

        第三卷 第七章 在ImageNet上训练ResNet

        在本章中,将从头开始实施和训练ResNet架构。ResNet在深度学习的历史上极为重要,因为它引入了残差模块和恒等映射的概念。这些概念使我们能够训练在ImageNet上具有>200层和在CIFAR-10上具有>1,000层的网络——以前认为在成功训练网络时不可能达到的深度。

        我们已经在第二卷的第12章中详细回顾了ResNet架构;但本章仍将简要回顾一下残差模块的当前变化。 并将使用 Python 和 mxnet 库实现 ResNet。 最后,我们将执行许多实验,从头开始在ImageNet上训练 ResNet。

        1、理解ResNet

        ResNet 的基石是残差模块。在他们 2015 年的论文中,残差模块由两个分支组成。第一个是简单的快捷方式,它将输入连接到第二个分支的添加,一系列卷积和激活(图,左)。

        然而,在同一篇论文中,发现瓶颈残差模块表现更好,尤其是在训练更深的网络时。瓶颈是对残差模块的简单扩展。我们仍然有我们的快捷模块,只是现在我们微架构的第二个分支发生了变化。我们现在应用了三个卷积,而不是只应用两个卷积(图,中间)。

        第一个CONV由1*1个过滤器组成,第二个由3*3个过滤器组成,第三个由1*1个过滤器组成。此外,前两个CONV学习的过滤器数量为1/4最终CONV学习的数量 ——这就是“瓶颈”出现的地方。

        最后,在2016年更新的出版物《深度残差网络中的身份映射》中。